/* AICREA V16 — estabilidad tipográfica, assets definitivos y responsive para Hostinger */
:root{
  --aicrea-black:#000000;
  --aicrea-light:#45c7bb;
  --aicrea-deep:#114f55;
  --aicrea-paper:#f4f7f4;
}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:hidden}
body{overflow-x:hidden;background:var(--aicrea-paper)}
*,*::before,*::after{box-sizing:border-box}
img,video,svg{max-width:100%;height:auto}
main,section,.wrap,.section-head,.hero-watch-content,.hero-copy-v13,.service-pillar,.service-pillar-copy,.service-editorial,.team-card,.team-card-copy,.home-contact-card,.contact-float-card,.contact-form-pane,.contact-mau-pane{min-width:0}

/* Navbar: negro real, sin gris ni transparencia grisácea. */
.nav.nav-premium{
  background:var(--aicrea-black)!important;
  color:var(--aicrea-light)!important;
  border:1px solid rgba(69,199,187,.55)!important;
  border-radius:18px!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
.nav.nav-premium .links a,.nav.nav-premium .menu{color:var(--aicrea-light)!important}
.nav.nav-premium .pill{color:var(--aicrea-light)!important;border-color:var(--aicrea-light)!important;background:#000!important}
.nav.nav-premium .brand-full{max-width:min(260px,26vw);height:auto;object-fit:contain}

/* Ningún texto importante debe quedar recortado por cajas/alturas. */
h1,h2,h3,h4,p,.display,.bigcopy,.culture,.lead,.eyebrow,.service-row strong,.service-row i,.team-card-copy b,.team-card-copy p{
  max-width:100%;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
}
section,.service,.service-pillar,.service-editorial,.team-card,.team-card-copy,.quote,.blog-card,.home-insight-card{height:auto!important;max-height:none!important}

/* Jerarquías más conservadoras para que no choquen en ninguna pantalla. */
.hero-copy-v13{width:min(100%,680px)!important;max-width:680px!important}
.hero-copy-v13 h1{font-size:clamp(44px,5vw,72px)!important;line-height:.98!important;letter-spacing:-.045em!important;max-width:12ch!important;margin:12px 0 18px!important}
.hero-copy-v13 .hero-secondary{font-size:clamp(22px,2.2vw,32px)!important;line-height:1.15!important;max-width:25ch!important;margin:0 0 14px!important}
.hero-copy-v13 .hero-support{font-size:clamp(15px,1.15vw,18px)!important;line-height:1.5!important;max-width:48ch!important}
.section-head h2{font-size:clamp(32px,4vw,56px)!important;line-height:1.06!important;letter-spacing:-.035em!important}
.bigcopy{font-size:clamp(31px,3.8vw,54px)!important;line-height:1.08!important;letter-spacing:-.035em!important}
.pagehero h1,.services-hero h1,.projects-hero h1,.contact-hero-v13 h1,.start-hero-v14 h1,.article-shell h1{font-size:clamp(40px,5vw,68px)!important;line-height:1.04!important;letter-spacing:-.04em!important}
.service-pillar h2,.services-philosophy h2,.services-cta h2{font-size:clamp(32px,4vw,56px)!important;line-height:1.06!important}
.service-editorial h3,.service h3{font-size:clamp(26px,3vw,42px)!important;line-height:1.09!important}
.home-culture-v14 .culture{font-size:clamp(34px,4.7vw,62px)!important;line-height:1.05!important;letter-spacing:-.04em!important;max-width:16ch!important;margin:18px 0!important}

/* "Esto es Aicrea": etiqueta y título con espacio real, no montados. */
.image-wash-intro .section-head{align-items:start!important;column-gap:clamp(28px,5vw,72px)!important;row-gap:28px!important}
.image-wash-intro .section-head>.eyebrow{position:static!important;margin:8px 0 0!important;padding:0!important;align-self:start!important}
.image-wash-intro .section-head>div:nth-child(2){min-width:0!important}
.image-wash-intro .bigcopy{margin:0 0 22px!important}
.image-wash-intro .lead{margin:0!important}

/* Imagen de Branding entregada por el usuario. */
.branding-resource{margin:clamp(28px,4vw,54px) 0 0!important;overflow:hidden!important;border-radius:24px!important;background:var(--aicrea-black)!important;aspect-ratio:16/10!important}
.branding-resource img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}

/* Recurso de Ash como fondo visual de Cultura; no tapa el texto. */
.home-culture-v14{position:relative!important;isolation:isolate!important;background:var(--aicrea-black)!important;color:var(--aicrea-light)!important}
.home-culture-v14 .wrap{position:relative!important;z-index:2!important}
.home-culture-v14 .eyebrow,.home-culture-v14 .culture,.home-culture-v14 .lead,.home-culture-v14 a{color:var(--aicrea-light)!important}
.home-culture-v14 .culture span{color:var(--aicrea-light)!important}
.home-culture-v14 .culture-ambient-v14{position:absolute!important;inset:0 0 0 auto!important;width:min(46%,680px)!important;height:100%!important;margin:0!important;opacity:.36!important;z-index:-1!important;overflow:hidden!important}
.home-culture-v14 .culture-ambient-v14 img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 32%!important}
.home-culture-v14 .culture-ambient-v14::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#000 0%,rgba(0,0,0,.58) 35%,rgba(0,0,0,.08) 100%)}

