/* Violeta Elétrico — site estático 2026 */
:root{
 --bg:#0e0a14;--bg2:#171020;--card:#1d1428;--paper:#fffaf3;--ink:#17131d;--muted:#a99fb3;
 --violet:#7400a8;--violet2:#9b11c6;--pink:#e330cc;--accent:#f052d8;--line:rgba(255,255,255,.12);
 --max:1180px;--radius:24px;--shadow:0 24px 70px rgba(0,0,0,.28);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}a{color:inherit}.shell{width:min(var(--max),calc(100% - 40px));margin-inline:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;z-index:999;background:#fff;color:#111;padding:10px 14px;border-radius:8px}
.site-header{position:sticky;top:0;z-index:40;background:rgba(14,10,20,.87);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.header-inner{height:78px;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;text-decoration:none;flex:0 0 auto}.brand img{width:176px;height:auto}.nav{display:flex;align-items:center;gap:20px;margin-left:auto}.nav a{text-decoration:none;font-size:.88rem;font-weight:750;color:#ded5e6;white-space:nowrap}.nav a:hover,.nav a[aria-current="page"]{color:#fff}.header-cta{margin-left:6px;flex:0 0 auto;white-space:nowrap;min-width:max-content}.menu-btn{display:none;margin-left:auto;background:none;border:1px solid var(--line);color:white;border-radius:10px;padding:9px 11px;font-size:1.2rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;border:0;border-radius:999px;padding:13px 20px;font-weight:850;letter-spacing:.01em;transition:transform .18s ease,filter .18s ease,background .18s ease}.button:hover{transform:translateY(-1px);filter:brightness(1.07)}.button-primary{background:linear-gradient(100deg,var(--violet2),var(--pink));color:#fff}.button-secondary{border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.06);color:#fff}.button-dark{background:#17131d;color:#fff}.eyebrow{font-size:.78rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase;color:#f1a5ea;margin:0 0 15px}.hero{position:relative;min-height:680px;display:grid;align-items:end;overflow:hidden}.hero-media{position:absolute;inset:0}.hero-media picture,.hero-media img{width:100%;height:100%}.hero-media img{object-fit:cover;object-position:center 34%}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,6,16,.94) 0%,rgba(10,6,16,.77) 42%,rgba(10,6,16,.20) 73%,rgba(10,6,16,.28) 100%),linear-gradient(0deg,#0e0a14 0%,transparent 34%)}.hero-content{position:relative;z-index:2;padding:120px 0 92px;max-width:720px}.hero h1,.page-hero h1{font-size:clamp(3rem,6.4vw,6.1rem);line-height:.93;letter-spacing:-.055em;margin:0 0 22px;font-weight:950}.hero h1 em,.page-hero h1 em{font-style:normal;background:linear-gradient(100deg,#ff6fe8,#9f35e2);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-lead,.page-hero p{font-size:clamp(1.05rem,1.7vw,1.35rem);color:#e9e0ed;max-width:660px;margin:0 0 30px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.micro{margin-top:14px;color:#bcb0c5;font-size:.9rem}.section{padding:88px 0}.section-light{background:var(--paper);color:var(--ink)}.section-deep{background:var(--bg2)}.section-title{max-width:760px;margin-bottom:38px}.section-title h2{font-size:clamp(2.15rem,4vw,4rem);line-height:1;letter-spacing:-.045em;margin:0 0 16px}.section-title p{font-size:1.08rem;color:#b9aec2;margin:0}.section-light .section-title p{color:#665e6d}.grid{display:grid;gap:20px}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}.card{background:linear-gradient(180deg,#21172d,#181020);border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:0 1px 0 rgba(255,255,255,.03) inset}.section-light .card{background:#fff;border-color:#eadfeb;box-shadow:0 12px 34px rgba(83,42,98,.08)}.card .num{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgba(226,48,204,.13);color:#f47be4;font-weight:900;margin-bottom:26px}.section-light .card .num{color:#7c109d;background:#f5e6f7}.card h3{font-size:1.35rem;line-height:1.12;margin:0 0 10px}.card p{color:#b8aec0;margin:0}.section-light .card p{color:#6d6571}.card-link{display:flex;flex-direction:column;min-height:245px;text-decoration:none}.card-link .arrow{margin-top:auto;padding-top:24px;font-weight:900;color:#f578e5}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:20px;overflow:hidden}.stat{background:#16101e;padding:30px 22px}.stat strong{display:block;font-size:2rem;line-height:1;color:#fff}.stat span{display:block;color:#b8aec0;font-size:.82rem;margin-top:8px;font-weight:750;text-transform:uppercase;letter-spacing:.08em}.split{display:grid;grid-template-columns:1.1fr .9fr;gap:52px;align-items:center}.photo{position:relative;border-radius:30px;overflow:hidden;box-shadow:var(--shadow);min-height:430px}.photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.photo:after{content:"";position:absolute;inset:auto 0 0 0;height:35%;background:linear-gradient(transparent,rgba(0,0,0,.42))}.tag{display:inline-flex;border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:7px 11px;font-size:.77rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:#d9ccdf}.section-light .tag{color:#6e2c7f;border-color:#dfcce3;background:#faf2fb}.copy h2{font-size:clamp(2.2rem,4.2vw,4.4rem);line-height:.98;letter-spacing:-.05em;margin:14px 0 18px}.copy p{color:#b8aec0;font-size:1.05rem}.section-light .copy p{color:#665e6d}.checklist{list-style:none;padding:0;margin:24px 0 30px;display:grid;gap:12px}.checklist li{position:relative;padding-left:29px}.checklist li:before{content:"✓";position:absolute;left:0;color:#ee62db;font-weight:950}.quote{border-left:3px solid var(--pink);padding-left:20px;color:#e6dce9;font-size:1.1rem}.cta-band{padding:40px;border-radius:30px;background:linear-gradient(125deg,#5c087e,#9c0ab8 52%,#dc2bc6);display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;box-shadow:var(--shadow)}.cta-band h2{font-size:clamp(2rem,3.5vw,3.8rem);line-height:1;margin:0 0 10px;letter-spacing:-.04em}.cta-band p{margin:0;color:#f6def3;max-width:720px}.page-hero{padding:120px 0 70px;background:radial-gradient(circle at 78% 28%,rgba(211,36,202,.23),transparent 28%),radial-gradient(circle at 15% 80%,rgba(115,0,168,.26),transparent 34%),var(--bg)}.page-hero .shell{max-width:1180px}.page-hero .inner{max-width:850px}.breadcrumbs{font-size:.82rem;color:#a99fb3;margin-bottom:20px}.breadcrumbs a{text-decoration:none}.pill-row{display:flex;flex-wrap:wrap;gap:9px;margin:26px 0}.pill{border:1px solid var(--line);border-radius:999px;padding:8px 12px;color:#d8cddd;font-size:.85rem}.feature-list{display:grid;gap:1px;background:#eadfeb;border:1px solid #eadfeb;border-radius:22px;overflow:hidden}.feature{background:#fff;padding:24px}.feature strong{display:block;margin-bottom:5px}.feature p{margin:0;color:#6e6573}.aside{padding:30px;border-radius:25px;background:#1b1225;border:1px solid var(--line)}.aside h3{margin-top:0}.aside p{color:#b8aec0}.logo-panel{background:#fff;border-radius:26px;padding:36px;display:grid;place-items:center}.logo-panel img{max-width:360px}.contact-cards{display:grid;grid-template-columns:1.35fr .65fr;gap:20px}.contact-main{padding:42px;border-radius:28px;background:linear-gradient(145deg,#2b1237,#160f1e);border:1px solid var(--line)}.contact-main h2{font-size:clamp(2.3rem,4vw,4rem);line-height:1;margin:10px 0 16px}.contact-main p{color:#c2b6c8;max-width:700px}.contact-side{padding:32px;border-radius:28px;background:#fff;color:#201824}.contact-side strong{display:block;margin-bottom:8px}.contact-side p{color:#6b6170}.footer{border-top:1px solid var(--line);background:#09060d;padding:54px 0 24px}.footer-grid{display:grid;grid-template-columns:1.35fr .8fr .8fr;gap:42px}.footer-logo{width:190px;margin-bottom:16px}.footer p,.footer a{color:#aca0b4;font-size:.9rem}.footer a{text-decoration:none}.footer h4{margin:0 0 12px}.footer-links{display:grid;gap:9px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:36px;padding-top:20px;color:#85798f;font-size:.8rem}.cookie-banner{position:fixed;z-index:90;left:20px;right:20px;bottom:20px;max-width:860px;margin:auto;background:#fff;color:#1f1823;border-radius:20px;padding:18px;box-shadow:0 22px 70px rgba(0,0,0,.5);display:none;grid-template-columns:1fr auto;gap:18px;align-items:center}.cookie-banner.is-open{display:grid}.cookie-banner p{margin:0;font-size:.88rem;color:#5e5662}.cookie-actions{display:flex;gap:8px}.cookie-actions button{border:0;border-radius:999px;padding:10px 14px;font-weight:800;cursor:pointer}.cookie-accept{background:#7100a1;color:#fff}.cookie-decline{background:#eee8f0;color:#28212c}.cookie-link{background:none;border:0;color:#bbaec5;padding:0;cursor:pointer;text-decoration:underline;font:inherit}.legal{max-width:850px}.legal h2{margin-top:42px}.legal p,.legal li{color:#d0c4d5}.legal a{color:#f486e6}.notfound{min-height:70vh;display:grid;place-items:center;text-align:center}.notfound h1{font-size:clamp(4rem,12vw,10rem);margin:0;line-height:.8;color:#ef63df}.notfound p{color:#bbb0c3}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1280px){.nav{display:none}.header-cta{margin-left:auto}.menu-btn{display:inline-flex}.nav.is-open{display:flex;position:absolute;top:78px;left:0;right:0;flex-direction:column;align-items:stretch;background:#110b18;padding:20px;border-bottom:1px solid var(--line);gap:0}.nav.is-open a{padding:12px 20px;border-bottom:1px solid rgba(255,255,255,.06)}.grid-4{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:760px){.shell{width:min(100% - 28px,var(--max))}.header-inner{height:70px}.brand img{width:144px}.header-cta{display:none}.nav.is-open{top:70px}.hero{min-height:660px}.hero-media img{object-position:62% 35%}.hero-media:after{background:linear-gradient(0deg,rgba(10,6,16,.98) 0%,rgba(10,6,16,.80) 52%,rgba(10,6,16,.28) 100%)}.hero-content{padding:260px 0 70px}.hero h1,.page-hero h1{font-size:clamp(2.75rem,14vw,4.4rem)}.section{padding:66px 0}.grid-3,.grid-2,.split,.contact-cards{grid-template-columns:1fr}.grid-4{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.photo{min-height:360px;order:-1}.cta-band{grid-template-columns:1fr;padding:28px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{flex-direction:column}.cookie-banner{grid-template-columns:1fr;left:10px;right:10px;bottom:10px}.cookie-actions{flex-wrap:wrap}.page-hero{padding:95px 0 56px}}
@media(max-width:420px){.stats{grid-template-columns:1fr}.hero-actions .button{width:100%}.contact-main{padding:28px}.page-hero h1,.hero h1{letter-spacing:-.04em}.button{padding:12px 17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
/* Ajustes de homologação v2 */
.section-title-wide{max-width:1100px}
.section-title h2.headline-inline{font-size:clamp(2.15rem,3.25vw,3.35rem);white-space:nowrap}
.section-title h2.headline-inline em{font-style:normal;color:#e755dc}
.cta-band h2.cta-title-inline{font-size:clamp(2rem,2.75vw,3.15rem);white-space:nowrap}
.photo-wedding img{object-position:center 48%}
.photo-corporate img{object-position:center 48%}
@media(max-width:900px){
.section-title h2.headline-inline,.cta-band h2.cta-title-inline{white-space:normal}
}
/* Ajustes de homologação v3 */
.contact-main h2{color:#fff}
.contact-main .eyebrow{color:#f1a5ea}
.contact-national{font-weight:750;color:#4f4654}
.footer-location{display:inline-block;margin-top:7px;color:#c3b6ca}
.studio-gallery{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.studio-photo{margin:0;border-radius:28px;overflow:hidden;background:#17101e;border:1px solid rgba(255,255,255,.09);box-shadow:var(--shadow)}
.studio-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center}
.studio-photo:first-child img{object-position:center 52%}
.studio-photo:nth-child(2) img{object-position:center 48%}
.studio-photo figcaption{padding:15px 18px 17px;color:#c7bacd;font-size:.9rem}
.photo-band img{object-position:center 42%}
@media(max-width:760px){
  .studio-gallery{grid-template-columns:1fr}
  .studio-photo img{aspect-ratio:4/3}
}
/* Ajustes de homologação v4 */
.contact-main h2.contact-main-title{
  max-width:980px;
  font-size:clamp(2.7rem,5vw,5.6rem);
  line-height:.98;
  letter-spacing:-.045em;
}
.section-title h2.proposal-info-title{
  max-width:none;
  white-space:nowrap;
  font-size:clamp(2.1rem,3.3vw,3.8rem);
}
@media(max-width:900px){
  .section-title h2.proposal-info-title{white-space:normal}
}
/* Ajustes de homologação v5 */
.booking-band{position:relative}
.official-stamp{
  display:inline-block;
  margin:0 0 18px 4px;
  padding:9px 14px 8px;
  border:2px solid rgba(255,255,255,.9);
  border-radius:7px;
  color:#fff;
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.12em;
  line-height:1;
  text-transform:uppercase;
  transform:rotate(-2.5deg);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);
  opacity:.94;
}
@media(max-width:760px){
  .official-stamp{font-size:.66rem;margin-bottom:15px}
}
/* Eventos públicos — frente estratégica */
.public-service-card{
  grid-column:1/-1;
  min-height:0;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:22px;
  background:linear-gradient(110deg,#2a1538,#42134f 55%,#28122f);
}
.public-service-card .num{margin-bottom:0}
.public-service-card .arrow{margin-top:0;padding-top:0;white-space:nowrap}
.public-service-card h3{margin-bottom:6px}
.public-event-photo img{object-position:center 38%}
@media(max-width:760px){
  .public-service-card{grid-template-columns:1fr;gap:12px}
  .public-service-card .num{margin-bottom:8px}
  .public-service-card .arrow{padding-top:8px}
}
/* Ajustes de homologação v7 */
.public-calendar-section{background:linear-gradient(180deg,#120b19,#0e0a14)}
.public-calendar-title{max-width:880px}
.public-calendar-pills{max-width:980px}
.public-calendar-grid .card{min-height:220px}
.site-header .header-cta{line-height:1;justify-self:end}
@media(min-width:1281px){
  .site-header .nav{gap:16px}
  .site-header .nav a{font-size:.84rem}
  .site-header .header-inner{gap:18px}
  .site-header .header-cta{padding-inline:18px;font-size:.9rem}
}


/* =========================
   Mobile refinements v8
   ========================= */
html, body{max-width:100%}
body{overflow-x:clip}
img,video,iframe,svg{max-width:100%}
.shell,.header-inner,.footer-grid,.footer-bottom,.grid,.split,.card,.photo,.cta-band,.section-title,.copy{min-width:0}
.mobile-visual-proof{display:none}

@media(max-width:760px){
  html,body{width:100%;max-width:100%;overflow-x:clip}
  *{min-width:0}
  .shell{width:100%;max-width:100%;padding-left:18px;padding-right:18px}
  h1,h2,h3,p,a,button,span{overflow-wrap:anywhere}
  .headline-inline,.cta-title-inline,.proposal-info-title{white-space:normal!important;max-width:100%!important}
  .button,.header-cta{max-width:100%;white-space:normal}
  .hero{min-height:auto}
  .hero::before{background-position:62% center}

  .mobile-visual-proof{display:block;padding:18px 0 8px;background:#0e0a14}
  .mobile-visual-proof-frame{
    margin:0;border-radius:24px;overflow:hidden;
    box-shadow:0 18px 50px rgba(0,0,0,.28);background:#17101e
  }
  .mobile-visual-proof-frame img{
    display:block;width:100%;height:auto;aspect-ratio:4/3;
    object-fit:cover;object-position:center 42%
  }

  .grid,.grid-3,.grid-4,.studio-gallery,.split{
    grid-template-columns:1fr!important;width:100%;max-width:100%
  }
  .card,.photo,.studio-photo,.cta-band,.public-service-card{width:100%;max-width:100%}

  .footer-grid{text-align:center}
  .footer-grid>div:first-child{display:flex;flex-direction:column;align-items:center}
  .footer-logo{display:block;margin-left:auto;margin-right:auto;max-width:260px;width:100%;height:auto}
  .footer-grid>div:first-child p{text-align:center;max-width:320px;margin-left:auto;margin-right:auto}
  .footer-location{display:block;text-align:center}
  .footer-bottom{flex-direction:column;align-items:center;text-align:center;gap:8px}

  .pill-row{max-width:100%}
  .pill{max-width:100%;white-space:normal}
  .official-stamp{max-width:100%}
}


/* =========================
   V9 — Hero mobile refinado
   ========================= */

/* Mobile real: corta a parte superior da foto e sobe a mensagem */
@media (max-width:760px){

  /* O picture fica maior que o hero e ancorado embaixo:
     isso recorta o céu em vez de apenas reposicionar a mesma imagem. */
  .hero-media picture{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:120%;
    overflow:hidden;
  }

  .hero-media picture img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:62% 100%;
  }

  /* Menos espaço vazio antes da mensagem */
  .hero-content{
    padding-top:150px;
    padding-bottom:54px;
  }

  /* Evita a quebra artificial "EXPERIÊNCIA / S." */
  .hero h1{
    font-size:clamp(2.2rem,11vw,3.35rem);
    line-height:.95;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
  }

  .hero h1 em{
    overflow-wrap:normal;
    word-break:normal;
  }

  .hero .eyebrow{
    margin-bottom:12px;
  }

  .hero-lead{
    margin-bottom:24px;
  }
}

/* Telefones estreitos: compactação adicional sem sacrificar leitura */
@media (max-width:420px){
  .hero-content{
    padding-top:128px;
    padding-bottom:46px;
  }

  .hero h1{
    font-size:clamp(2.15rem,10.8vw,2.9rem);
  }

  .hero-media picture{
    height:124%;
  }
}


/* =========================
   V10 — mensagem do hero acima do rosto
   ========================= */

.hero-message{
  position:relative;
}

/* Só telefones estreitos: sobe a mensagem principal sem mover CTA/parágrafo */
@media (max-width:425px){
  .hero-message{
    transform:translateY(-92px);
    margin-bottom:-92px;
  }

  /* Devolve uma área limpa entre o título e o parágrafo,
     deixando o rosto do Thai sem tipografia sobreposta. */
  .hero-lead{
    margin-top:118px;
  }
}

/* 320 px precisa de um ajuste um pouco menor para manter equilíbrio */
@media (max-width:340px){
  .hero-message{
    transform:translateY(-78px);
    margin-bottom:-78px;
  }

  .hero-lead{
    margin-top:102px;
  }

  .hero h1{
    font-size:2.12rem;
  }
}


/* =========================
   V11 — Hero mobile sem texto sobre o rosto
   ========================= */

/* Telefones: separa mensagem, foto e conversão em blocos próprios */
@media (max-width:425px){

  .hero{
    display:grid;
    grid-template-columns:1fr;
    align-items:stretch;
    min-height:0;
    background:#0e0a14;
    overflow:hidden;
  }

  /* O container vira estruturalmente transparente para que seus filhos
     possam ocupar linhas próprias do grid do hero. */
  .hero-content{
    display:contents;
  }

  /* Mensagem principal em fundo sólido: contraste sempre garantido */
  .hero-message{
    grid-row:1;
    transform:none!important;
    margin:0!important;
    padding:28px 18px 24px;
    background:#0e0a14;
    position:relative;
    z-index:3;
  }

  .hero-message .eyebrow{
    margin:0 0 12px;
    font-size:.78rem;
    line-height:1.35;
  }

  .hero-message h1{
    margin:0;
    font-size:clamp(2.25rem,11.4vw,2.8rem);
    line-height:.95;
    letter-spacing:-.045em;
    max-width:100%;
  }

  /* A foto vira um bloco limpo: nenhuma tipografia sobre o Thai */
  .hero-media{
    position:relative;
    inset:auto;
    grid-row:2;
    height:430px;
    width:100%;
    overflow:hidden;
  }

  .hero-media picture{
    position:absolute!important;
    inset:0!important;
    height:100%!important;
    width:100%!important;
    overflow:hidden;
  }

  .hero-media picture img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:62% 42%!important;
  }

  /* Sem escurecimento lateral, pois agora a foto não carrega texto.
     Só um degradê inferior para transição suave ao bloco seguinte. */
  .hero-media:after{
    background:linear-gradient(
      0deg,
      #0e0a14 0%,
      rgba(14,10,20,.72) 12%,
      rgba(14,10,20,.12) 34%,
      transparent 52%
    )!important;
  }

  .hero-lead{
    grid-row:3;
    margin:0!important;
    padding:26px 18px 0;
    max-width:none;
    background:#0e0a14;
  }

  .hero-actions{
    grid-row:4;
    padding:24px 18px 0;
    background:#0e0a14;
  }

  .hero-actions .button{
    width:100%;
    justify-content:center;
  }

  .micro{
    grid-row:5;
    margin:0!important;
    padding:18px 18px 38px;
    background:#0e0a14;
  }
}

/* 320 px: mantém a chamada forte sem apertar */
@media (max-width:340px){
  .hero-message{
    padding-top:24px;
    padding-bottom:20px;
  }

  .hero-message h1{
    font-size:2.12rem;
  }

  .hero-media{
    height:390px;
  }
}

/* V12 — regra definitiva de composição do hero */
@media (max-width:899px){
  .hero{display:grid;grid-template-columns:1fr;align-items:stretch;min-height:0;background:#0e0a14;overflow:hidden}
  .hero-content{display:contents}
  .hero-message{grid-row:1;transform:none!important;margin:0!important;padding:34px 22px 28px;background:#0e0a14;position:relative;z-index:3}
  .hero-message .eyebrow{margin:0 0 14px}
  .hero-message h1{margin:0;max-width:760px;line-height:.95;overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important}
  .hero-media{position:relative!important;inset:auto!important;grid-row:2;width:100%;height:clamp(390px,58vw,560px);overflow:hidden}
  .hero-media picture{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;overflow:hidden}
  .hero-media picture img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:62% 42%!important}
  .hero-media:after{background:linear-gradient(0deg,#0e0a14 0%,rgba(14,10,20,.68) 10%,rgba(14,10,20,.10) 28%,transparent 44%)!important}
  .hero-lead{grid-row:3;margin:0!important;padding:30px 22px 0;max-width:760px;background:#0e0a14}
  .hero-actions{grid-row:4;padding:24px 22px 0;background:#0e0a14}
  .micro{grid-row:5;margin:0!important;padding:18px 22px 40px;background:#0e0a14}
}
@media (max-width:425px){
  .hero-message{padding:28px 18px 24px}
  .hero-lead{padding:26px 18px 0}
  .hero-actions{padding:24px 18px 0}
  .micro{padding:18px 18px 38px}
  .hero-media{height:430px}
  .hero-message h1{font-size:clamp(2.25rem,11.4vw,2.8rem)}
  .hero-actions .button{width:100%;justify-content:center}
}
@media (max-width:340px){
  .hero-message h1{font-size:2.12rem}
  .hero-media{height:390px}
}
@media (min-width:900px){
  .hero-content{max-width:100%}
  .hero-message,.hero-lead,.hero-actions,.micro{max-width:58%}
  .hero-message h1{max-width:100%}
  .hero-media picture img{object-position:68% center}
}


/* =========================
   V13 — texto invade a foto, nunca o rosto
   ========================= */

/* CELULAR + TABLET: headline sobre a zona superior segura da foto */
@media (max-width:899px){

  .hero{
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows:auto auto auto auto;
    min-height:0;
    background:#0e0a14;
    overflow:hidden;
  }

  .hero-content{
    display:contents;
  }

  /* Foto e headline ocupam a mesma linha do grid */
  .hero-media{
    grid-row:1;
    grid-column:1;
    position:relative!important;
    inset:auto!important;
    width:100%;
    height:clamp(470px,72vw,620px);
    overflow:hidden;
    z-index:1;
  }

  .hero-media picture{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    overflow:hidden;
  }

  .hero-media picture img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:64% 44%!important;
  }

  /* Gradiente escurece somente onde a mensagem ocupa a foto */
  .hero-media:after{
    content:"";
    position:absolute;
    inset:0;
    background:
      linear-gradient(180deg,
        rgba(14,10,20,.84) 0%,
        rgba(14,10,20,.74) 18%,
        rgba(14,10,20,.38) 38%,
        rgba(14,10,20,.08) 58%,
        rgba(14,10,20,0) 72%),
      linear-gradient(90deg,
        rgba(14,10,20,.58) 0%,
        rgba(14,10,20,.22) 56%,
        rgba(14,10,20,0) 82%);
    pointer-events:none;
    z-index:1;
  }

  .hero-message{
    grid-row:1;
    grid-column:1;
    align-self:start;
    justify-self:start;
    position:relative;
    z-index:3;
    transform:none!important;
    margin:0!important;
    padding:30px 22px 0;
    width:min(72%, 560px);
    max-width:560px;
    background:transparent!important;
  }

  .hero-message .eyebrow{
    margin:0 0 12px;
  }

  .hero-message h1{
    margin:0;
    line-height:.95;
    max-width:100%;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
  }

  /* Conversão fica abaixo da foto: não disputa espaço com o rosto */
  .hero-lead{
    grid-row:2;
    grid-column:1;
    margin:0!important;
    padding:28px 22px 0;
    max-width:760px;
    background:#0e0a14!important;
    position:relative;
    z-index:3;
  }

  .hero-actions{
    grid-row:3;
    grid-column:1;
    padding:24px 22px 0;
    background:#0e0a14!important;
    position:relative;
    z-index:3;
  }

  .micro{
    grid-row:4;
    grid-column:1;
    margin:0!important;
    padding:18px 22px 40px;
    background:#0e0a14!important;
    position:relative;
    z-index:3;
  }
}

/* Telefones */
@media (max-width:425px){

  .hero-media{
    height:500px;
  }

  .hero-message{
    width:88%;
    padding:24px 18px 0;
  }

  .hero-message h1{
    font-size:clamp(2.2rem,11.2vw,2.8rem);
  }

  .hero-lead{
    padding:26px 18px 0;
  }

  .hero-actions{
    padding:24px 18px 0;
  }

  .hero-actions .button{
    width:100%;
    justify-content:center;
  }

  .micro{
    padding:18px 18px 38px;
  }

  .hero-media picture img{
    object-position:68% 46%!important;
  }
}

@media (max-width:340px){

  .hero-media{
    height:465px;
  }

  .hero-message{
    width:92%;
  }

  .hero-message h1{
    font-size:2.08rem;
  }

  .hero-media picture img{
    object-position:70% 46%!important;
  }
}

/* TABLET: headline ocupa apenas o quadrante superior esquerdo */
@media (min-width:426px) and (max-width:899px){

  .hero-message{
    width:58%;
    padding-top:34px;
  }

  .hero-message h1{
    font-size:clamp(2.8rem,6.4vw,4.35rem);
  }

  .hero-media picture img{
    object-position:66% 45%!important;
  }
}

/* DESKTOP: texto sobre a foto, preso à faixa esquerda */
@media (min-width:900px){

  .hero-content{
    max-width:100%;
  }

  .hero-message{
    max-width:46%;
  }

  .hero-lead,
  .hero-actions,
  .micro{
    max-width:48%;
  }

  .hero-message h1{
    max-width:100%;
  }

  .hero-media picture img{
    object-position:72% center!important;
  }

  .hero-media:after{
    background:
      linear-gradient(90deg,
        rgba(14,10,20,.86) 0%,
        rgba(14,10,20,.72) 28%,
        rgba(14,10,20,.36) 48%,
        rgba(14,10,20,.08) 62%,
        rgba(14,10,20,0) 74%),
      linear-gradient(0deg,
        rgba(14,10,20,.72) 0%,
        rgba(14,10,20,.18) 35%,
        rgba(14,10,20,0) 58%)!important;
  }
}

/* Regra permanente: nenhuma faixa do hero pode criar overflow lateral */
.hero,
.hero-media,
.hero-message,
.hero-lead,
.hero-actions,
.micro{
  min-width:0;
  max-width:100%;
}


/* =========================================================
   V14 — ZONA SEGURA DO ROSTO + CONTRASTE PRIORITÁRIO
   ========================================================= */

/* Regra comum */
.hero{
  overflow:hidden;
}
.hero-message{
  z-index:4;
}
.hero-message h1{
  text-shadow:0 2px 14px rgba(0,0,0,.28);
}

/* -------------------------
   320–425 px
   ------------------------- */
@media (max-width:425px){

  .hero{
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows:auto auto auto auto;
    min-height:0;
    background:#0e0a14;
  }

  .hero-content{display:contents}

  .hero-media{
    grid-row:1;
    grid-column:1;
    position:relative!important;
    inset:auto!important;
    height:520px!important;
    width:100%;
    overflow:hidden;
    z-index:1;
  }

  .hero-media picture{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
  }

  .hero-media picture img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:78% 58%!important;
  }

  /* Faixa escura concentrada no topo/esquerda.
     A área abaixo fica visualmente livre para o rosto. */
  .hero-media:after{
    content:"";
    position:absolute;
    inset:0;
    z-index:2;
    pointer-events:none;
    background:
      linear-gradient(180deg,
        rgba(8,5,12,.94) 0%,
        rgba(8,5,12,.90) 18%,
        rgba(8,5,12,.74) 31%,
        rgba(8,5,12,.32) 42%,
        rgba(8,5,12,.06) 52%,
        rgba(8,5,12,0) 61%),
      linear-gradient(90deg,
        rgba(8,5,12,.78) 0%,
        rgba(8,5,12,.42) 52%,
        rgba(8,5,12,.08) 74%,
        rgba(8,5,12,0) 88%)!important;
  }

  .hero-message{
    grid-row:1;
    grid-column:1;
    align-self:start;
    position:relative;
    z-index:4;
    width:76%!important;
    max-width:290px!important;
    margin:0!important;
    padding:24px 18px 0!important;
    background:transparent!important;
    transform:none!important;
  }

  .hero-message .eyebrow{
    margin:0 0 12px!important;
    font-size:.72rem!important;
    line-height:1.32!important;
    max-width:250px;
  }

  .hero-message h1{
    margin:0!important;
    font-size:clamp(1.95rem,9.6vw,2.45rem)!important;
    line-height:.94!important;
    letter-spacing:-.045em;
    max-width:270px!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
  }

  .hero-lead{
    grid-row:2;
    grid-column:1;
    margin:0!important;
    padding:28px 18px 0!important;
    background:#0e0a14!important;
    max-width:none!important;
  }

  .hero-actions{
    grid-row:3;
    grid-column:1;
    padding:24px 18px 0!important;
    background:#0e0a14!important;
  }

  .hero-actions .button{
    width:100%;
    justify-content:center;
  }

  .micro{
    grid-row:4;
    grid-column:1;
    margin:0!important;
    padding:18px 18px 38px!important;
    background:#0e0a14!important;
  }
}

/* 320 px */
@media (max-width:340px){
  .hero-media{
    height:500px!important;
  }

  .hero-message{
    width:78%!important;
    max-width:250px!important;
  }

  .hero-message h1{
    font-size:1.88rem!important;
    max-width:238px!important;
  }

  .hero-media picture img{
    object-position:82% 60%!important;
  }
}

/* -------------------------
   426–899 px
   ------------------------- */
@media (min-width:426px) and (max-width:899px){

  .hero{
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows:auto auto auto auto;
    min-height:0;
    background:#0e0a14;
  }

  .hero-content{display:contents}

  .hero-media{
    grid-row:1;
    grid-column:1;
    position:relative!important;
    inset:auto!important;
    height:clamp(520px,68vw,620px)!important;
    overflow:hidden;
    z-index:1;
  }

  .hero-media picture{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
  }

  .hero-media picture img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:76% 54%!important;
  }

  .hero-media:after{
    content:"";
    position:absolute;
    inset:0;
    z-index:2;
    pointer-events:none;
    background:
      linear-gradient(180deg,
        rgba(8,5,12,.90) 0%,
        rgba(8,5,12,.82) 18%,
        rgba(8,5,12,.58) 33%,
        rgba(8,5,12,.18) 47%,
        rgba(8,5,12,0) 60%),
      linear-gradient(90deg,
        rgba(8,5,12,.80) 0%,
        rgba(8,5,12,.46) 42%,
        rgba(8,5,12,.12) 62%,
        rgba(8,5,12,0) 76%)!important;
  }

  .hero-message{
    grid-row:1;
    grid-column:1;
    align-self:start;
    position:relative;
    z-index:4;
    width:48%!important;
    max-width:390px!important;
    margin:0!important;
    padding:34px 28px 0!important;
    background:transparent!important;
    transform:none!important;
  }

  .hero-message .eyebrow{
    margin:0 0 14px!important;
    max-width:340px;
  }

  .hero-message h1{
    margin:0!important;
    font-size:clamp(2.6rem,5.9vw,3.9rem)!important;
    line-height:.94!important;
    max-width:380px!important;
  }

  .hero-lead{
    grid-row:2;
    grid-column:1;
    margin:0!important;
    padding:30px 28px 0!important;
    background:#0e0a14!important;
    max-width:780px!important;
  }

  .hero-actions{
    grid-row:3;
    grid-column:1;
    padding:24px 28px 0!important;
    background:#0e0a14!important;
  }

  .micro{
    grid-row:4;
    grid-column:1;
    margin:0!important;
    padding:18px 28px 40px!important;
    background:#0e0a14!important;
  }
}

/* -------------------------
   900–1279 px
   ------------------------- */
@media (min-width:900px) and (max-width:1279px){

  .hero-message{
    max-width:39%!important;
  }

  .hero-lead,
  .hero-actions,
  .micro{
    max-width:43%!important;
  }

  .hero-message h1{
    max-width:100%!important;
    font-size:clamp(3.3rem,5.1vw,4.6rem)!important;
    line-height:.94!important;
  }

  .hero-media picture img{
    object-position:82% center!important;
  }

  .hero-media:after{
    background:
      linear-gradient(90deg,
        rgba(8,5,12,.94) 0%,
        rgba(8,5,12,.86) 24%,
        rgba(8,5,12,.56) 38%,
        rgba(8,5,12,.18) 49%,
        rgba(8,5,12,0) 58%),
      linear-gradient(0deg,
        rgba(8,5,12,.68) 0%,
        rgba(8,5,12,.16) 34%,
        rgba(8,5,12,0) 55%)!important;
  }
}

/* -------------------------
   1280 px+
   ------------------------- */
@media (min-width:1280px){

  .hero-message{
    max-width:42%!important;
  }

  .hero-lead,
  .hero-actions,
  .micro{
    max-width:44%!important;
  }

  .hero-message h1{
    max-width:100%!important;
  }

  .hero-media picture img{
    object-position:84% center!important;
  }

  .hero-media:after{
    background:
      linear-gradient(90deg,
        rgba(8,5,12,.94) 0%,
        rgba(8,5,12,.86) 26%,
        rgba(8,5,12,.56) 40%,
        rgba(8,5,12,.16) 50%,
        rgba(8,5,12,0) 60%),
      linear-gradient(0deg,
        rgba(8,5,12,.66) 0%,
        rgba(8,5,12,.14) 34%,
        rgba(8,5,12,0) 56%)!important;
  }
}

/* Segurança contra overflow */
.hero,
.hero-media,
.hero-message,
.hero-lead,
.hero-actions,
.micro{
  min-width:0!important;
  max-width:100%;
}

/* V15 — coluna segura fixa */
.hero{overflow:hidden}
.hero-message{z-index:4;min-width:0!important}
.hero-message h1{text-shadow:0 2px 12px rgba(0,0,0,.45);overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important}

@media(max-width:899px){
  .hero{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto auto auto;min-height:0;background:#0e0a14}
  .hero-content{display:contents}
  .hero-media{grid-row:1;grid-column:1;position:relative!important;inset:auto!important;width:100%;height:clamp(500px,76vw,640px)!important;overflow:hidden;z-index:1}
  .hero-media picture{position:absolute!important;inset:0!important;width:100%!important;height:100%!important}
  .hero-media picture img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:68% 50%!important}
  .hero-media:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:
    linear-gradient(90deg,rgba(8,5,12,.96) 0%,rgba(8,5,12,.92) 28%,rgba(8,5,12,.82) 40%,rgba(8,5,12,.52) 48%,rgba(8,5,12,.16) 55%,rgba(8,5,12,0) 62%),
    linear-gradient(180deg,rgba(8,5,12,.44) 0%,rgba(8,5,12,.18) 32%,rgba(8,5,12,0) 54%)!important}
  .hero-message{grid-row:1;grid-column:1;align-self:start;justify-self:start;position:relative;z-index:4;margin:0!important;padding:28px 20px 0!important;background:transparent!important;transform:none!important;width:46%!important;max-width:360px!important}
  .hero-message .eyebrow{margin:0 0 12px!important;max-width:100%!important;font-size:clamp(.66rem,1.7vw,.82rem)!important;line-height:1.32!important}
  .hero-message h1{margin:0!important;max-width:100%!important;font-size:clamp(2rem,6.4vw,3.65rem)!important;line-height:.93!important;letter-spacing:-.045em!important}
  .hero-lead{grid-row:2;grid-column:1;margin:0!important;padding:28px 22px 0!important;background:#0e0a14!important;max-width:780px!important}
  .hero-actions{grid-row:3;grid-column:1;padding:24px 22px 0!important;background:#0e0a14!important}
  .micro{grid-row:4;grid-column:1;margin:0!important;padding:18px 22px 40px!important;background:#0e0a14!important}
}
@media(max-width:425px){
  .hero-media{height:520px!important}
  .hero-message{width:48%!important;max-width:205px!important;padding:24px 16px 0!important}
  .hero-message .eyebrow{font-size:.66rem!important}
  .hero-message h1{font-size:clamp(1.78rem,8.3vw,2.22rem)!important;line-height:.92!important}
  .hero-lead{padding:28px 18px 0!important}
  .hero-actions{padding:24px 18px 0!important}
  .hero-actions .button{width:100%;justify-content:center}
  .micro{padding:18px 18px 38px!important}
  .hero-media picture img{object-position:70% 50%!important}
}
@media(max-width:340px){
  .hero-media{height:500px!important}
  .hero-message{width:49%!important;max-width:170px!important;padding-left:14px!important;padding-right:8px!important}
  .hero-message h1{font-size:1.66rem!important}
  .hero-message .eyebrow{font-size:.61rem!important}
}
@media(min-width:900px) and (max-width:1279px){
  .hero-message{max-width:38%!important}
  .hero-lead,.hero-actions,.micro{max-width:42%!important}
  .hero-message h1{max-width:100%!important;font-size:clamp(3.1rem,4.8vw,4.4rem)!important;line-height:.94!important}
  .hero-media picture img{object-position:72% center!important}
  .hero-media:after{background:
    linear-gradient(90deg,rgba(8,5,12,.96) 0%,rgba(8,5,12,.91) 22%,rgba(8,5,12,.78) 33%,rgba(8,5,12,.48) 40%,rgba(8,5,12,.10) 47%,rgba(8,5,12,0) 54%),
    linear-gradient(0deg,rgba(8,5,12,.64) 0%,rgba(8,5,12,.16) 36%,rgba(8,5,12,0) 56%)!important}
}
@media(min-width:1280px){
  .hero-message{max-width:40%!important}
  .hero-lead,.hero-actions,.micro{max-width:42%!important}
  .hero-message h1{max-width:100%!important}
  .hero-media picture img{object-position:72% center!important}
  .hero-media:after{background:
    linear-gradient(90deg,rgba(8,5,12,.96) 0%,rgba(8,5,12,.91) 22%,rgba(8,5,12,.78) 34%,rgba(8,5,12,.48) 41%,rgba(8,5,12,.10) 48%,rgba(8,5,12,0) 55%),
    linear-gradient(0deg,rgba(8,5,12,.62) 0%,rgba(8,5,12,.14) 36%,rgba(8,5,12,0) 56%)!important}
}
.hero,.hero-media,.hero-message,.hero-lead,.hero-actions,.micro{min-width:0!important;max-width:100%}


/* =========================================================
   V16 — contraste via sombra suave + cor original do destaque
   ========================================================= */

/* 1) O roxo/rosa de "EXPERIÊNCIAS." volta ao degradê original */
.hero h1 em,
.page-hero h1 em{
  background:linear-gradient(100deg,#ff6fe8 0%, #e75fe8 36%, #c34ae6 68%, #9f35e2 100%)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  color:transparent!important;
  text-shadow:none!important;
  filter:
    drop-shadow(0 1px 4px rgba(6,4,10,.18))
    drop-shadow(0 2px 10px rgba(6,4,10,.10));
}

/* 2) Contraste do título resolvido por sombra suave, sem "sujar" a cor */
.hero-message h1{
  text-shadow:
    0 1px 5px rgba(6,4,10,.16),
    0 3px 12px rgba(6,4,10,.08)!important;
}

/* 3) MOBILE/TABLET PEQUENO:
      aliviar bastante o overlay para o público aparecer mais,
      mantendo uma faixa segura à esquerda para o texto. */
@media (max-width:899px){
  .hero-media:after{
    background:
      linear-gradient(90deg,
        rgba(8,5,12,.74) 0%,
        rgba(8,5,12,.69) 20%,
        rgba(8,5,12,.52) 32%,
        rgba(8,5,12,.30) 41%,
        rgba(8,5,12,.12) 48%,
        rgba(8,5,12,0) 55%),
      linear-gradient(180deg,
        rgba(8,5,12,.18) 0%,
        rgba(8,5,12,.08) 28%,
        rgba(8,5,12,0) 48%)!important;
  }
}

/* 4) No celular, preservar a coluna segura do título sem fechar demais a foto */
@media (max-width:425px){
  .hero-message{
    width:47%!important;
    max-width:208px!important;
  }
}

@media (max-width:340px){
  .hero-message{
    width:48%!important;
    max-width:168px!important;
  }
}



/* =========================================================
   V17 — MICROAJUSTE EXCLUSIVO 320–425 px
   Mantém >=426 px exatamente como V16
   ========================================================= */
@media (max-width:425px){

  /* Sobe e compacta o bloco inteiro */
  .hero-message{
    width:46%!important;
    max-width:196px!important;
    padding:16px 14px 0!important;
  }

  .hero-message .eyebrow{
    margin-bottom:8px!important;
    font-size:.63rem!important;
    line-height:1.28!important;
  }

  .hero-message h1{
    font-size:clamp(1.62rem,7.5vw,2.02rem)!important;
    line-height:.89!important;
    letter-spacing:-.05em!important;
  }

  /* "EXPERIÊNCIAS." continua em destaque, mas não avança até a cabeça */
  .hero-message h1 em{
    display:block!important;
    font-size:.74em!important;
    line-height:.94!important;
    letter-spacing:-.055em!important;
    white-space:nowrap!important;
    margin-top:2px;
  }

  /* Pequeno deslocamento do enquadramento para criar mais zona segura */
  .hero-media picture img{
    object-position:76% 50%!important;
  }

  /* Contraste suave, sem esconder público */
  .hero-media:after{
    background:
      linear-gradient(90deg,
        rgba(8,5,12,.68) 0%,
        rgba(8,5,12,.62) 20%,
        rgba(8,5,12,.43) 31%,
        rgba(8,5,12,.22) 39%,
        rgba(8,5,12,.07) 47%,
        rgba(8,5,12,0) 54%),
      linear-gradient(180deg,
        rgba(8,5,12,.14) 0%,
        rgba(8,5,12,.05) 28%,
        rgba(8,5,12,0) 46%)!important;
  }
}

@media (max-width:340px){
  .hero-message{
    width:47%!important;
    max-width:156px!important;
    padding-left:12px!important;
    padding-right:6px!important;
  }

  .hero-message .eyebrow{
    font-size:.57rem!important;
  }

  .hero-message h1{
    font-size:1.50rem!important;
  }

  .hero-message h1 em{
    font-size:.76em!important;
  }

  .hero-media picture img{
    object-position:79% 50%!important;
  }
}


/* =========================================================
   V18 — REFINO FINAL 320–425 px
   Objetivo:
   1) criar folga real entre "EXPERIÊNCIAS." e a cabeça do Thai
   2) impedir corte do "s" em 375 px
   3) não mexer no desktop/larguras já aprovadas
   ========================================================= */

/* 376–425 px */
@media (min-width:376px) and (max-width:425px){
  .hero-message{
    width:43.5%!important;
    max-width:182px!important;
    padding:16px 12px 0!important;
  }

  .hero-message .eyebrow{
    font-size:.62rem!important;
    line-height:1.26!important;
    margin-bottom:8px!important;
  }

  .hero-message h1{
    font-size:1.96rem!important;
    line-height:.885!important;
    letter-spacing:-.052em!important;
  }

  .hero-message h1 em{
    font-size:.74em!important;
    line-height:.93!important;
    letter-spacing:-.05em!important;
    white-space:nowrap!important;
    margin-top:2px!important;
  }

  .hero-media picture img{
    object-position:79% 50%!important;
  }
}

/* 341–375 px */
@media (min-width:341px) and (max-width:375px){
  .hero-message{
    width:44.5%!important;
    max-width:176px!important;
    padding:16px 12px 0!important;
  }

  .hero-message .eyebrow{
    font-size:.61rem!important;
    line-height:1.26!important;
    margin-bottom:8px!important;
  }

  .hero-message h1{
    font-size:1.90rem!important;
    line-height:.885!important;
    letter-spacing:-.05em!important;
  }

  .hero-message h1 em{
    font-size:.705em!important;
    line-height:.93!important;
    letter-spacing:-.04em!important;
    white-space:nowrap!important;
    margin-top:2px!important;
  }

  .hero-media picture img{
    object-position:78% 50%!important;
  }
}

/* 320–340 px */
@media (max-width:340px){
  .hero-message{
    width:45%!important;
    max-width:160px!important;
    padding-left:11px!important;
    padding-right:6px!important;
  }

  .hero-message h1{
    font-size:1.47rem!important;
  }

  .hero-message h1 em{
    font-size:.74em!important;
    letter-spacing:-.035em!important;
  }

  .hero-media picture img{
    object-position:80% 50%!important;
  }
}


/* =========================================================
   V19 — correção fina 375 / 425
   - evitar que "EXPERIÊNCIAS." entre na cabeça/rosto do Thai
   - eliminar o aparente corte do "s"
   - preservar os demais breakpoints aprovados
   ========================================================= */

/* 376–425 px */
@media (min-width:376px) and (max-width:425px){
  .hero-message{
    width:41.5%!important;
    max-width:172px!important;
    padding:16px 10px 0 12px!important;
  }

  .hero-message .eyebrow{
    font-size:.61rem!important;
    line-height:1.24!important;
    margin-bottom:8px!important;
  }

  .hero-message h1{
    font-size:1.88rem!important;
    line-height:.89!important;
    letter-spacing:-.048em!important;
  }

  .hero-message h1 em{
    display:block!important;
    font-size:.685em!important;
    line-height:.94!important;
    letter-spacing:-.028em!important;
    white-space:nowrap!important;
    margin-top:3px!important;
    padding-right:3px!important;
  }

  .hero-media picture img{
    object-position:74% 50%!important;
  }
}

/* 341–375 px */
@media (min-width:341px) and (max-width:375px){
  .hero-message{
    width:42.5%!important;
    max-width:166px!important;
    padding:16px 10px 0 12px!important;
  }

  .hero-message .eyebrow{
    font-size:.60rem!important;
    line-height:1.24!important;
    margin-bottom:8px!important;
  }

  .hero-message h1{
    font-size:1.82rem!important;
    line-height:.89!important;
    letter-spacing:-.046em!important;
  }

  .hero-message h1 em{
    display:block!important;
    font-size:.655em!important;
    line-height:.94!important;
    letter-spacing:-.02em!important;
    white-space:nowrap!important;
    margin-top:3px!important;
    padding-right:4px!important;
  }

  .hero-media picture img{
    object-position:73% 50%!important;
  }
}


/* =========================================================
   V20 — correção fina final 375 / 425
   1) remover ponto final de EXPERIÊNCIAS (feito no HTML)
   2) no mobile, remover o separador após SHOWS
   3) criar margem real do rosto do Thai
   4) evitar o aparente corte do "S"
   ========================================================= */

.hero-message .eyebrow .sep{display:inline}

/* 376–425 px */
@media (min-width:376px) and (max-width:425px){
  .hero-message{
    width:39.5%!important;
    max-width:158px!important;
    padding:16px 8px 0 12px!important;
  }

  .hero-message .eyebrow{
    font-size:.61rem!important;
    line-height:1.23!important;
    margin-bottom:8px!important;
  }

  .hero-message .eyebrow .sep-after-shows{
    display:none!important;
  }

  .hero-message h1{
    font-size:1.84rem!important;
    line-height:.90!important;
    letter-spacing:-.046em!important;
  }

  .hero-message h1 em{
    display:block!important;
    font-size:.62em!important;
    line-height:.94!important;
    letter-spacing:-.032em!important;
    white-space:nowrap!important;
    margin-top:3px!important;
    padding-right:10px!important;
    overflow:visible!important;
  }

  .hero-media picture img{
    object-position:72% 50%!important;
  }
}

/* 341–375 px */
@media (min-width:341px) and (max-width:375px){
  .hero-message{
    width:39.5%!important;
    max-width:152px!important;
    padding:16px 8px 0 12px!important;
  }

  .hero-message .eyebrow{
    font-size:.60rem!important;
    line-height:1.23!important;
    margin-bottom:8px!important;
  }

  .hero-message .eyebrow .sep-after-shows{
    display:none!important;
  }

  .hero-message h1{
    font-size:1.76rem!important;
    line-height:.90!important;
    letter-spacing:-.044em!important;
  }

  .hero-message h1 em{
    display:block!important;
    font-size:.585em!important;
    line-height:.94!important;
    letter-spacing:-.026em!important;
    white-space:nowrap!important;
    margin-top:3px!important;
    padding-right:12px!important;
    overflow:visible!important;
  }

  .hero-media picture img{
    object-position:71% 50%!important;
  }
}


/* =========================================================
   V21 — correção estrutural do hero (mobile 375/425 e desktop)
   Objetivos:
   1) colocar "QUE VIRAM" na mesma linha
   2) remover sobreposição com o rosto do Thai
   3) garantir folga visual após "EXPERIÊNCIAS"
   4) preservar mais público visível
   ========================================================= */

.hero-message h1 .title-line{display:block}
.hero-message h1 .title-line-inline{white-space:nowrap}
.hero-message h1 .title-line-inline span{display:inline}
.hero-message h1 em{display:block;white-space:nowrap}

@media (min-width:900px){
  .hero-message{max-width:39%!important}
  .hero-message h1{font-size:clamp(2.9rem,5.3vw,5.2rem)!important;line-height:.92!important}
  .hero-message h1 em{font-size:.88em!important;margin-top:6px!important}
  .hero-media picture img{object-position:70% center!important}
  .hero-media:after{background:linear-gradient(90deg,rgba(8,5,12,.88) 0%,rgba(8,5,12,.78) 28%,rgba(8,5,12,.50) 43%,rgba(8,5,12,.16) 58%,rgba(8,5,12,0) 67%),linear-gradient(180deg,rgba(8,5,12,.16) 0%,rgba(8,5,12,.06) 30%,rgba(8,5,12,0) 50%)!important}
}
@media (min-width:761px) and (max-width:899px){
  .hero-message{max-width:42%!important}
  .hero-message h1{font-size:clamp(2.7rem,5.4vw,4.2rem)!important;line-height:.92!important}
  .hero-message h1 em{font-size:.87em!important;margin-top:6px!important}
  .hero-media picture img{object-position:69% center!important}
}
@media (min-width:376px) and (max-width:425px){
  .hero-message{width:38.5%!important;max-width:148px!important;padding:16px 8px 0 12px!important}
  .hero-message .eyebrow{font-size:.60rem!important;line-height:1.22!important;margin-bottom:9px!important}
  .hero-message .eyebrow .sep-after-shows{display:none!important}
  .hero-message h1{font-size:1.72rem!important;line-height:.90!important;letter-spacing:-.04em!important}
  .hero-message h1 .title-line-inline{margin-top:1px!important}
  .hero-message h1 em{font-size:.565em!important;line-height:.96!important;letter-spacing:0!important;margin-top:3px!important;padding-right:16px!important}
  .hero-media picture img{object-position:70% 50%!important}
  .hero-media:after{background:linear-gradient(90deg,rgba(8,5,12,.70) 0%,rgba(8,5,12,.64) 18%,rgba(8,5,12,.42) 30%,rgba(8,5,12,.18) 39%,rgba(8,5,12,.05) 46%,rgba(8,5,12,0) 53%),linear-gradient(180deg,rgba(8,5,12,.13) 0%,rgba(8,5,12,.05) 26%,rgba(8,5,12,0) 44%)!important}
}
@media (min-width:341px) and (max-width:375px){
  .hero-message{width:38%!important;max-width:142px!important;padding:16px 8px 0 12px!important}
  .hero-message .eyebrow{font-size:.585rem!important;line-height:1.22!important;margin-bottom:9px!important}
  .hero-message .eyebrow .sep-after-shows{display:none!important}
  .hero-message h1{font-size:1.64rem!important;line-height:.90!important;letter-spacing:-.038em!important}
  .hero-message h1 .title-line-inline{margin-top:1px!important}
  .hero-message h1 em{font-size:.54em!important;line-height:.96!important;letter-spacing:0!important;margin-top:3px!important;padding-right:18px!important}
  .hero-media picture img{object-position:69% 50%!important}
  .hero-media:after{background:linear-gradient(90deg,rgba(8,5,12,.71) 0%,rgba(8,5,12,.65) 18%,rgba(8,5,12,.44) 30%,rgba(8,5,12,.19) 39%,rgba(8,5,12,.05) 46%,rgba(8,5,12,0) 53%),linear-gradient(180deg,rgba(8,5,12,.14) 0%,rgba(8,5,12,.05) 26%,rgba(8,5,12,0) 44%)!important}
}
@media (max-width:340px){
  .hero-message{width:39%!important;max-width:132px!important;padding:15px 6px 0 11px!important}
  .hero-message .eyebrow{font-size:.55rem!important;line-height:1.2!important;margin-bottom:8px!important}
  .hero-message .eyebrow .sep-after-shows{display:none!important}
  .hero-message h1{font-size:1.49rem!important;line-height:.90!important;letter-spacing:-.035em!important}
  .hero-message h1 em{font-size:.515em!important;line-height:.97!important;letter-spacing:0!important;margin-top:3px!important;padding-right:15px!important}
  .hero-media picture img{object-position:68% 50%!important}
}


/* =========================================================
   V22 — correção do hero após homologação visual V21
   - corrige a causa real do corte de "EXPERIÊNCIAS"
   - recompõe a linha editorial no mobile
   - recupera o peso visual do destaque
   - reforça contraste apenas na zona superior esquerda
   - preserva os breakpoints maiores já aprovados
   ========================================================= */

/* O destaque usa background-clip:text. Em V21 o <em> era um bloco com a
   largura estreita da coluna; os glifos que ultrapassavam essa caixa ficavam
   sem fundo e pareciam cortados. A caixa agora acompanha a palavra inteira. */
.hero-message h1 em{
  display:block!important;
  width:max-content!important;
  max-width:none!important;
  white-space:nowrap!important;
  overflow:visible!important;
}

@media (max-width:425px){
  /* Três itens distintos; quando há quebra, não sobra ponto no fim da linha. */
  .hero-message .eyebrow .eyebrow-production{
    display:block!important;
    width:max-content;
    white-space:nowrap!important;
    overflow-wrap:normal!important;
  }
  .hero-message .eyebrow .sep-after-production{
    display:none!important;
  }
  .hero-message .eyebrow .eyebrow-mobile-row{
    display:block!important;
    width:max-content;
    white-space:nowrap!important;
    overflow-wrap:normal!important;
  }
  .hero-message .eyebrow .sep-after-shows{
    display:inline!important;
  }

  /* Mais área útil para a composição, sem aproximar tipografia do rosto. */
  .hero-message{
    max-width:none!important;
  }

  /* "EXPERIÊNCIAS" volta a ter peso de título, não de subtítulo. */
  .hero-message h1 em{
    font-size:.72em!important;
    line-height:.95!important;
    letter-spacing:-.035em!important;
    margin-top:3px!important;
    padding-right:0!important;
  }

  /* Contraste localizado: escurece a área azul usada pela tipografia,
     sem apagar o público nem a parte direita da fotografia. */
  .hero-media:after{
    background:
      linear-gradient(90deg,
        rgba(8,5,12,.82) 0%,
        rgba(8,5,12,.76) 20%,
        rgba(8,5,12,.58) 34%,
        rgba(8,5,12,.34) 44%,
        rgba(8,5,12,.13) 53%,
        rgba(8,5,12,0) 62%),
      linear-gradient(180deg,
        rgba(8,5,12,.25) 0%,
        rgba(8,5,12,.12) 26%,
        rgba(8,5,12,.03) 45%,
        rgba(8,5,12,0) 58%)!important;
  }
}

/* 376–425 px */
@media (min-width:376px) and (max-width:425px){
  .hero-message{
    width:52%!important;
    max-width:220px!important;
    padding:16px 10px 0 12px!important;
  }
  .hero-message .eyebrow{
    font-size:.60rem!important;
    line-height:1.22!important;
    margin-bottom:9px!important;
    letter-spacing:.13em!important;
  }
  .hero-message h1{
    font-size:1.86rem!important;
    line-height:.90!important;
    letter-spacing:-.04em!important;
  }
  /* Move o enquadramento discretamente para a direita na tela,
     criando mais ar entre a tipografia e o Thai. */
  .hero-media picture img{
    object-position:63% 50%!important;
  }
}

/* 341–375 px */
@media (min-width:341px) and (max-width:375px){
  .hero-message{
    width:52%!important;
    max-width:195px!important;
    padding:16px 9px 0 12px!important;
  }
  .hero-message .eyebrow{
    font-size:.585rem!important;
    line-height:1.22!important;
    margin-bottom:9px!important;
    letter-spacing:.125em!important;
  }
  .hero-message h1{
    font-size:1.74rem!important;
    line-height:.90!important;
    letter-spacing:-.038em!important;
  }
  .hero-media picture img{
    object-position:62% 50%!important;
  }
}

/* 320–340 px */
@media (max-width:340px){
  .hero-message{
    width:55%!important;
    max-width:176px!important;
    padding:15px 7px 0 11px!important;
  }
  .hero-message .eyebrow{
    font-size:.55rem!important;
    line-height:1.20!important;
    margin-bottom:8px!important;
    letter-spacing:.115em!important;
  }
  .hero-message h1{
    font-size:1.58rem!important;
    line-height:.90!important;
    letter-spacing:-.035em!important;
  }
  .hero-message h1 em{
    font-size:.80em!important;
  }
  .hero-media picture img{
    object-position:61% 50%!important;
  }
}

/* Desktop: não redesenha o layout. A correção da caixa do <em> acima elimina
   o corte do S em telas largas. O overlay existente permanece preservado. */

/* =========================================================
   V23 — microcorreção exclusiva de 375 px
   EXPERIÊNCIAS recupera proporção visual sem alterar layout,
   enquadramento, contraste ou breakpoints já homologados.
   ========================================================= */
@media (min-width:341px) and (max-width:375px){
  .hero-message h1 em{
    font-size:.80em!important;
  }
}

/* =========================================================
   V24 — igualdade tipográfica em 320–425 px
   EXPERIÊNCIAS passa a ter exatamente o mesmo tamanho do
   restante do título, preservando layout e enquadramento.
   ========================================================= */
@media (max-width:425px){
  .hero-message h1 em{
    font-size:1em!important;
  }
}

/* =========================================================
   V25 — auditoria mobile global
   - impede quebra de palavras no meio em títulos e textos
   - redimensiona os page-heros para caberem inteiros em 320–425
   - preserva o hero especial da Home
   - ajusta a linha de origem do Alexandre Thai
   ========================================================= */
@media (max-width:760px){
  /* Regra geral: português deve quebrar entre palavras, nunca no meio delas. */
  h1,h2,h3,p,a,button,span,em,strong,li{
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
  }

  /* Heros internos: tamanho fluido calculado para a maior palavra do site
     (PROFISSIONAL / CELEBRAÇÕES / PRIVACIDADE) caber até em 320 px. */
  .page-hero h1{
    font-size:clamp(2.4rem,12vw,3.2rem)!important;
    line-height:.94!important;
    letter-spacing:-.045em!important;
  }
  .page-hero h1 em{
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
  }

  /* CTA editorial longo da produção artística: evita partir “desenvolvimento”. */
  .cta-band h2,
  .section-title h2,
  .copy h2,
  .contact-main h2{
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
  }
}

/* Em 425 px os cards de métricas ainda ficavam estreitos em duas colunas. */
@media (max-width:425px){
  .stats{grid-template-columns:1fr!important}
}

/* Título biográfico: duas linhas editoriais fixas. */
.thai-origin-title{white-space:normal}
@media (max-width:340px){
  .thai-origin-title{font-size:1.95rem!important}
}

/* CTA longo — 320 px precisa preservar a palavra “desenvolvimento” inteira. */
@media (max-width:425px){
  .cta-band h2{
    font-size:clamp(1.7rem,8vw,2rem)!important;
    line-height:1.02!important;
  }
}

/* Homologação V25 final — ajustes recuperados da auditoria visual. */
@media (min-width:761px) and (max-width:1280px){
  .hero-message .eyebrow .eyebrow-production,
  .hero-message .eyebrow .eyebrow-mobile-row{display:block!important;white-space:nowrap!important}
  .hero-message .eyebrow .sep-after-production{display:none!important}
  .hero-message .eyebrow .sep-after-shows{display:inline!important}
}
h1,h2,h3,p,a,button,span,em,strong,li{
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
.stats{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
@media(max-width:540px){.stats{grid-template-columns:1fr!important}}
@media(min-width:761px) and (max-width:1023px){.copy .stats{grid-template-columns:1fr}}
@media(min-width:1024px){.section>.shell>.stats{grid-template-columns:repeat(4,minmax(0,1fr))}}
.stat{min-width:0}
.button{text-align:center}
.site-header .brand{position:relative;z-index:1}
.logo-panel{min-width:0;grid-template-columns:minmax(0,1fr)}
.logo-panel img{width:min(360px,100%);max-width:100%;height:auto}
.copy h2.thai-origin-title{
  font-size:clamp(1.6rem,3.55vw,2.875rem)!important;
  line-height:1.06;
  letter-spacing:-.04em;
}
.thai-origin-title>span{display:block;white-space:nowrap}
.no-break{white-space:nowrap}
.section-title.proposal-info-block{max-width:100%}
.proposal-info-block>p{max-width:760px}
@media(max-width:760px){
  .copy h2.thai-origin-title{font-size:clamp(1.6rem,7.6vw,2.2rem)!important}
  .page-hero h1.shows-hero-title,.page-hero h1.public-hero-title{font-size:clamp(2rem,10.65vw,3.2rem)!important}
  .page-hero h1.privacy-hero-title{font-size:clamp(2.3rem,11.7vw,3.2rem)!important}
}
@media(max-width:425px){
  .cta-band h2.production-project-title{font-size:clamp(1.45rem,7vw,2rem)!important}
}
@media(min-width:1281px){
  .site-header .brand img{width:160px}
  .site-header .header-inner{gap:14px}
  .site-header .nav{gap:12px}
  .site-header .nav a{font-size:.8rem}
  .site-header .header-cta{font-size:.85rem;padding-inline:16px}
}
