/* Proteções globais de layout e componentes interativos */
html{max-width:100%;overflow-x:clip}
body{max-width:100%;overflow-x:hidden}
main,section,header,footer,nav,div,article,form,fieldset,dl{min-width:0}
img,video,svg,canvas{max-width:100%}
button,a,input,select,textarea{max-width:100%}
.assistant-card,.assistant-welcome,.assistant-result,.assistant-booking,#questionArea,.recommendation,.assistant-review,.result-actions,.booking-copy,#bookingForm,.slot-list{width:100%;max-width:100%;box-sizing:border-box}
.assistant-review>div,.booking-form label,.consent{min-width:0}
.assistant-review dd,.recommendation p,.consent span,.form-status,.booking-copy p{overflow-wrap:anywhere}
.result-actions,.assistant-options,.assistant-controls{flex-wrap:wrap}
.result-actions>*{min-width:0}
.slot-list{overflow:visible}
.tech-display,.technology-stage,.case-card,.portrait-copy,.contact-copy{min-width:0}
.floating-booking{max-width:calc(100vw - 24px)}
.admin-page,.admin-page main,.admin-card,.booking-row,.booking-main,.booking-toolbar,.metrics-grid,.funnel{min-width:0;max-width:100%}
.booking-title,.booking-meta,.booking-controls,.analytics-heading,.funnel-title{flex-wrap:wrap}
.booking-title strong,.booking-meta span,.triage-grid dd{overflow-wrap:anywhere}

/* Mantém o título da HelenIA legível em notebooks, tablets e zoom ampliado. */
.helena-intro h2{overflow-wrap:normal;word-break:normal;hyphens:none}

@media(max-width:1100px){
  .helena-panel{grid-template-columns:minmax(0,1fr)}
  .helena-intro{padding:clamp(3rem,8vw,5rem)}
  .helena-intro h2{max-width:18ch;font-size:clamp(3rem,7vw,5rem);line-height:.96}
  .helena-intro h2 br{display:none}
  .assistant-card{justify-self:stretch}
}

@media(max-width:900px){
  .result-actions{align-items:stretch}
  .result-actions>*{width:100%;text-align:left}
  .assistant-review>div{grid-template-columns:minmax(0,1fr)}
  .technology-stage{grid-template-columns:minmax(0,1fr)}
}

@media(max-width:700px){
  .helena-intro{padding:3.5rem 7vw}
  .helena-intro h2{max-width:12ch;font-size:clamp(2.7rem,13vw,3.6rem)}
  .assistant-card{padding-left:clamp(1rem,5vw,1.5rem);padding-right:clamp(1rem,5vw,1.5rem)}
  .assistant-options,.result-actions,.assistant-controls{display:grid;grid-template-columns:minmax(0,1fr);gap:.75rem}
  .assistant-options button,.result-actions button,.result-actions a,.assistant-controls button{width:100%;white-space:normal}
  .assistant-progress{overflow:hidden}
  #bookingForm fieldset{min-inline-size:0}
  .booking-row{width:100%}
  .booking-main{overflow:hidden}
  .booking-toolbar select,.booking-toolbar input{width:100%}
  .triage-details summary{white-space:normal}
  .funnel-row{grid-template-columns:minmax(76px,110px) minmax(0,1fr) 34px}
}

@media(max-width:390px){
  .assistant-card{padding-left:1rem;padding-right:1rem}
  .assistant-review dt,.assistant-review dd{width:100%}
  .floating-booking{right:12px;bottom:12px}
}

/* PR 12 — reposicionamento visual e comercial */
:root{
  --pr12-ink:#241f1b;
  --pr12-cream:#f7f1e8;
  --pr12-paper:#fffdf9;
  --pr12-sand:#e7d8c7;
  --pr12-clay:#b97f63;
  --pr12-line:rgba(36,31,27,.16);
}