/* Texto sobre negro = tono claro Aicrea. */
.dark,.home-team-v14,.projects-showcase-v14,.home-projects-v15,.contact-float-zone,.footer{background-color:var(--aicrea-black)!important;color:var(--aicrea-light)!important}
.dark h1,.dark h2,.dark h3,.dark h4,.dark p,.dark b,.dark strong,.dark span,.dark .eyebrow,
.home-team-v14 h1,.home-team-v14 h2,.home-team-v14 h3,.home-team-v14 p,.home-team-v14 b,.home-team-v14 span,.home-team-v14 .eyebrow,
.footer,.footer a,.footer b,.footer p,.footer small{color:var(--aicrea-light)!important}

/* Mau: usar SIEMPRE la imagen definitiva completa en formularios. */
.home-contact-mau,.contact-mau-pane{background:var(--aicrea-deep)!important;overflow:hidden!important;display:flex!important;align-items:flex-end!important;justify-content:center!important;min-width:0!important}
.home-contact-mau img,.contact-mau-pane img{display:block!important;width:100%!important;height:100%!important;max-height:none!important;object-fit:contain!important;object-position:center bottom!important;margin:0 auto!important;transform:none!important;filter:none!important}
.home-contact-mau{min-height:520px!important}
.contact-mau-pane{min-height:650px!important}
.home-contact-mau figcaption,.contact-mau-copy{z-index:3!important;background:linear-gradient(transparent,rgba(17,79,85,.9))!important;color:var(--aicrea-light)!important}

/* Formularios: nunca se salen de la caja. */
.form,.contact-form-v13{min-width:0!important}
.form input,.form textarea,.form select,.contact-form-v13 input,.contact-form-v13 textarea,.contact-form-v13 select{min-width:0!important;width:100%!important;max-width:100%!important;font-size:16px!important}
.home-contact-card,.contact-float-card{grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr)!important;align-items:stretch!important;overflow:visible!important}

/* Team band: contenido completo, sin clipping. */
.team-band-section,.team-band-track,.team-set{overflow:visible}
.team-card{min-height:0!important}
.team-card-copy{padding:18px!important}
.team-card-copy h3{font-size:clamp(22px,2vw,30px)!important;line-height:1.05!important;margin:4px 0 7px!important}
.team-card-copy b{display:block!important;font-size:13px!important;line-height:1.35!important}
.team-card-copy p{font-size:13px!important;line-height:1.45!important}

/* Evitar líneas/ornamentos que atraviesen contenido. */
.image-wash-section::before,.image-wash-section::after,.benoist-media::before,.benoist-media::after{pointer-events:none!important}

