/**
 * creART Studio 1.6.6 — escala editorial XL.
 * Escalones áureos de referencia: 14 / 23 / 37 / 60 / 97 px.
 * Estos tamaños son máximos de diseño; se adaptan al espacio real en tablet/móvil.
 * Carga tras type-scale-v165.css para mantener intactos los estilos funcionales.
 */
:root {
  --creart-phi: 1.61803398875;
  --creart-xl-micro: 14px;
  --creart-xl-body: 23px;
  --creart-xl-subtitle: 37px;
  --creart-xl-heading: 60px;
  --creart-xl-display: 97px;
}

/* Header: mayor legibilidad; sin fondo blanco en la portada. */
.creart-site .site-brand .brand-logo-img{max-width:clamp(132px,10.7vw,185px);max-height:69px}
.creart-site .primary-menu{gap:clamp(16px,2.15vw,40px)}
.creart-site .primary-menu li a{font-size:clamp(17px,1.33vw,23px)!important;font-weight:700;letter-spacing:-.025em}
.creart-site .header-cta.btn{font-size:clamp(15px,1.04vw,19px)!important;min-height:50px;padding:12px 20px;gap:13px}
body.home.creart-site{--cm-home-header-h:96px}
body.home.creart-site .site-header .header-inner{min-height:var(--cm-home-header-h)}