.hero-image:after{background:linear-gradient(90deg,rgba(25,21,18,.76) 0%,rgba(25,21,18,.42) 45%,rgba(25,21,18,.08) 78%),linear-gradient(0deg,rgba(25,21,18,.55),transparent 55%)}
.hero-copy .kicker{font-size:0;letter-spacing:.08em;color:#fff}
.hero-copy .kicker:after{content:"Tricologia e terapias capilares";font:600 11px/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase}
.hero h1{max-width:900px}
.hero-lead{max-width:650px}
.hero-actions .primary-link{background:var(--pr12-clay);border-color:var(--pr12-clay)}
.hero-actions .text-link{border-bottom-color:rgba(255,255,255,.7)}
.hero-decision{display:none}

.trust-ribbon{background:var(--pr12-paper);color:var(--pr12-ink);border-bottom:1px solid var(--pr12-line)}
.trust-ribbon>div{border-left-color:var(--pr12-line)}
.trust-ribbon strong{font-size:0;color:var(--pr12-ink)}
.trust-ribbon strong:after{content:"Como funciona seu atendimento";font:400 clamp(1.45rem,2vw,2rem)/1.15 var(--serif)}
.trust-ribbon span{color:#5f5750}
.trust-ribbon b{color:var(--pr12-clay)}

.helena{background:var(--pr12-cream);padding-top:clamp(60px,7vw,110px);padding-bottom:clamp(60px,7vw,110px)}
.helena-panel{background:transparent;box-shadow:none;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:clamp(28px,4vw,64px);align-items:start}
.helena-intro{background:transparent;color:var(--pr12-ink);padding:clamp(16px,3vw,42px) 0}
.helena-intro .overline{font-size:0;color:var(--pr12-clay);letter-spacing:.12em}
.helena-intro .overline:after{content:"Antes da sua avaliação";font:600 10px/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase}
.helena-intro h2{font-size:0!important;color:var(--pr12-ink);line-height:1;max-width:none}
.helena-intro h2:after{content:"Converse antes da sua avaliação.";display:block;font:400 clamp(2.8rem,5vw,5.3rem)/.98 var(--serif);letter-spacing:-.035em}
.helena-intro>p:not(.overline):not(.privacy-note){color:#5d554e;max-width:560px}
.helena-proof{color:#5d554e;border-color:var(--pr12-line)}
.helena-proof span{color:var(--pr12-clay)}
.privacy-note{color:#766d65}
.assistant-card{margin:0;background:var(--pr12-paper);border:1px solid var(--pr12-line);box-shadow:0 24px 70px rgba(68,49,37,.10)}
.assistant-brand>span{background:var(--pr12-clay)}
.assistant-options .primary-link,.assistant-booking .booking-submit,.assistant-booking .booking-whats{background:var(--pr12-clay)}
.assistant-options .choice{border-color:var(--pr12-line);background:transparent}
.assistant-bubble{color:var(--pr12-ink)}
.helena-orbit{display:none}

.journey-grid article:first-child p{font-size:0}
.journey-grid article:first-child p:after{content:"Uma conversa objetiva organiza o que você percebe antes da avaliação.";font:400 1rem/1.65 var(--sans)}

.overline,.kicker,.chapter-label,.assistant-brand small{letter-spacing:.12em}
.topbar{background:rgba(255,253,249,.96);color:var(--pr12-ink)}
.signature strong,.desktop-nav a{color:var(--pr12-ink)}
.signature span{background:var(--pr12-ink)}
.nav-cta{background:var(--pr12-clay)}
.floating-contact,.floating-booking{background:var(--pr12-clay)}

@media(max-width:1100px){
  .helena-panel{grid-template-columns:minmax(0,1fr);gap:0}
  .helena-intro{padding:clamp(42px,7vw,76px) clamp(24px,6vw,64px) 28px}
  .helena-intro h2 br{display:none}
  .assistant-card{margin:0 clamp(20px,5vw,54px) clamp(32px,6vw,64px)}
}

@media(max-width:700px){
  .topbar{background:rgba(255,253,249,.98)}
  .signature strong{color:var(--pr12-ink);text-shadow:none}
  .signature strong small{color:#70675f}
  .menu-toggle span{background:var(--pr12-ink)}
  .hero-copy .kicker:after{font-size:10px;letter-spacing:.11em}
  .hero h1{font-size:clamp(3.2rem,14vw,4.5rem);line-height:.92}
  .hero-lead{font-size:15px;line-height:1.55}
  .trust-ribbon{padding:8px 6vw 18px}
  .trust-ribbon>div{border-top-color:var(--pr12-line)}
  .trust-ribbon strong:after{font-size:1.65rem}
  .helena{padding:0;background:var(--pr12-cream)}
  .helena-panel{display:block}
  .helena-intro{padding:56px 7vw 30px}
  .helena-intro h2:after{font-size:clamp(2.7rem,12vw,4rem);line-height:.98}
  .helena-intro .overline:after{font-size:9px;letter-spacing:.13em}
  .assistant-card{margin:0;background:var(--pr12-paper);border-width:1px 0 0;box-shadow:none}
  .assistant-bubble{font-size:1.45rem;line-height:1.35}
}

/* PR 13 — correção da apresentação dos resultados */
.case-track{gap:clamp(5rem,8vw,9rem)}
.case-card,.case-card.reverse{grid-template-columns:minmax(320px,620px) minmax(280px,1fr);gap:clamp(3rem,7vw,8rem);padding-inline:clamp(2rem,7vw,8rem);align-items:center}
.case-card.reverse{grid-template-columns:minmax(280px,1fr) minmax(320px,620px)}
.case-card figure{height:auto;aspect-ratio:4/5;max-width:620px;width:100%;margin:0 auto;background:#efe8dc;box-shadow:0 28px 70px rgba(0,0,0,.24)}
.case-card figure img{width:100%;height:100%;object-fit:contain;object-position:center;background:#efe8dc;image-rendering:auto}
.case-card figure:after{background:linear-gradient(0deg,rgba(0,0,0,.18),transparent 28%);pointer-events:none}
.case-card figure span{left:1.25rem;bottom:1rem;background:rgba(25,29,25,.72);padding:.45rem .65rem;backdrop-filter:blur(5px)}
.case-card>div{max-width:560px}
.case-card h3{max-width:12ch}
.cases-intro>p:last-child{max-width:42ch}

@media(max-width:980px){
  .case-card,.case-card.reverse{display:grid;grid-template-columns:minmax(0,1fr);padding:0 7vw;gap:2.25rem}
  .case-card.reverse figure,.case-card.reverse>div{grid-column:auto;grid-row:auto}
  .case-card.reverse figure{order:0}
  .case-card.reverse>div{order:1}
  .case-card figure{max-width:620px}
  .case-card>div{max-width:620px;margin:0 auto;width:100%}
}

@media(max-width:700px){
  .cases{padding-bottom:18vw}
  .case-track{gap:4.5rem}
  .case-card,.case-card.reverse{padding:0 5vw;gap:1.75rem}
  .case-card figure{max-width:100%;aspect-ratio:4/5;box-shadow:0 18px 42px rgba(0,0,0,.22)}
  .case-card h3{font-size:clamp(2.3rem,11vw,3.4rem);max-width:none}
  .case-card>div>p:last-child{font-size:14px;line-height:1.65}
}