@media(max-width:1100px){
  .nav.nav-premium .links{display:none!important}
  .nav.nav-premium .menu{display:block!important;margin-left:auto!important}
  .nav.nav-premium .links.open{display:flex!important;position:absolute!important;top:calc(100% + 8px)!important;left:0!important;right:0!important;background:#000!important;border:1px solid rgba(69,199,187,.55)!important;border-radius:16px!important;padding:18px!important;gap:16px!important;flex-direction:column!important;align-items:flex-start!important}
  .hero-copy-v13 h1{font-size:clamp(42px,6.5vw,62px)!important}
  .home-contact-card,.contact-float-card{grid-template-columns:1fr 1fr!important}
}

@media(max-width:820px){
  .wrap{width:min(calc(100% - 30px),var(--max))!important}
  .hero-watch{min-height:0!important;padding:128px 0 62px!important}
  .hero-copy-v13{max-width:100%!important}
  .hero-copy-v13 h1{font-size:clamp(40px,10vw,56px)!important;max-width:11.5ch!important}
  .hero-copy-v13 .hero-secondary{font-size:clamp(21px,5vw,28px)!important;max-width:24ch!important}
  .section-head,.image-wash-intro .section-head{grid-template-columns:1fr!important;gap:18px!important}
  .image-wash-intro .section-head>.eyebrow{margin:0!important}
  .section-head h2{font-size:clamp(31px,7vw,46px)!important}
  .bigcopy{font-size:clamp(30px,7.5vw,44px)!important}
  .pagehero h1,.services-hero h1,.projects-hero h1,.contact-hero-v13 h1,.start-hero-v14 h1,.article-shell h1{font-size:clamp(38px,8vw,52px)!important}
  .home-culture-v14{padding:70px 0!important}
  .home-culture-v14 .culture{font-size:clamp(34px,8vw,48px)!important;max-width:15ch!important}
  .home-culture-v14 .culture-ambient-v14{width:100%!important;opacity:.19!important}
  .home-culture-v14 .culture-ambient-v14::after{background:rgba(0,0,0,.68)!important}
  .home-contact-card,.contact-float-card{grid-template-columns:1fr!important}
  .home-contact-mau{min-height:0!important;aspect-ratio:4/5!important}
  .contact-mau-pane{min-height:0!important;aspect-ratio:4/5!important}
  .branding-resource{aspect-ratio:4/3!important;border-radius:18px!important}
}

@media(max-width:520px){
  .wrap{width:min(calc(100% - 24px),var(--max))!important}
  section{padding-top:64px!important;padding-bottom:64px!important}
  .hero-watch{padding-top:116px!important;padding-bottom:50px!important}
  .hero-copy-v13 h1{font-size:clamp(38px,11.2vw,48px)!important;line-height:1.01!important;letter-spacing:-.035em!important;max-width:11ch!important}
  .hero-copy-v13 .hero-secondary{font-size:clamp(20px,6vw,25px)!important;line-height:1.18!important;max-width:21ch!important}
  .hero-copy-v13 .hero-support{font-size:15px!important;line-height:1.5!important}
  .section-head h2{font-size:clamp(29px,8.8vw,40px)!important;line-height:1.08!important}
  .bigcopy{font-size:clamp(29px,9vw,40px)!important;line-height:1.08!important}
  .pagehero h1,.services-hero h1,.projects-hero h1,.contact-hero-v13 h1,.start-hero-v14 h1,.article-shell h1{font-size:clamp(34px,10vw,44px)!important;line-height:1.07!important}
  .service-pillar h2,.services-philosophy h2,.services-cta h2{font-size:clamp(29px,8.6vw,40px)!important}
  .service-editorial h3,.service h3{font-size:clamp(24px,7.5vw,34px)!important}
  .home-culture-v14 .culture{font-size:clamp(32px,9.8vw,42px)!important;line-height:1.07!important}
  .home-contact-copy h2,.contact-form-intro h2{font-size:clamp(29px,8.8vw,40px)!important;line-height:1.08!important}
  .home-contact-mau,.contact-mau-pane{aspect-ratio:3/4!important}
  .branding-resource{aspect-ratio:1/1!important}
}