/* Hero: más presencia tipográfica y suficiente altura para descripción y botones. */
body.home.creart-site .cm-hero{height:clamp(700px,51vw,840px)!important}
.creart-site .cm-hero-content{width:52%;max-width:850px;left:4.4%}
.creart-site .cm-hero .cm-overline{font-size:clamp(14px,1vw,18px)!important;letter-spacing:.35em;margin-bottom:13px;font-weight:750}
.creart-site .cm-hero h1{font-size:clamp(63px,5.9vw,97px)!important;line-height:.91!important;letter-spacing:-.078em!important;max-width:100%;font-weight:900;margin-bottom:18px}
.creart-site .cm-hero .brand-bars{margin-bottom:17px}
.creart-site .cm-hero-intro{font-size:clamp(20px,1.35vw,24px)!important;line-height:1.52!important;max-width:485px;margin:13px 0 26px!important;letter-spacing:-.02em}
.creart-site .cm-actions{gap:16px}
.creart-site .cm-button{font-size:clamp(16px,1.12vw,20px)!important;min-height:55px;padding:14px 24px;border-radius:9px;gap:13px}
.creart-site .cm-button svg{width:18px;height:18px}
/* Right-aligned people and controlled light overlay for large display text. */
body.home.creart-site .cm-reference-hero-photo{object-position:63% 46%}
body.home.creart-site .cm-scene-is-reference::before{background:linear-gradient(90deg,#fff 0%,#fff 23%,#fffefefa 29%,#ffffffe2 36%,#ffffffa8 42%,transparent 52%)}

/* Portfolio: captions and section heading no longer microscopically small. */
.creart-site .cm-projects{padding:45px clamp(24px,2.5vw,50px) 37px}
.creart-site .cm-section-top{margin-bottom:24px;align-items:center}
.creart-site .cm-section-top h2{font-size:clamp(18px,1.4vw,24px)!important;letter-spacing:.25em;font-weight:750;line-height:1.4}
.creart-site .cm-section-top a{font-size:clamp(15px,1.03vw,19px)!important;line-height:1.45}
.creart-site .cm-project-grid{gap:clamp(18px,2vw,32px)}
.creart-site .cm-project-caption{min-height:112px;padding:18px 10px 7px;align-items:center}
.creart-site .cm-project-num{font-size:clamp(13px,.83vw,16px);font-weight:800;margin-bottom:7px}
.creart-site .cm-project h3{font-size:clamp(26px,1.95vw,37px)!important;line-height:1.16!important;letter-spacing:-.052em;margin-bottom:8px}
.creart-site .cm-project p{font-size:clamp(14px,.96vw,18px)!important;line-height:1.4!important;letter-spacing:.08em}
.creart-site .cm-round-arrow{width:51px;height:51px}
.creart-site .cm-round-arrow svg{width:20px;height:20px}

/* 20 años: mejorar título, relato y cifras sin apretujarlos. */
.creart-site .cm-anniversary{grid-template-columns:30% 34% 36%;min-height:355px;padding:42px 3.1%;column-gap:0}
.creart-site .cm-anniv-logo{padding-right:22px}
.creart-site .cm-anniversary-logo{max-width:390px;max-height:215px}
.creart-site .cm-anniv-copy{padding-left:clamp(18px,2.4vw,45px);padding-right:14px}
.creart-site .cm-anniv-overline{font-size:clamp(14px,1vw,17px);letter-spacing:.32em;margin-bottom:12px}
.creart-site .cm-anniv-copy h2{font-size:clamp(37px,3.16vw,59px)!important;line-height:.99!important;letter-spacing:-.01em;margin-bottom:13px}
.creart-site .cm-anniv-copy p{font-size:clamp(16px,1.12vw,21px)!important;line-height:1.54!important;max-width:440px;margin-top:14px!important}
.creart-site .cm-stats{min-height:108px;align-self:center;padding:8px 0 8px 13px;grid-template-columns:repeat(4,minmax(0,1fr))}
.creart-site .cm-stat{padding:7px 4px}
.creart-site .cm-stat strong{font-size:clamp(24px,1.85vw,36px);letter-spacing:-.075em}
.creart-site .cm-stat span{font-size:clamp(11px,.74vw,14px);margin-top:9px;line-height:1.35}

/* Llamado a la acción: mensaje de gran formato y descripción humana. */
.creart-site .cm-cta{min-height:380px}
.creart-site .cm-cta-copy{max-width:76%;padding:40px 0 40px 5.3%}
.creart-site .cm-cta .cm-overline{font-size:clamp(14px,.95vw,18px)!important;letter-spacing:.32em;margin-bottom:15px}
.creart-site .cm-cta h2{font-size:clamp(44px,3.75vw,64px)!important;line-height:.98!important;letter-spacing:-.07em;margin-bottom:15px}
.creart-site .cm-cta-copy p:not(.cm-overline){font-size:clamp(18px,1.4vw,24px)!important;line-height:1.5!important;max-width:635px;margin-bottom:21px!important}
.creart-site .cm-cta .cm-button{font-size:clamp(15px,1.04vw,19px)!important;min-height:49px;padding:12px 21px}
.creart-site .cm-cta-side span{font-size:clamp(12px,.87vw,16px);letter-spacing:.27em;line-height:1.95}

/* Footer: a tamaño de lectura real, con más altura para sus cuatro grupos. */
.creart-site .footer-main-row{grid-template-columns:minmax(145px,195px) minmax(360px,1fr) auto minmax(265px,315px);gap:clamp(16px,1.5vw,30px);min-height:132px;padding-top:20px;padding-bottom:20px}
.creart-site .footer-brandmark .brand-logo-img{max-width:145px;max-height:70px}
.creart-site .footer-nav .footer-menu{gap:clamp(12px,1.15vw,22px);flex-wrap:wrap}
.creart-site .footer-nav .footer-menu a{font-size:clamp(15px,1vw,18px)!important;line-height:1.45}
.creart-site .footer-socials{gap:13px;padding-right:18px}
.creart-site .footer-socials a,.creart-site .footer-socials .footer-social-unconfigured{width:24px;height:24px}
.creart-site .footer-socials svg,.creart-site .footer-socials .footer-social-unconfigured svg{width:23px;height:23px}
.creart-site .footer-contact-mini{gap:7px}
.creart-site .footer-contact-mini a,.creart-site .footer-contact-mini span{font-size:clamp(14px,.85vw,16px);line-height:1.45;overflow-wrap:anywhere}
.creart-site .footer-contact-mini svg{width:16px;height:16px}
.creart-site .footer-bottom-row{min-height:59px;padding-top:15px;padding-bottom:19px;font-size:clamp(13px,.87vw,16px)}
.creart-site .footer-bottom-row span:last-child{font-size:clamp(11px,.7vw,13px);letter-spacing:.13em}

/* Interiores: acompañan la jerarquía de portada. */
.creart-site:not(.home) .interior-heading h1,.creart-site:not(.home) .page-banner h1{font-size:clamp(56px,5.5vw,96px)!important}
.creart-site:not(.home) .section-heading h2{font-size:clamp(38px,3.55vw,60px)!important}
.creart-site:not(.home) .interior-service-text h2,.creart-site:not(.home) .interior-project-info h3{font-size:clamp(28px,2.4vw,37px)!important}
.creart-site:not(.home) .interior-intro{font-size:clamp(20px,1.56vw,25px)!important}
.creart-site:not(.home) .editorial-content p,.creart-site:not(.home) .interior-service-text p,.creart-site:not(.home) .interior-project-info p,.creart-site:not(.home) .contact-information p{font-size:clamp(18px,1.2vw,23px)!important;line-height:1.62}

/* Compacto desktop: preservar proporciones sin sacrificar legibilidad. */
@media (min-width:981px) and (max-width:1500px){
  .creart-site .cm-hero h1{font-size:clamp(60px,6vw,88px)!important}
  .creart-site .cm-hero-intro{font-size:clamp(20px,1.5vw,23px)!important}
  .creart-site .cm-anniv-copy h2{font-size:clamp(34px,3.3vw,50px)!important}
  .creart-site .cm-anniv-copy p{font-size:clamp(15px,1.18vw,19px)!important}
  .creart-site .cm-stat strong{font-size:clamp(22px,2.1vw,31px)}
  .creart-site .cm-stat span{font-size:clamp(10px,.85vw,13px)}
  .creart-site .footer-main-row{grid-template-columns:minmax(130px,160px) minmax(330px,1fr) auto;gap:18px}
  .creart-site .footer-contact-mini{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;gap:16px;border-top:1px solid #eee;padding-top:12px}
}
@media (min-width:981px) and (max-width:1190px){
  .creart-site .primary-menu li a{font-size:16px!important}
  .creart-site .header-cta.btn{font-size:15px!important;padding:10px 14px;min-height:44px}
  .creart-site .cm-hero h1{font-size:clamp(54px,5.7vw,67px)!important}
  .creart-site .cm-anniversary{grid-template-columns:39% 61%;min-height:auto;row-gap:24px}
  .creart-site .cm-anniv-copy h2{font-size:clamp(38px,4.3vw,50px)!important}
  .creart-site .cm-stats{grid-column:1/-1;border-top:1px solid #ddd;border-left:0;width:100%;padding:18px 0 0}
  .creart-site .cm-stat strong{font-size:29px}
  .creart-site .cm-stat span{font-size:13px}
}
@media(max-width:980px){
  body.home.creart-site{--cm-home-header-h:79px}
  body.home.creart-site .site-header .header-inner{min-height:var(--cm-home-header-h)}
  .creart-site .primary-nav .primary-menu li a{font-size:20px!important}
  .creart-site .cm-hero-content{width:53%;max-width:none}
  body.home.creart-site .cm-hero{height:clamp(625px,67vw,690px)!important}
  .creart-site .cm-hero h1{font-size:clamp(41px,5.15vw,56px)!important}
  .creart-site .cm-hero-intro{font-size:clamp(17px,1.95vw,19px)!important;max-width:380px}
  .creart-site .cm-button{font-size:16px!important;min-height:51px;padding:12px 18px}
  .creart-site .cm-projects{padding:38px 20px 30px}
  .creart-site .cm-section-top h2{font-size:clamp(15px,1.7vw,18px)!important}
  .creart-site .cm-section-top a{font-size:15px!important}
  .creart-site .cm-project h3{font-size:clamp(24px,2.7vw,28px)!important}
  .creart-site .cm-project p{font-size:13px!important}
  .creart-site .cm-anniversary{grid-template-columns:39% 61%;min-height:auto;padding:32px 4%;row-gap:24px}
  .creart-site .cm-anniv-copy{padding:0 5%}
  .creart-site .cm-anniv-copy h2{font-size:clamp(36px,4.3vw,44px)!important}
  .creart-site .cm-anniv-copy p{font-size:clamp(16px,2vw,18px)!important;max-width:500px}
  .creart-site .cm-stats{grid-column:1/-1;width:100%;border-left:0;border-top:1px solid #ddd;grid-template-columns:repeat(4,minmax(0,1fr));padding:20px 0 0}
  .creart-site .cm-stat strong{font-size:clamp(25px,3.3vw,34px)}
  .creart-site .cm-stat span{font-size:12px}
  .creart-site .cm-cta{min-height:350px}
  .creart-site .cm-cta h2{font-size:clamp(38px,4.7vw,49px)!important}
  .creart-site .cm-cta-copy p:not(.cm-overline){font-size:17px!important;max-width:480px}
  .creart-site .footer-main-row{grid-template-columns:150px 1fr auto;gap:18px;min-height:auto}
  .creart-site .footer-contact-mini{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;gap:13px;border-top:1px solid #eee;padding-top:13px}
  .creart-site .footer-nav .footer-menu a{font-size:15px!important}
}
@media(max-width:700px){
  body.home.creart-site{--cm-home-header-h:70px}
  .creart-site .site-brand .brand-logo-img{max-width:130px;max-height:59px}
  body.home.creart-site .cm-hero{height:auto!important;display:flex;flex-direction:column-reverse}
  .creart-site .cm-hero-scene{height:360px}
  .creart-site .cm-hero-content{width:100%;max-width:100%;padding:37px 22px 35px}
  .creart-site .cm-hero h1{font-size:clamp(30px,9vw,53px)!important;line-height:.94!important;letter-spacing:-.077em!important}
  .creart-site .cm-hero .cm-overline{font-size:13px!important;letter-spacing:.27em}
  .creart-site .cm-hero-intro{font-size:clamp(17px,4.35vw,20px)!important;max-width:none;line-height:1.58!important}
  .creart-site .cm-actions{gap:12px}
  .creart-site .cm-actions .cm-button{font-size:clamp(15px,3.9vw,18px)!important;min-height:52px;padding:12px 18px}
  .creart-site .cm-projects{padding:38px 20px 32px}
  .creart-site .cm-section-top{align-items:start;gap:12px}
  .creart-site .cm-section-top h2{font-size:clamp(13px,3.35vw,17px)!important;letter-spacing:.17em}
  .creart-site .cm-section-top a{font-size:clamp(13px,3.5vw,16px)!important;text-align:right}
  .creart-site .cm-project h3{font-size:clamp(25px,6.4vw,34px)!important}
  .creart-site .cm-project p{font-size:clamp(13px,3.5vw,16px)!important;letter-spacing:.06em}
  .creart-site .cm-project-caption{min-height:102px}
  .creart-site .cm-anniversary{display:flex;flex-direction:column;gap:29px;padding:42px 22px}
  .creart-site .cm-anniv-logo{padding:0 0 24px}
  .creart-site .cm-anniv-copy{padding:0}
  .creart-site .cm-anniv-copy h2{font-size:clamp(37px,9vw,55px)!important}
  .creart-site .cm-anniv-copy p{font-size:clamp(17px,4.4vw,20px)!important;line-height:1.6!important}
  .creart-site .cm-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:18px 0 0}
  .creart-site .cm-stat{min-height:92px;display:flex;flex-direction:column;justify-content:center}
  .creart-site .cm-stat strong{font-size:clamp(27px,7vw,35px)}
  .creart-site .cm-stat span{font-size:clamp(12px,3vw,15px)}
  .creart-site .cm-cta{min-height:365px}
  .creart-site .cm-cta-copy{max-width:100%;padding:36px 22px}
  .creart-site .cm-cta h2{font-size:clamp(30px,8vw,46px)!important}
  .creart-site .cm-cta .cm-overline{font-size:13px!important}
  .creart-site .cm-cta-copy p:not(.cm-overline){font-size:clamp(16px,4.1vw,19px)!important;max-width:370px;line-height:1.48!important}
  .creart-site .cm-cta .cm-button{font-size:16px!important;min-height:51px}
  .creart-site .footer-main-row{grid-template-columns:1fr auto;gap:18px;padding:24px 22px}
  .creart-site .footer-nav .footer-menu{gap:14px 19px}
  .creart-site .footer-nav .footer-menu a{font-size:clamp(15px,4vw,18px)!important}
  .creart-site .footer-contact-mini{flex-direction:column;gap:9px}
  .creart-site .footer-contact-mini a,.creart-site .footer-contact-mini span{font-size:clamp(14px,3.8vw,17px)}
  .creart-site .footer-bottom-row{font-size:13px;gap:11px;padding:15px 22px 27px}
  .creart-site .footer-bottom-row span:last-child{font-size:12px;line-height:1.5}
}
@media(max-width:390px){
  .creart-site .cm-hero h1{font-size:clamp(29px,8.65vw,34px)!important}
  .creart-site .cm-actions{flex-direction:column}
  .creart-site .cm-actions .cm-button{width:100%}
  .creart-site .cm-cta h2{font-size:clamp(29px,7.75vw,33px)!important}
}
/* Final readability checks across compact desktop and tablet. */
@media (min-width:701px) and (max-width:1190px){
  .creart-site .cm-hero-intro{max-width:min(36vw,385px)!important}
}
@media (max-width:700px){
  /* Desktop positioning must not shift a mobile-width block past the viewport. */
  .creart-site .cm-hero-content{left:0!important;right:auto!important;transform:none!important}
}
@media (max-width:560px){
  /* Larger section headings need a second row for the portfolio link. */
  .creart-site .cm-section-top{flex-direction:column;align-items:flex-start;gap:9px}
  .creart-site .cm-section-top h2{font-size:16px!important;letter-spacing:.16em}
  .creart-site .cm-section-top a{font-size:15px!important}
}
