
/* CIRCULOHUB: durante la revision, Druk Wide solo funciona si esta instalada
   localmente. No solicitar un archivo webfont ausente (error 404). Para el
   lanzamiento agregar una fuente autorizada en assets/fonts/druk-wide-bold.woff2
   UNICAMENTE cuando se disponga de una licencia valida de uso web. */
@font-face {
  font-family: 'Circulo Druk';
  src: local('Druk Wide Bold'), local('DrukWideTrial-Bold'), local('Druk Wide Bold Trial');
  font-weight: 700;
  font-display: swap;
}
/* CÍRCULO — identidad visual 2026. Edición V2 carbón + magia + Druk Wide.
   Fuente Druk Wide SOLO mediante instalación local o webfont debidamente licenciada.
   No se distribuyen ni adjuntan archivos de fuentes propietarias. */
:root {
  --blue: #4A80ED;
  --sky: #E1F9FF;
  --lime: #DCFF9F;
  --coral: #FF5267;
  --lavender: #D9AEFF;
  --charcoal: #3C3C3B;
  --smoke: #F5F5F5;
  --white: #fff;
  --font-display: 'Clash Display', Arial, sans-serif;
  --font-body: 'Averta', 'Averta Regular', 'Clash Display', Arial, sans-serif;
  --font-wide: 'Circulo Druk', 'Druk Wide Bold Trial', 'Druk Wide', 'Arial Black', 'Clash Display', sans-serif;
  --container: 1440px;
  --radius: 22px;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:95px; }
body { margin:0; background:var(--smoke); color:var(--charcoal); font-family:var(--font-body); -webkit-font-smoothing:antialiased; }
body.menu-open { overflow:hidden; }
::selection { background:var(--lime); color:var(--charcoal); }
a { color:inherit; text-decoration:none; }
button, input, select, textarea { font:inherit; }
button, a { -webkit-tap-highlight-color:transparent; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline:3px solid var(--coral); outline-offset:3px; }
img { max-width:100%; display:block; }
.container { width:min(calc(100% - 104px), var(--container)); margin-inline:auto; }
.skip-link { position:fixed; left:20px; top:-80px; z-index:100; background:var(--lime); padding:12px 18px; border-radius:16px; font-weight:700; }
.skip-link:focus { top:10px; }
.reveal { opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1); }
.reveal.visible { opacity:1; transform:translateY(0); }

/* Navegación */
.site-header { position:sticky; top:0; z-index:40; height:95px; display:flex; align-items:center; background:rgba(245,245,245,.98); border-bottom:1px solid rgba(60,60,59,.11); transition:box-shadow .2s ease, height .2s ease; }
.site-header.scrolled { box-shadow:0 8px 35px rgba(60,60,59,.065); }
.header-inner { display:flex; align-items:center; gap:36px; height:100%; }
.brand { flex:0 0 auto; width:208px; }
.brand img { width:100%; height:auto; }
.desktop-nav { display:flex; gap:42px; margin-left:auto; align-items:center; font-size:14px; font-weight:600; }
.desktop-nav a { padding:20px 0; position:relative; }
.desktop-nav a::after { content:''; position:absolute; width:0; left:0; bottom:12px; height:2px; background:var(--blue); transition:width .25s ease; }
.desktop-nav a:hover::after { width:100%; }
.header-cta { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; background:var(--blue); color:white; padding:15px 20px 15px 23px; border-radius:999px; min-width:138px; font-size:14px; font-weight:700; transition:background .25s ease,transform .25s ease; }
.header-cta:hover { background:var(--charcoal); transform:translateY(-2px); }
.header-cta span { font-size:19px; line-height:1; }
.menu-toggle,.mobile-menu { display:none; }

/* Hero */
.hero { background:var(--smoke); overflow:hidden; }
.hero-shell { min-height:calc(100vh - 95px); display:flex; flex-direction:column; }
.hero-meta { display:flex; justify-content:space-between; align-items:center; padding:31px 0 28px; border-bottom:1px solid rgba(60,60,59,.15); }
.eyebrow { display:inline-flex; gap:10px; align-items:center; text-transform:uppercase; font-family:var(--font-body); font-weight:700; font-size:11px; letter-spacing:.13em; }
.eyebrow-dot { height:8px;width:8px;border-radius:50%;background:var(--blue); }
.edition { font-size:11px; letter-spacing:.12em; font-weight:700; }
.sep { padding:0 10px; color:var(--blue); }
.hero-layout { display:grid; grid-template-columns:56% 44%; gap:0; align-items:center; flex:1; padding:52px 0 52px; }
.hero-content { position:relative; z-index:2; padding:0 16px 0 0; }
.hero h1 { margin:0 0 30px; max-width:1000px; font-family:var(--font-display); font-size:clamp(68px,7vw,119px); font-weight:700; line-height:.89; letter-spacing:-.064em; }
.hero-accent { color:var(--blue); }
.hero-content p { max-width:440px; margin:0; font-size:clamp(17px,1.45vw,21px); line-height:1.5; letter-spacing:-.025em; }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:34px; margin-top:42px; }
.pill-button { display:inline-flex; align-items:center; justify-content:space-between; gap:25px; border-radius:999px; padding:18px 23px 18px 26px; font-size:14px; font-weight:700; transition:transform .2s ease, background .2s ease,color .2s ease; }
.pill-button:hover { transform:translateY(-3px); }
.pill-button span { font-size:21px; line-height:.8; }
.pill-dark { background:var(--charcoal); color:var(--white); }
.pill-dark:hover { background:var(--blue); }
.text-link { display:inline-flex; gap:15px; align-items:center; font-size:14px; font-weight:700; border-bottom:1px solid var(--charcoal); padding-bottom:7px; }
.text-link span { font-size:19px; }
.hero-visual { width:100%; min-height:615px; position:relative; }
.hero-blue-slab { position:absolute; inset:0 0 0 25px; border-radius:300px 300px 24px 24px; background:var(--blue); overflow:hidden; isolation:isolate; }
.hero-vector { position:absolute; inset:-30px -150px -10px -200px; width:calc(100% + 350px); height:calc(100% + 40px); object-fit:cover; opacity:.35; filter:brightness(0) invert(1); transition:transform 1s ease; }
.hero-visual:hover .hero-vector { transform:scale(1.06) rotate(2deg); }
.visual-index { position:absolute; top:36px; left:42px; font-size:13px; font-weight:700; letter-spacing:.07em; color:var(--white); }
.visual-vertical { position:absolute; right:25px; top:45px; color:var(--white); font-size:11px; font-weight:700; letter-spacing:.2em; writing-mode:vertical-rl; }
.hero-circle-label { position:absolute; bottom:48px; left:45px; width:210px; height:210px; background:var(--lime); color:var(--charcoal); border-radius:50%; display:flex; justify-content:center; align-items:center; transform:rotate(-12deg); }
.hero-circle-label span { font-family:var(--font-display); font-weight:700; font-size:27px; line-height:.9; letter-spacing:-.05em; text-align:center; }
.hero-circle-label b { position:absolute; font-size:28px; right:36px; top:28px; font-weight:400; }
.hero-floating-pill { position:absolute; left:-26px; top:110px; z-index:2; border-radius:30px; padding:12px 18px; background:var(--lime); font-size:10px; font-weight:700; letter-spacing:.09em; box-shadow:6px 10px 0 rgba(60,60,59,.08); transform:rotate(-7deg); }
.pill-icon { font-size:19px; margin-right:7px; vertical-align:-2px; }
.hero-bottom { display:flex; justify-content:space-between; gap:30px; border-top:1px solid rgba(60,60,59,.15); padding:26px 0 30px; font-size:11px; letter-spacing:.13em; font-weight:700; }
.hero-bottom-left { display:flex; gap:10px; align-items:center; }
.blue-disc { width:10px; height:10px; background:var(--blue); border-radius:100%; display:inline-block; }
.hero-bottom-right span { font-size:17px; vertical-align:middle; padding-left:14px; }

/* Intro */
.intro-strip { background:var(--sky); border-top:1px solid rgba(60,60,59,.08); }
.intro-grid { display:grid; grid-template-columns:18% 1fr 75px; align-items:center; gap:24px; padding:75px 0; }
.intro-label { align-self:start; font-size:11px; letter-spacing:.1em; font-weight:700; display:flex; justify-content:space-between; padding-top:10px; margin:0; }
.intro-label span { font-size:20px; color:var(--blue); }
.intro-grid>p:nth-child(2) { font-family:var(--font-display); font-weight:500; letter-spacing:-.046em; font-size:clamp(31px,3.45vw,51px); line-height:1.12; max-width:900px; margin:0; }
.intro-grid strong { color:var(--blue); font-weight:600; }
.intro-grid img { width:72px; opacity:.9; }

/* Servicios */
.section-pad { padding:125px 0; }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:65px; margin-bottom:58px; }
.section-heading>div { flex:1 1 auto; }
.section-kicker { margin-bottom:24px; }
.tiny-square { display:inline-block; height:8px; width:8px; background:var(--blue); }
.section-heading h2, .approach-intro h2 { font-family:var(--font-display); font-size:clamp(55px,5.2vw,88px); line-height:.98; letter-spacing:-.061em; font-weight:600; margin:0; }
.text-blue { color:var(--blue); }
.section-heading>p { max-width:315px; font-size:15px; line-height:1.65; margin:0 0 5px; }
.services-section { background:var(--smoke); }
.service-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.service-card { min-height:690px; position:relative; border-radius:var(--radius); overflow:hidden; display:flex; flex-direction:column; padding:34px 37px 37px; transition:transform .35s ease; isolation:isolate; }
.service-card:hover { transform:translateY(-6px); }
.service-influencers { background:var(--lime); }
.service-production { background:var(--sky); }
.service-top { display:flex; align-items:center; justify-content:space-between; position:relative; z-index:2; }
.service-number { font-size:11px; font-weight:700; letter-spacing:.14em; }
.service-plus { font-size:34px; line-height:1; font-weight:400; }
.service-art { position:absolute; width:450px; height:450px; right:-60px; top:-90px; transform:rotate(15deg); background-image:url('assets/isotipo-azul-royal.png'); background-size:contain; background-position:center; background-repeat:no-repeat; opacity:.17; }
.service-orbit { display:none; }
.service-vector { position:absolute; top:-80px; right:-140px; width:105%; height:70%; object-fit:cover; mix-blend-mode:multiply; opacity:.23; transform:rotate(-10deg); }
.service-card-content { position:relative; z-index:1; margin-top:auto; }
.service-card h3 { margin:0 0 20px; font-family:var(--font-display); font-size:clamp(43px,4.3vw,68px); line-height:.93; letter-spacing:-.058em; font-weight:600; }
.period { color:var(--blue); }
.service-card p { max-width:365px; margin:0 0 26px; font-size:16px; line-height:1.53; }
.service-points { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:28px; }
.service-points span { font-size:11px; font-weight:700; padding:7px 12px 8px; border:1px solid rgba(60,60,59,.3); border-radius:30px; }
.service-link { display:flex; justify-content:space-between; align-items:center; font-size:14px; font-weight:700; border-top:1px solid rgba(60,60,59,.4); padding-top:20px; }
.service-link span { font-size:24px; }
.service-link:hover span { transform:translate(3px,-3px); }
.service-link span { transition:transform .2s; }

/* Manifesto */
.statement { background:var(--charcoal); color:var(--smoke); min-height:685px; overflow:hidden; position:relative; }
.statement::before { content:''; position:absolute; inset:0; opacity:.2; background-image:url('assets/patron-isotipo.png'); background-size:900px; background-repeat:repeat; mix-blend-mode:screen; }
.statement-inner { position:relative; z-index:2; padding-top:55px; padding-bottom:43px; }
.statement-top { display:flex; justify-content:space-between; align-items:center; }
.statement-top .eyebrow { color:var(--lime); }
.statement-counter { font-size:11px; letter-spacing:.14em; }
.statement h2 { font-family:var(--font-wide); font-weight:700; font-size:clamp(67px,9.6vw,156px); line-height:.87; letter-spacing:-.073em; margin:75px 0 75px; text-align:center; }
.statement h2 span { color:var(--lime); }
.statement-dot { color:var(--coral); }
.statement-bottom { display:flex; justify-content:space-between; border-top:1px solid rgba(245,245,245,.2); align-items:center; padding-top:25px; font-size:11px; letter-spacing:.1em; font-weight:700; }
.statement-bottom img { width:32px; filter:brightness(0) invert(1); }

/* Proyectos */
.projects-section { background:#fff; }
.demo-note { margin:0 0 23px; border-top:1px solid rgba(60,60,59,.18); padding:17px 0 0; font-size:12px; color:var(--charcoal); opacity:.7; line-height:1.5; }
.note-dot { display:inline-block; border-radius:50%; background:var(--coral); width:7px; height:7px; margin-right:8px; }
.projects-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:45px 22px; }
.project-feature { grid-row:span 2; }
.project-art { overflow:hidden; border-radius:18px; height:330px; position:relative; isolation:isolate; display:flex; align-items:center; justify-content:center; transition:border-radius .3s ease; }
.project-feature .project-art { height:742px; }
.project-tile:hover .project-art { border-radius:30px; }
.art-blue { background:var(--blue); color:var(--white); }
.art-blue>img { position:absolute; inset:-25%; height:140%; width:140%; max-width:none; object-fit:cover; filter:brightness(0) invert(1); opacity:.22; }
.art-label { font-family:var(--font-display); font-weight:700; font-size:clamp(54px,5.3vw,85px); line-height:.88; letter-spacing:-.065em; position:relative; z-index:1; text-align:center; transform:rotate(-6deg); }
.art-label span { color:var(--lime); }
.art-label.small { font-size:clamp(41px,4.1vw,64px); }
.art-bottom { position:absolute; bottom:28px; left:28px; font-size:10px; font-weight:700; letter-spacing:.12em; z-index:2; }
.art-lime { background:var(--lime); color:var(--charcoal); }
.art-lime .art-label span { color:var(--blue); }
.art-lime-ring { position:absolute; inset:0; background:url('assets/isotipo-azul-royal.png') center/75% auto no-repeat; opacity:.18; transform:rotate(10deg); }
.art-coral { background:var(--coral); color:var(--smoke); }
.art-coral .art-label { text-align:left; margin-left:60px; margin-right:auto; }
.art-coral .art-label span { color:var(--lime); }
.big-type { position:absolute; font:700 300px/.7 var(--font-display); opacity:.17; right:-65px; top:-40px; }
.project-foot { display:flex; justify-content:space-between; align-items:center; padding-top:18px; gap:15px; }
.project-category { display:block; font-size:10px; font-weight:700; letter-spacing:.12em; color:var(--blue); margin-bottom:6px; }
.project-foot h3 { font:600 clamp(22px,2vw,30px)/1.1 var(--font-display); letter-spacing:-.035em; margin:0; }
.project-arrow { border:1px solid rgba(60,60,59,.4); width:48px; height:48px; display:grid; place-items:center; flex-shrink:0; font-size:26px; border-radius:50%; transition:background .2s ease; }
.project-tile:hover .project-arrow { background:var(--lime); }

/* Método */
.approach-section { background:var(--sky); }
.approach-grid { display:grid; grid-template-columns:47% 1fr; gap:100px; }
.approach-intro h2 { margin-bottom:35px; }
.approach-intro>p { max-width:410px; font-size:16px; line-height:1.65; margin:0 0 28px; }
.pill-blue { background:var(--blue); color:var(--smoke); }
.pill-blue:hover { background:var(--charcoal); }
.approach-steps { border-top:1px solid rgba(60,60,59,.25); }
.step { display:grid; grid-template-columns:55px 1fr 30px; gap:15px; align-items:start; border-bottom:1px solid rgba(60,60,59,.25); padding:30px 0; }
.step-num { color:var(--blue); font-size:13px; font-weight:700; letter-spacing:.1em; padding-top:6px; }
.step h3 { font:600 clamp(30px,2.75vw,45px)/1.1 var(--font-display); letter-spacing:-.05em; margin:0 0 12px; }
.step p { max-width:300px; margin:0; font-size:14px; line-height:1.6; }
.step-symbol { font-size:26px; color:var(--blue); }

/* Contacto */
.contact-section { background:var(--blue); color:var(--white); padding:120px 0; }
.contact-grid { display:grid; grid-template-columns:1fr minmax(390px,480px); gap:8vw; align-items:center; }
.contact-left { position:relative; }
.contact-left .eyebrow { color:var(--lime); }
.contact-left h2 { font:600 clamp(78px,9vw,150px)/.89 var(--font-display); letter-spacing:-.075em; margin:30px 0; }
.contact-left h2 em { color:var(--lime); font-weight:600; font-style:normal; }
.contact-left p { max-width:405px; font-size:17px; line-height:1.55; }
.contact-badge { border:1px solid rgba(255,255,255,.5); border-radius:999px; display:inline-flex; align-items:center; gap:50px; font-size:11px; letter-spacing:.15em; font-weight:700; padding:12px 14px 12px 21px; margin-top:33px; }
.contact-badge span { font-size:30px; }
.contact-card { background:var(--smoke); color:var(--charcoal); border-radius:21px; padding:31px 32px 28px; box-shadow:18px 18px 0 rgba(60,60,59,.12); }
.contact-card-top { display:flex; justify-content:space-between; align-items:center; gap:15px; padding-bottom:22px; border-bottom:1px solid rgba(60,60,59,.2); font-size:11px; letter-spacing:.1em; font-weight:700; }
.contact-card-top span:last-child { font-size:28px; }
#contact-form { display:flex; flex-direction:column; }
#contact-form label { font-size:12px; font-weight:700; margin-top:18px; margin-bottom:8px; }
#contact-form label span { color:var(--blue); }
#contact-form input, #contact-form select, #contact-form textarea { width:100%; border:1px solid rgba(60,60,59,.2); background:var(--white); border-radius:8px; padding:12px 14px; color:var(--charcoal); font-size:14px; transition:border-color .2s ease; }
#contact-form input:focus, #contact-form select:focus, #contact-form textarea:focus { border-color:var(--blue); }
#contact-form textarea { resize:vertical; min-height:81px; }
#contact-form input::placeholder, #contact-form textarea::placeholder { color:rgba(60,60,59,.52); }
.contact-submit { margin-top:23px; padding:15px 18px; border:0; width:100%; background:var(--lime); color:var(--charcoal); border-radius:999px; font-size:14px; font-weight:700; cursor:pointer; display:flex; align-items:center; justify-content:space-between; transition:background .2s,transform .2s; }
.contact-submit:hover { background:var(--sky); transform:translateY(-2px); }
.contact-submit span { font-size:23px; }
.form-note { margin:13px 0 0; font-size:11px; line-height:1.55; color:rgba(60,60,59,.78); }

/* Footer */
.site-footer { background:var(--smoke); }
.footer-top { display:grid; grid-template-columns:1.3fr .8fr .7fr; gap:40px; align-items:start; padding:70px 0 83px; }
.footer-top img { width:230px; }
.footer-top p { font:500 25px/1.25 var(--font-display); letter-spacing:-.05em; margin:0; }
.footer-top nav { display:flex; flex-direction:column; gap:15px; font-size:14px; font-weight:600; justify-self:end; }
.footer-top nav a:hover { color:var(--blue); }
.footer-bottom { border-top:1px solid rgba(60,60,59,.2); padding:22px 0 28px; display:flex; gap:28px; justify-content:space-between; font-size:10px; font-weight:700; letter-spacing:.09em; }
.footer-bottom a:hover { color:var(--blue); }

@media (max-width:1260px) {
  .container { width:calc(100% - 76px); }
  .hero h1 { font-size:clamp(62px,7.1vw,95px); }
  .hero-visual { min-height:530px; }
  .hero-circle-label { width:168px; height:168px; bottom:35px; }
  .hero-circle-label span { font-size:23px; }
  .service-card { min-height:640px; }
  .statement h2 { font-size:clamp(63px,9.6vw,126px); }
  .approach-grid { gap:55px; }
}
@media (max-width:1000px) {
  .container { width:calc(100% - 64px); }
  .desktop-nav { gap:24px; }
  .brand { width:180px; }
  .hero-layout { grid-template-columns:1fr .8fr; }
  .hero-content p { max-width:380px; }
  .hero h1 { font-size:clamp(59px,7.5vw,85px); }
  .hero-visual { min-height:500px; }
  .hero-floating-pill { left:-24px; top:85px; }
  .hero-circle-label { left:32px; }
  .service-card { min-height:600px; padding:27px; }
  .service-card h3 { font-size:clamp(39px,4.7vw,52px); }
  .projects-grid { gap:35px 18px; }
  .project-feature .project-art { height:652px; }
  .project-art { height:285px; }
  .statement { min-height:auto; }
  .statement h2 { margin:82px 0 88px; }
  .contact-grid { gap:45px; grid-template-columns:1fr 420px; }
  .contact-left h2 { font-size:clamp(72px,9vw,105px); }
}
@media (max-width:850px) {
  .site-header { height:77px; }
  .header-inner { gap:16px; }
  .brand { width:188px; }
  .desktop-nav { display:none; }
  .header-cta { margin-left:auto; padding:12px 17px; min-width:110px; }
  .menu-toggle { display:flex; flex:0 0 auto; width:42px; height:42px; justify-content:center; align-items:center; flex-direction:column; gap:5px; background:transparent; border:1px solid var(--charcoal); border-radius:50%; cursor:pointer; }
  .menu-toggle span { width:19px; height:2px; background:var(--charcoal); transition:transform .2s; }
  .menu-toggle[aria-expanded=true] span:first-child { transform:translateY(3.5px) rotate(45deg); }
  .menu-toggle[aria-expanded=true] span:last-child { transform:translateY(-3.5px) rotate(-45deg); }
  .mobile-menu:not([hidden]) { display:flex; flex-direction:column; position:absolute; top:76px; left:0; right:0; background:var(--smoke); padding:20px 32px 32px; box-shadow:0 20px 30px rgba(0,0,0,.12); }
  .mobile-menu a { padding:19px 0; border-bottom:1px solid rgba(60,60,59,.2); display:flex; justify-content:space-between; font:600 28px/1 var(--font-display); }
  .hero-shell { min-height:auto; }
  .hero-layout { grid-template-columns:1fr; padding:68px 0 52px; gap:60px; }
  .hero h1 { font-size:clamp(73px,11vw,110px); max-width:780px; }
  .hero-content p { max-width:520px; }
  .hero-visual { min-height:530px; max-width:650px; margin:auto; }
  .hero-blue-slab { inset:0 0 0 0; border-radius:260px 260px 22px 22px; }
  .hero-floating-pill { left:-10px; }
  .intro-grid { grid-template-columns:110px 1fr; }
  .intro-grid img { display:none; }
  .section-pad { padding:96px 0; }
  .section-heading { align-items:start; gap:28px; flex-direction:column; }
  .section-heading>p { max-width:520px; }
  .service-card { min-height:570px; }
  .service-card p { font-size:14px; }
  .service-card h3 { font-size:clamp(37px,5vw,49px); }
  .approach-grid { grid-template-columns:1fr; gap:70px; }
  .approach-intro>p { max-width:560px; }
  .approach-steps { max-width:100%; }
  .contact-grid { grid-template-columns:1fr; gap:55px; }
  .contact-left h2 { font-size:clamp(85px,12vw,128px); }
  .contact-left p { max-width:530px; }
  .contact-card { width:min(100%,590px); }
}
@media (max-width:630px) {
  :root { --radius:18px; }
  .container { width:calc(100% - 38px); }
  .site-header { height:72px; }
  .brand { width:160px; }
  .header-cta { display:none; }
  .menu-toggle { margin-left:auto; }
  .mobile-menu:not([hidden]) { top:71px; padding-left:19px; padding-right:19px; }
  .hero-meta { padding:24px 0; }
  .edition { display:none; }
  .eyebrow { font-size:10px; }
  .hero-layout { padding:60px 0 35px; gap:49px; }
  .hero h1 { font-size:clamp(61px,12vw,81px); letter-spacing:-.07em; margin-bottom:26px; }
  .hero-content p { font-size:17px; }
  .hero-actions { flex-direction:column; align-items:start; gap:23px; margin-top:30px; }
  .hero-visual { min-height:390px; width:100%; }
  .hero-blue-slab { border-radius:180px 180px 16px 16px; }
  .hero-vector { inset:-10px -100px -10px -100px; width:calc(100% + 200px); }
  .hero-circle-label { width:142px; height:142px; left:26px; bottom:26px; }
  .hero-circle-label span { font-size:19px; }
  .hero-circle-label b { font-size:19px; top:22px; right:23px; }
  .hero-floating-pill { font-size:9px; top:72px; left:-8px; padding:10px 13px; }
  .hero-bottom { flex-direction:column; gap:10px; padding:20px 0 25px; font-size:9px; }
  .intro-grid { grid-template-columns:1fr; gap:22px; padding:62px 0; }
  .intro-label { justify-content:initial; gap:14px; }
  .intro-grid>p:nth-child(2) { font-size:clamp(30px,8vw,40px); }
  .section-pad { padding:77px 0; }
  .section-heading { margin-bottom:36px; }
  .section-heading h2, .approach-intro h2 { font-size:clamp(51px,10vw,69px); }
  .service-grid { grid-template-columns:1fr; gap:17px; }
  .service-card { min-height:575px; padding:25px 24px 29px; }
  .service-art { width:340px; height:340px; right:-60px; top:-40px; }
  .service-card h3 { font-size:clamp(45px,10vw,65px); }
  .service-card p { font-size:15px; }
  .statement h2 { font-size:clamp(50px,10.6vw,80px); line-height:.94; margin:88px 0 95px; }
  .statement-inner { padding-top:36px; padding-bottom:24px; }
  .statement-top, .statement-bottom { font-size:10px; }
  .statement-counter { display:none; }
  .statement::before { background-size:630px; }
  .projects-grid { grid-template-columns:1fr; gap:36px; }
  .project-feature { grid-row:auto; }
  .project-feature .project-art, .project-art { height:380px; }
  .art-label { font-size:clamp(50px,12vw,75px); }
  .art-label.small { font-size:clamp(42px,11vw,60px); }
  .project-foot h3 { font-size:25px; }
  .approach-grid { gap:55px; }
  .step { grid-template-columns:35px 1fr 25px; gap:10px; padding:26px 0; }
  .step h3 { font-size:32px; }
  .contact-section { padding:78px 0 87px; }
  .contact-left h2 { font-size:clamp(76px,15vw,104px); }
  .contact-left p { font-size:16px; }
  .contact-card { padding:23px 21px 24px; box-shadow:9px 9px 0 rgba(60,60,59,.14); }
  .footer-top { grid-template-columns:1fr; gap:30px; padding:58px 0; }
  .footer-top nav { justify-self:start; display:grid; grid-template-columns:1fr 1fr; gap:12px 32px; }
  .footer-bottom { flex-direction:column; gap:12px; font-size:9px; }
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; scroll-behavior:auto!important; }
  .reveal { opacity:1; transform:none; }
}


/* ================================================
   CÍRCULO / V2 - GRIS CARBÓN + LOGO MAGIA + DRUK WIDE
   Las superficies base son gris carbón #3C3C3B.
   La paleta institucional vive en elementos puntuales.
   ================================================ */
:root { color-scheme: dark; --magic-start: #DCFF9F; --magic-end: #E1F9FF; }
body { background:var(--charcoal); color:var(--smoke); }
.site-header { background:rgba(60,60,59,.96); border-bottom:1px solid rgba(245,245,245,.18); backdrop-filter:blur(18px); }
.site-header.scrolled { box-shadow:0 14px 30px rgba(0,0,0,.24); }
.desktop-nav a::after { background:var(--lime); }
.header-cta { background:var(--lime); color:var(--charcoal); }
.header-cta:hover { background:var(--sky); }
.hero { background:var(--charcoal); }
.hero-meta, .hero-bottom { border-color:rgba(245,245,245,.22); }
.hero-accent { color:var(--lime); background:linear-gradient(105deg,var(--lime) 15%,var(--sky) 95%); background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.eyebrow-dot { background:var(--lime); }
.sep { color:var(--lime); }
.pill-dark { background:var(--lime); color:var(--charcoal); }
.pill-dark:hover { background:var(--sky); color:var(--charcoal); }
.text-link { border-bottom-color:rgba(245,245,245,.54); }
.hero-circle-label { background:var(--charcoal); color:var(--lime); border:1px solid rgba(225,249,255,.35); box-shadow:0 12px 36px rgba(0,0,0,.18); }
.hero-floating-pill { background:var(--sky); color:var(--charcoal); }
.blue-disc { background:var(--lime); }
.intro-strip, .services-section, .projects-section, .approach-section, .site-footer { background:var(--charcoal); }
.intro-strip { border-top:1px solid rgba(245,245,245,.17); border-bottom:1px solid rgba(245,245,245,.17); }
.intro-grid strong, .intro-label span { color:var(--lime); }
.intro-grid img { opacity:.8; }
.section-kicker { color:var(--lime); }
.tiny-square { background:var(--coral); }
.text-blue { color:var(--lime); }
.section-heading>p, .approach-intro>p, .step p { color:rgba(245,245,245,.77); }
.section-heading h2, .approach-intro h2 {
  font-family:var(--font-wide); font-weight:700; font-size:clamp(29px,3.45vw,51px);
  line-height:1.25; letter-spacing:-.025em; text-transform:uppercase; overflow-wrap:normal;
}
.hero h1 {
  font-family:var(--font-wide); font-weight:700; text-transform:uppercase;
  font-size:clamp(33px,3.55vw,56px); line-height:1.28; letter-spacing:-.025em;
  max-width:100%; margin-bottom:28px;
}
.hero-content p { color:rgba(245,245,245,.84); }
.hero-blue-slab { box-shadow:0 0 0 1px rgba(245,245,245,.07); }
.service-card { color:var(--charcoal); }
.service-card h3 { font-family:var(--font-wide); font-size:clamp(25px,2.5vw,37px); font-weight:700; line-height:1.22; letter-spacing:-.025em; text-transform:uppercase; }
.service-card .period { color:var(--blue); }
.statement { background:var(--charcoal); border-block:1px solid rgba(245,245,245,.17); }
.statement::before { opacity:.12; }
.statement h2 { font-family:var(--font-wide); font-weight:700; font-size:clamp(31px,5.8vw,88px); line-height:1.17; letter-spacing:-.022em; }
.statement h2 span { color:var(--lime); }
.statement-bottom img { filter:none; opacity:.85; }
.demo-note { color:var(--smoke); opacity:.73; border-top-color:rgba(245,245,245,.25); }
.project-category { color:var(--lime); }
.project-foot h3 { font-family:var(--font-wide); font-weight:700; font-size:clamp(17px,1.45vw,22px); line-height:1.3; letter-spacing:-.02em; text-transform:uppercase; }
.project-arrow { border-color:rgba(245,245,245,.37); color:var(--smoke); }
.project-tile:hover .project-arrow { color:var(--charcoal); }
.art-label { font-family:var(--font-wide); font-weight:700; font-size:clamp(35px,3.7vw,55px); line-height:1.22; letter-spacing:-.025em; }
.art-label.small { font-size:clamp(28px,2.6vw,39px); }
.big-type { font-family:var(--font-wide); }
.approach-section { border-top:1px solid rgba(245,245,245,.17); }
.approach-steps, .step { border-color:rgba(245,245,245,.21); }
.step-num, .step-symbol { color:var(--lime); }
.step h3 { font-family:var(--font-wide); font-weight:700; font-size:clamp(20px,1.73vw,27px); line-height:1.25; letter-spacing:-.025em; text-transform:uppercase; }
.pill-blue { background:var(--lime); color:var(--charcoal); }
.pill-blue:hover { background:var(--sky); color:var(--charcoal); }
.contact-section { background:var(--charcoal); border-top:1px solid rgba(245,245,245,.18); }
.contact-left .eyebrow { color:var(--lime); }
.contact-left h2 { font-family:var(--font-wide); font-size:clamp(34px,4.1vw,65px); font-weight:700; line-height:1.24; letter-spacing:-.024em; text-transform:uppercase; }
.contact-left h2 em { color:var(--lime); }
.contact-left p { color:rgba(245,245,245,.82); }
.contact-badge { border-color:rgba(245,245,245,.32); color:var(--lime); }
.contact-card { color:var(--charcoal); box-shadow:15px 15px 0 rgba(74,128,237,.13); color-scheme:light; }
.site-footer { border-top:1px solid rgba(245,245,245,.21); }
.footer-top p { font-family:var(--font-wide); font-size:clamp(15px,1.6vw,22px); line-height:1.48; letter-spacing:-.02em; text-transform:uppercase; }
.footer-top nav a:hover, .footer-bottom a:hover { color:var(--lime); }
.footer-bottom { border-top-color:rgba(245,245,245,.2); }
/* Compensación real de anchura de la familia Druk Wide en distintas pantallas */
@media (max-width:1260px){
  .hero h1 { font-size:clamp(30px,3.45vw,51px); }
  .statement h2 { font-size:clamp(30px,5.6vw,78px); }
}
@media (max-width:1000px){
  .hero h1 { font-size:clamp(28px,3.5vw,46px); }
  .service-card h3 { font-size:clamp(24px,2.5vw,32px); }
  .contact-left h2 { font-size:clamp(32px,4.6vw,49px); }
}
@media (max-width:850px){
  .menu-toggle { border-color:rgba(245,245,245,.5); }
  .menu-toggle span { background:var(--smoke); }
  .mobile-menu:not([hidden]) { background:var(--charcoal); box-shadow:0 25px 30px rgba(0,0,0,.35); }
  .mobile-menu a { border-color:rgba(245,245,245,.22); font-family:var(--font-wide); font-size:23px; font-weight:700; }
  .hero h1 { font-size:clamp(33px,5.8vw,50px); }
  .section-heading h2,.approach-intro h2 { font-size:clamp(29px,5.2vw,44px); }
  .service-card h3 { font-size:clamp(23px,3.5vw,37px); }
  .statement h2 { font-size:clamp(30px,6.3vw,54px); }
  .contact-left h2 { font-size:clamp(33px,6.6vw,57px); }
}
@media (max-width:630px){
  .hero h1 { font-size:clamp(24px,7vw,33px); letter-spacing:-.015em; margin-bottom:24px; }
  .hero-layout { padding-top:55px; }
  .hero-visual { min-height:390px; }
  .section-heading h2,.approach-intro h2 { font-size:clamp(24px,6.5vw,32px); line-height:1.3; }
  .service-card h3 { font-size:clamp(25px,7.2vw,32px); }
  .hero-circle-label span { font-size:19px; }
  .statement h2 { font-size:clamp(24px,7.3vw,34px); letter-spacing:-.018em; line-height:1.32; }
  .art-label { font-size:clamp(27px,8.2vw,38px); }
  .art-label.small { font-size:clamp(24px,6.5vw,30px); }
  .project-foot h3 { font-size:clamp(16px,4.7vw,21px); }
  .step h3 { font-size:clamp(18px,5vw,24px); }
  .contact-left h2 { font-size:clamp(28px,7.8vw,37px); }
  .footer-top p { font-size:clamp(15px,4.2vw,20px); }
}


/* =======================================================
   V3 / MAKING OF · PIEZAS REALES
   Respeta carbón #3C3C3B, magia y Druk Wide del sistema 2026
   ======================================================= */
.hero-layout { grid-template-columns:52% 48%; }
.hero-content { padding-right:28px; }
.hero-content p { max-width:470px; }
.hero-visual.hero-video-v3 { min-height:605px; width:100%; }
.hero-video-stage { position:absolute; inset:0 0 0 16px; border-radius:22px; overflow:hidden; isolation:isolate; background:#161719; border:1px solid rgba(225,249,255,.12); box-shadow:0 22px 75px rgba(0,0,0,.17); }
.hero-reel { width:100%; height:100%; display:block; object-fit:cover; background:#111; }
.video-veil { position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,rgba(0,0,0,.43),transparent 29%,transparent 55%,rgba(0,0,0,.67) 100%); }
.video-topline { position:absolute; top:27px; left:24px; right:24px; display:flex; justify-content:space-between; align-items:center; gap:12px; font-size:10px; letter-spacing:.095em; font-weight:700; color:#FFF; }
.video-status { display:flex; align-items:center; gap:9px; }
.video-status i { display:block; width:7px; height:7px; border-radius:50%; background:var(--lime); box-shadow:0 0 0 4px rgba(220,255,159,.17); }
.video-bottomline { position:absolute; bottom:26px; left:26px; right:26px; display:flex; align-items:end; gap:10px; justify-content:space-between; }
.video-bottomline>div { display:flex; flex-direction:column; gap:8px; }
.video-bottomline small { font-size:10px; font-weight:700; letter-spacing:.2em; color:var(--lime); }
.video-bottomline strong { display:block; font:700 clamp(17px,1.8vw,27px)/1.2 var(--font-wide); letter-spacing:-.015em; text-transform:uppercase; color:var(--smoke); max-width:290px; }
.video-bottomline strong em { font-style:normal; color:var(--lime); }
.video-open { border:1px solid rgba(245,245,245,.55); cursor:pointer; background:rgba(60,60,59,.22); color:var(--white); border-radius:50%; width:58px; height:58px; font-size:28px; display:grid; place-items:center; backdrop-filter:blur(6px); transition:background .24s,transform .24s; flex:0 0 auto; }
.video-open:hover { color:var(--charcoal); background:var(--lime); transform:rotate(45deg); }
.hero-reel-stamp { display:flex; align-items:center; gap:9px; position:absolute; z-index:2; left:-30px; top:54%; transform:rotate(-9deg); background:var(--lime); color:var(--charcoal); box-shadow:0 15px 30px rgba(0,0,0,.21); border-radius:999px; padding:10px 17px 10px 10px; }
.hero-reel-stamp img { width:34px; height:34px; object-fit:contain; }
.hero-reel-stamp span { font:700 10px/1.2 var(--font-wide); letter-spacing:.01em; text-transform:uppercase; }

.case-intro { display:flex; justify-content:space-between; gap:20px; align-items:center; border-top:1px solid rgba(245,245,245,.2); padding:16px 0 20px; margin-top:-12px; font-size:10px; font-weight:700; letter-spacing:.125em; color:rgba(245,245,245,.77); }
.case-intro span:first-child { display:inline-flex; align-items:center; gap:9px; }
.live-spark { width:7px; height:7px; border-radius:50%; background:var(--coral); }
.projects-grid-v3 { grid-template-columns:1.10fr .90fr; align-items:stretch; gap:24px 24px; }
.case-card { display:flex; min-width:0; flex-direction:column; }
.case-card .case-media { position:relative; display:block; width:100%; height:310px; padding:0; border:0; overflow:hidden; border-radius:18px; background:#222; cursor:pointer; text-align:left; color:var(--white); isolation:isolate; }
.case-card.case-feature { grid-row:span 2; }
.case-card.case-feature .case-media { height:682px; }
.case-media img { width:100%; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(.2,.8,.2,1),filter .45s; filter:saturate(.94); }
.case-media:hover img { transform:scale(1.05); filter:saturate(1.10); }
.case-media:focus-visible { outline:3px solid var(--coral); outline-offset:4px; }
.case-vignette { position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(0,0,0,.34) 0,transparent 35%,transparent 55%,rgba(0,0,0,.75) 100%); pointer-events:none; }
.case-corner { position:absolute; left:22px; top:22px; z-index:2; font-size:10px; font-weight:700; letter-spacing:.115em; }
.case-play { position:absolute; z-index:3; display:inline-flex; align-items:center; gap:9px; bottom:22px; right:22px; border-radius:999px; padding:13px 16px; border:1px solid rgba(255,255,255,.6); font-size:11px; font-weight:700; letter-spacing:.08em; background:rgba(30,30,28,.32); backdrop-filter:blur(8px); transition:transform .2s,background .2s; }
.case-media:hover .case-play { background:var(--lime); color:var(--charcoal); transform:translateY(-3px); }
.case-image-title { position:absolute; z-index:2; left:30px; bottom:26px; color:var(--white); font:700 clamp(29px,3.0vw,45px)/1.13 var(--font-wide); letter-spacing:-.026em; text-shadow:0 4px 30px rgba(0,0,0,.28); text-transform:uppercase; }
.case-feature .case-play { bottom:27px; }
.case-feature .case-image-title { bottom:106px; }
.case-copy { display:flex; align-items:start; justify-content:space-between; gap:20px; padding:18px 2px 0; }
.case-eyebrow { display:inline-block; color:var(--lime); font-size:10px; font-weight:700; letter-spacing:.10em; }
.case-copy h3 { margin:8px 0; font:700 clamp(18px,1.7vw,25px)/1.28 var(--font-wide); letter-spacing:-.016em; text-transform:uppercase; }
.case-copy p { max-width:470px; font-size:14px; line-height:1.5; color:rgba(245,245,245,.74); margin:0; }
.case-arrow { flex:0 0 40px; width:40px; height:40px; border:1px solid rgba(245,245,245,.3); border-radius:50%; display:grid; place-items:center; font-size:23px; color:var(--sky); }
.proof-case { margin-top:100px; border-radius:20px; padding:35px 38px 30px; background:var(--lime); color:var(--charcoal); position:relative; overflow:hidden; }
.proof-case::after { content:''; position:absolute; top:-80px; left:38%; width:400px; height:400px; background-image:url('assets/isotipo-azul-royal.png'); background-size:contain; background-repeat:no-repeat; opacity:.10; pointer-events:none; }
.proof-case-kicker { display:flex; justify-content:space-between; gap:15px; padding-bottom:20px; border-bottom:1px solid rgba(60,60,59,.25); font-size:10px; letter-spacing:.1em; font-weight:700; position:relative; z-index:1; }
.proof-case-main { display:grid; grid-template-columns:1fr 1fr; gap:30px; padding:38px 0 35px; position:relative; z-index:1; }
.proof-case-title>span { font-size:10px; font-weight:700; letter-spacing:.11em; }
.proof-case-title h3 { font:700 clamp(45px,5.0vw,74px)/1 var(--font-wide); margin:12px 0 18px; }
.proof-slash { color:var(--blue); }
.proof-case-title p { max-width:410px; font-size:16px; line-height:1.5; }
.proof-figure { justify-self:end; max-width:440px; }
.proof-figure strong { display:block; white-space:nowrap; font:700 clamp(57px,8.1vw,120px)/1.12 var(--font-wide); letter-spacing:-.04em; color:var(--charcoal); }
.proof-figure strong span { color:var(--blue); }
.proof-figure p { max-width:370px; font-size:15px; line-height:1.45; margin:0 0 10px; }
.proof-case-bottom { border-top:1px solid rgba(60,60,59,.27); display:flex; justify-content:space-between; align-items:center; gap:20px; padding-top:17px; position:relative; z-index:1; }
.proof-case-bottom>span { font-size:11px; line-height:1.4; max-width:610px; }
.proof-case-bottom a { font-size:13px; font-weight:700; white-space:nowrap; border-bottom:1px solid var(--charcoal); padding-bottom:5px; }
.materials-note { color:rgba(245,245,245,.62); margin:22px 0 0; font-size:12px; line-height:1.5; max-width:850px; }
.video-dialog { background:#191A19; border:1px solid rgba(225,249,255,.26); color:var(--smoke); border-radius:21px; width:min(940px,calc(100vw - 32px)); max-height:calc(100vh - 32px); padding:20px; box-shadow:0 25px 90px rgba(0,0,0,.65); }
.video-dialog::backdrop { background:rgba(10,10,10,.83); backdrop-filter:blur(6px); }
.video-dialog-top { display:flex; justify-content:space-between; align-items:center; gap:20px; font:700 12px var(--font-wide); letter-spacing:.025em; text-transform:uppercase; padding-bottom:13px; }
.video-dialog-close { display:flex; align-items:center; gap:10px; background:var(--lime); color:var(--charcoal); border:0; border-radius:50px; padding:9px 16px; cursor:pointer; font:700 12px var(--font-body); }
.video-dialog-close span { font-size:22px; line-height:.7; }
.video-dialog video { display:block; width:100%; max-height:min(70vh,700px); background:#0F0F0F; border-radius:11px; object-fit:contain; }
.video-dialog>p { margin:13px 0 0; color:rgba(245,245,245,.65); font-size:11px; }
@media(max-width:1100px){ .hero-video-stage { inset:0 0 0 8px; } .hero-reel-stamp { left:-20px; } .proof-figure strong { font-size:clamp(55px,7vw,90px); } }
@media(max-width:850px){
  .hero-layout { grid-template-columns:1fr; gap:36px; }
  .hero-visual.hero-video-v3 { width:min(100%,630px); min-height:510px; margin:0 auto; }
  .hero-video-stage { inset:0; }
  .hero-reel-stamp { left:-10px; }
  .projects-grid-v3 { grid-template-columns:1fr 1fr; }
  .case-card.case-feature { grid-row:auto; grid-column:1 / -1; }
  .case-card.case-feature .case-media { height:580px; }
  .case-card .case-media { height:330px; }
  .proof-case { margin-top:75px; }
}
@media(max-width:630px){
  .hero-content { padding-right:0; }
  .hero-visual.hero-video-v3 { min-height:405px; }
  .hero-video-stage { border-radius:16px; }
  .video-topline { top:20px; left:18px; right:18px; font-size:9px; }
  .video-bottomline { left:18px; right:18px; bottom:20px; }
  .video-bottomline strong { font-size:18px; max-width:235px; }
  .video-open { height:48px; width:48px; font-size:22px; }
  .hero-reel-stamp { top:51%; padding:7px 12px 7px 7px; }
  .hero-reel-stamp img { width:27px; height:27px; }
  .hero-reel-stamp span { font-size:8px; }
  .projects-grid-v3 { grid-template-columns:1fr; gap:35px; }
  .case-card.case-feature { grid-column:auto; }
  .case-card.case-feature .case-media { height:450px; }
  .case-card .case-media { height:285px; }
  .case-image-title { font-size:28px; }
  .case-feature .case-image-title { bottom:87px; }
  .case-play { padding:10px 13px; font-size:10px; }
  .case-copy h3 { font-size:20px; }
  .case-copy p { font-size:13px; }
  .case-intro { font-size:9px; }
  .case-intro span:last-child { display:none; }
  .proof-case { padding:24px 22px 22px; margin-top:60px; }
  .proof-case-main { display:flex; flex-direction:column; gap:12px; padding:28px 0; }
  .proof-case-title h3 { font-size:46px; }
  .proof-case-title p { font-size:14px; }
  .proof-figure { justify-self:start; max-width:100%; }
  .proof-figure strong { font-size:clamp(54px,11vw,85px); }
  .proof-figure p { font-size:13px; }
  .proof-case-bottom { display:flex; flex-direction:column; align-items:start; }
  .proof-case-bottom a { white-space:normal; }
  .video-dialog { padding:13px; }
  .video-dialog-top { font-size:10px; }
}

/* =======================================================
   V4 / REEL OFICIAL 2026 EN FORMATO VERTICAL
   Video original 1080x1920; no recortar su contenido.
   Paleta oficial: carbon #3C3C3B + "magia".
   ======================================================= */
.hero-layout {grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr); gap:clamp(18px,3.2vw,58px);}
.hero-content{padding-right:0;}
.hero-visual.hero-video-v4 {height:690px; min-height:0; width:100%; position:relative; margin:0;}
.reel-showcase {position:absolute; inset:0; overflow:hidden; border:1px solid rgba(225,249,255,.19); border-radius:24px; background:radial-gradient(ellipse at 82% 8%,rgba(74,128,237,.3) 0,rgba(74,128,237,0) 54%), linear-gradient(145deg,#484846 0,#323231 45%,#292929 100%); box-shadow:0 28px 70px rgba(0,0,0,.22); isolation:isolate;}
.reel-showcase::before {content:'';position:absolute;inset:-16% -21%;background:url('assets/vector-02.png') center center / contain no-repeat;opacity:.16;transform:rotate(-10deg);pointer-events:none;}
.reel-showcase::after {content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(220,255,159,.025),transparent 36%);pointer-events:none;}
.showcase-orbit {position:absolute; width:480px; height:480px; border:1px solid rgba(220,255,159,.15); border-radius:50%; left:-220px;top:95px;box-shadow:0 0 0 35px rgba(220,255,159,.015),0 0 0 80px rgba(220,255,159,.012);pointer-events:none;}
.showcase-corner {position:absolute;z-index:3;color:rgba(245,245,245,.92);font-size:10px;font-weight:700;letter-spacing:.17em;pointer-events:none;}
.showcase-corner-top {top:24px;left:25px;display:flex;align-items:center;gap:15px;}
.showcase-corner-top span{color:var(--lime);font-size:11px;}
.showcase-corner-side {right:20px;top:64px;writing-mode:vertical-rl;font-size:9px;letter-spacing:.19em;color:rgba(225,249,255,.7);}
.showcase-film {position:absolute;z-index:2;top:27px;bottom:112px;left:50%;transform:translateX(-50%);height:calc(100% - 139px);aspect-ratio:9/16;max-width:calc(100% - 72px);background:#171717;border-radius:17px;overflow:hidden;box-shadow:0 18px 70px rgba(0,0,0,.5);border:1px solid rgba(245,245,245,.22);}
.showcase-film .hero-reel{width:100%;height:100%;display:block;object-fit:contain;object-position:center;background:#151515;}
.showcase-film-label {position:absolute;top:12px;right:12px;background:rgba(27,27,27,.7);color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:20px;font-size:9px;font-weight:700;letter-spacing:.08em;padding:7px 10px;backdrop-filter:blur(6px);}
.showcase-footer {position:absolute;z-index:4;left:26px;right:26px;bottom:27px;display:flex;justify-content:space-between;align-items:center;gap:14px;}
.reel-sound-button {cursor:pointer;display:flex;align-items:center;gap:11px;justify-content:center;padding:14px 17px;border:0;border-radius:100px;background:var(--lime);color:var(--charcoal);font-weight:700;font-size:13px;line-height:1.2;transition:transform .22s,background .22s;box-shadow:0 6px 26px rgba(0,0,0,.14);}
.reel-sound-button:hover{transform:translateY(-2px);background:var(--sky);}
.reel-sound-button .sound-icon{display:grid;place-items:center;border-radius:50%;width:24px;height:24px;background:var(--charcoal);color:var(--lime);font-size:10px;padding-left:2px;}
.reel-sound-button>span:last-child{font-size:19px;line-height:.8;margin-left:8px;}
.reel-format{font-size:9px;font-weight:700;letter-spacing:.1em;color:rgba(245,245,245,.7);text-align:right;}
@media (max-width:1100px){
  .hero-layout{grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);gap:25px;}
  .hero-visual.hero-video-v4{height:590px;}
  .showcase-film{top:29px;bottom:106px;height:calc(100% - 135px);max-width:calc(100% - 64px);}
  .reel-format{display:none;}
}
@media (max-width:850px){
  .hero-layout{grid-template-columns:1fr;gap:42px;}
  .hero-visual.hero-video-v4{height:665px;min-height:0;max-width:560px;margin:0 auto;}
  .showcase-film{top:26px;bottom:113px;height:calc(100% - 139px);}
  .reel-format{display:block;}
}
@media (max-width:630px){
  .hero-visual.hero-video-v4{height:615px;min-height:0;max-width:100%;}
  .reel-showcase{border-radius:18px;}
  .showcase-corner-top{top:19px;left:17px;font-size:9px;}
  .showcase-corner-side{display:none;}
  .showcase-film{top:30px;bottom:102px;height:calc(100% - 132px);max-width:calc(100% - 28px);border-radius:12px;}
  .showcase-footer{left:14px;right:14px;bottom:20px;gap:8px;}
  .reel-sound-button{font-size:12px;padding:12px 14px;gap:8px;}
  .reel-sound-button .sound-icon{width:23px;height:23px;}
  .reel-format{display:none;}
}
@media (max-width:350px){
  .hero-visual.hero-video-v4{height:575px;}
  .showcase-film{top:35px;bottom:101px;height:calc(100% - 136px);}
  .reel-sound-button{font-size:11px;}
}
@media (prefers-reduced-motion:reduce){.hero-reel{animation:none;}}

/* El visor conserva el aspecto vertical del reel oficial. */
.video-dialog.portrait-video{width:min(560px,calc(100vw - 28px));}
.video-dialog.portrait-video video{aspect-ratio:9/16;width:min(100%,430px);max-height:min(75vh,780px);object-fit:contain;margin-inline:auto;}
@media(max-width:630px){.video-dialog.portrait-video{padding:12px;}.video-dialog.portrait-video video{max-height:75vh;}}


/* V5 · Portafolio audiovisual — pieza final de Chili's por La Tribu.
   Se utilizan exclusivamente colores de la paleta oficial Círculo 2026. */
.spotlight-chilis {display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);min-height:690px;background:var(--charcoal);border:1px solid rgba(245,245,245,.17);border-radius:26px;overflow:hidden;position:relative;isolation:isolate;}
.spotlight-copy {position:relative;z-index:2;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(28px,4.3vw,65px);min-width:0;}
.spotlight-topline {display:flex;justify-content:space-between;gap:20px;align-items:center;color:rgba(245,245,245,.78);font-size:10px;letter-spacing:.1em;font-weight:700;}
.spotlight-topline>span:first-child {display:flex;align-items:center;gap:9px;}
.spotlight-pulse {width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 5px rgba(220,255,159,.1);}
.spotlight-maincopy{padding:48px 0 36px;}
.spotlight-kicker {display:block;color:var(--lime);font-size:11px;font-weight:700;letter-spacing:.115em;margin-bottom:22px;}
.spotlight-maincopy h3{font:700 clamp(36px,4.45vw,69px)/1.03 var(--font-wide);letter-spacing:-.027em;margin:0 0 27px;color:var(--smoke);overflow-wrap:normal;}
.spotlight-x {color:var(--coral);}
.spotlight-punct {color:var(--lime);}
.spotlight-maincopy>p{margin:0;max-width:510px;line-height:1.68;font-size:16px;color:rgba(245,245,245,.83);}
.spotlight-specs {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;border-top:1px solid rgba(245,245,245,.2);margin-top:36px;padding-top:22px;}
.spotlight-specs>div {display:flex;flex-direction:column;gap:8px;}
.spotlight-specs span{font-size:10px;letter-spacing:.15em;font-weight:700;color:rgba(245,245,245,.52);}
.spotlight-specs strong{font-size:11px;letter-spacing:.03em;color:var(--smoke);}
.spotlight-action {border:0;display:inline-flex;align-items:center;gap:16px;color:var(--charcoal);background:var(--lime);padding:11px 12px 11px 13px;border-radius:99px;font-weight:700;font-size:12px;letter-spacing:.045em;margin-top:38px;cursor:pointer;transition:transform .2s ease,background .2s ease;}
.spotlight-action:hover{transform:translateY(-3px);background:var(--sky);}
.spotlight-action-play {display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--charcoal);color:var(--lime);font-size:12px;padding-left:3px;flex-shrink:0;}
.spotlight-action-arrow {font-size:23px;margin-left:auto;line-height:.6;padding-right:9px;}
.spotlight-private {margin:0;color:rgba(245,245,245,.45);font-size:9px;letter-spacing:.12em;font-weight:700;}
.spotlight-art {position:relative;overflow:hidden;min-height:690px;background:radial-gradient(circle at 75% 13%,rgba(217,174,255,.65) 0,transparent 46%),var(--blue);isolation:isolate;}
.spotlight-art::before{content:'';position:absolute;inset:-30% -20%;background:url('assets/vector-02.png') center center/cover no-repeat;opacity:.24;filter:brightness(0) invert(1);pointer-events:none;}
.spotlight-orbit{position:absolute;width:650px;height:650px;left:-190px;top:80px;border:1px solid rgba(220,255,159,.28);box-shadow:0 0 0 56px rgba(220,255,159,.06),0 0 0 115px rgba(220,255,159,.035);border-radius:50%;pointer-events:none;}
.spotlight-side-caption{position:absolute;z-index:3;top:27px;left:27px;font-size:10px;font-weight:700;letter-spacing:.1em;color:var(--smoke);}
.spotlight-film {display:block;position:absolute;z-index:2;left:50%;top:49%;height:78%;aspect-ratio:9/16;width:auto;max-width:72%;border:1px solid rgba(245,245,245,.7);border-radius:17px;overflow:hidden;padding:0;cursor:pointer;background:var(--charcoal);transform:translate(-50%,-50%) rotate(3deg);box-shadow:0 24px 65px rgba(0,0,0,.35);transition:transform .3s ease,box-shadow .3s ease;}
.spotlight-film:hover{transform:translate(-50%,-51%) rotate(0deg);box-shadow:0 26px 70px rgba(0,0,0,.44);}
.spotlight-film img{height:100%;width:100%;object-fit:cover;object-position:50% 48%;}
.spotlight-film::after{content:'';position:absolute;inset:44% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.6));pointer-events:none;}
.spotlight-film-controls {position:absolute;bottom:21px;left:22px;right:22px;display:flex;align-items:center;gap:11px;z-index:3;color:#fff;font-weight:700;font-size:11px;letter-spacing:.12em;}
.spotlight-film-icon {display:grid;place-items:center;border-radius:50%;width:45px;height:45px;background:var(--lime);color:var(--charcoal);font-size:13px;padding-left:4px;}
.spotlight-art-bottom{position:absolute;z-index:3;left:30px;right:30px;bottom:26px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--smoke);font-size:10px;font-weight:700;letter-spacing:.1em;}
.spotlight-stills{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:17px;}
.spotlight-still{position:relative;min-width:0;overflow:hidden;border-radius:15px;height:230px;background:#252525;}
.spotlight-still img{width:100%;height:100%;object-fit:cover;object-position:center 40%;filter:saturate(.9);transition:transform .35s ease;}
.spotlight-still:hover img{transform:scale(1.03);}
.spotlight-still::after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.6));}
.spotlight-still span{position:absolute;z-index:1;left:18px;bottom:15px;color:var(--smoke);font-weight:700;font-size:10px;letter-spacing:.11em;}
.bts-subheading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin:105px 0 29px;}
.bts-subheading h3 {font:700 clamp(27px,3.2vw,51px)/1.1 var(--font-wide);letter-spacing:-.035em;margin:0;}
.bts-subheading h3 span{color:var(--sky);}
.bts-subheading>p{max-width:270px;line-height:1.6;color:rgba(245,245,245,.7);font-size:14px;}
.projects-grid-v3{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;}
.case-card .case-media{height:460px;}
.case-card.case-feature{grid-row:auto;}
.case-card.case-feature .case-media{height:460px;}
.case-feature .case-image-title{bottom:100px;}
@media(max-width:1120px){
 .spotlight-chilis{min-height:610px;}
 .spotlight-art{min-height:610px;}
 .spotlight-maincopy h3{font-size:clamp(33px,4.2vw,55px);}
 .spotlight-maincopy>p{font-size:14px;line-height:1.5;}
 .spotlight-film{height:77%;}
 .case-card .case-media{height:390px;}
}
@media(max-width:850px){
 .spotlight-chilis{grid-template-columns:1fr;}
 .spotlight-copy{padding:38px 38px 32px;}
 .spotlight-maincopy{padding:35px 0;}
 .spotlight-maincopy h3{font-size:clamp(42px,7.8vw,70px);}
 .spotlight-maincopy>p{max-width:600px;}
 .spotlight-art{min-height:600px;}
 .spotlight-film{height:81%;}
 .spotlight-still{height:195px;}
 .projects-grid-v3{grid-template-columns:repeat(2,minmax(0,1fr));}
 .case-card .case-media{height:310px;}
}
@media(max-width:630px){
 .spotlight-chilis{border-radius:18px;}
 .spotlight-copy{padding:25px 22px 27px;}
 .spotlight-topline{font-size:8px;gap:12px;}
 .spotlight-maincopy{padding:35px 0 28px;}
 .spotlight-maincopy h3{font-size:clamp(32px,10vw,48px);letter-spacing:-.036em;}
 .spotlight-maincopy>p{font-size:14px;}
 .spotlight-specs{gap:8px;margin-top:28px;}
 .spotlight-specs span{font-size:9px;}
 .spotlight-specs strong{font-size:9px;}
 .spotlight-action{width:100%;justify-content:flex-start;margin-top:30px;font-size:11px;}
 .spotlight-private{font-size:8px;line-height:1.5;}
 .spotlight-art{min-height:495px;}
 .spotlight-film{height:79%;max-width:68%;border-radius:12px;}
 .spotlight-film-controls{left:12px;bottom:14px;font-size:9px;}
 .spotlight-film-icon{width:32px;height:32px;font-size:10px;}
 .spotlight-art-bottom{left:17px;right:17px;bottom:15px;font-size:8px;}
 .spotlight-side-caption{left:18px;top:20px;font-size:9px;}
 .spotlight-stills{gap:7px;margin-top:9px;}
 .spotlight-still{height:145px;border-radius:7px;}
 .spotlight-still span{font-size:8px;letter-spacing:0;left:8px;bottom:8px;}
 .bts-subheading{display:block;margin:75px 0 24px;}
 .bts-subheading h3{font-size:clamp(28px,8vw,40px);}
 .bts-subheading>p{font-size:13px;max-width:350px;}
 .projects-grid-v3{grid-template-columns:1fr;}
 .case-card .case-media{height:340px;}
}
@media(max-width:360px){.spotlight-maincopy h3{font-size:31px;}.spotlight-topline span:last-child{font-size:7px;}.spotlight-art{min-height:450px;}.spotlight-still{height:130px;}}

/* ====================================================
   V06 · Influencer Marketing — cuatro enlaces de Instagram.
   Las tarjetas son composiciones de marca, no miniaturas de los reels.
   La vista original solo se carga tras interacción del visitante.
   ==================================================== */
.creator-section{background:var(--charcoal);color:var(--smoke);padding-top:115px;padding-bottom:110px;position:relative;overflow:hidden;}
.creator-section::before{content:"";position:absolute;inset:auto -10% 25% auto;width:min(55vw,690px);aspect-ratio:1;background:radial-gradient(circle,rgba(74,128,237,.1),transparent 68%);pointer-events:none;}
.creator-section-top{position:relative;z-index:1;margin-bottom:48px;}
.creator-topline{display:flex;align-items:center;gap:11px;border-top:1px solid rgba(245,245,245,.24);padding:23px 0 42px;font-size:11px;font-weight:700;letter-spacing:.11em;}
.creator-topline>span:last-child{margin-left:auto;color:var(--lime);}
.creator-heading-layout{display:flex;justify-content:space-between;align-items:end;gap:40px;}
.creator-heading-layout h2{font-family:var(--font-wide);font-size:clamp(29px,3.35vw,51px);line-height:1.28;letter-spacing:-.017em;font-weight:700;margin:0;text-transform:uppercase;max-width:810px;}
.creator-heading-layout h2 span{color:var(--sky);}
.creator-heading-layout p{max-width:355px;margin:0 0 3px;color:rgba(245,245,245,.71);font-size:15px;line-height:1.6;}
.ig-cards-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;position:relative;z-index:1;}
.ig-card{display:flex;flex-direction:column;min-width:0;border:1px solid rgba(245,245,245,.23);border-radius:17px;padding:14px;background:#343433;transition:transform .28s,border-color .25s;}
.ig-card:hover{transform:translateY(-5px);border-color:rgba(245,245,245,.56);}
.ig-card-header{display:flex;justify-content:space-between;align-items:center;color:rgba(245,245,245,.8);font-size:10px;font-weight:700;letter-spacing:.1em;padding:6px 5px 14px;}
.ig-tiny-circle{font-size:19px;color:var(--sky);line-height:.8;}
.ig-card-art{border:0;padding:0;display:block;width:100%;aspect-ratio:9/14;position:relative;overflow:hidden;border-radius:10px;background:var(--lime);color:var(--charcoal);cursor:pointer;isolation:isolate;text-align:left;}
.ig-card-lime .ig-card-art{background:var(--lime);}
.ig-card-sky .ig-card-art{background:var(--sky);}
.ig-card-lavender .ig-card-art{background:var(--lavender);}
.ig-card-coral .ig-card-art{background:var(--coral);}
.ig-art-circles{position:absolute;inset:0;overflow:hidden;}
.ig-art-circles span{position:absolute;display:block;border:9px solid rgba(60,60,59,.18);border-radius:50%;width:115%;aspect-ratio:1;top:30%;left:50%;transform:translate(-50%,-50%);}
.ig-art-circles span:nth-child(2){width:83%;border-width:7px;}
.ig-art-circles span:nth-child(3){width:55%;border-width:6px;}
.ig-art-stamp{position:absolute;top:17px;left:18px;right:16px;font-size:10px;font-weight:800;letter-spacing:.12em;}
.ig-art-number{position:absolute;top:50%;left:50%;transform:translate(-50%,-54%);font:700 clamp(50px,7vw,110px)/1 var(--font-wide);letter-spacing:-.03em;opacity:.88;}
.ig-art-play{position:absolute;top:65%;left:50%;transform:translate(-50%,-50%);border-radius:100%;width:56px;height:56px;display:grid;place-items:center;background:var(--charcoal);color:var(--lime);font-size:17px;padding-left:4px;box-shadow:0 10px 30px rgba(30,30,30,.18);transition:transform .2s,background .2s;}
.ig-card-art:hover .ig-art-play{transform:translate(-50%,-50%) scale(1.13);background:var(--blue);}
.ig-art-caption{position:absolute;bottom:18px;left:18px;font-size:11px;font-weight:800;line-height:1.32;letter-spacing:.075em;}
.ig-card-footer{padding:21px 6px 5px;display:flex;flex-direction:column;gap:16px;flex:1;}
.ig-card-label{display:block;color:var(--lime);font-size:9px;letter-spacing:.13em;font-weight:700;}
.ig-card-footer h3{margin:7px 0 0;font:700 clamp(17px,1.6vw,23px)/1.25 var(--font-wide);text-transform:uppercase;}
.ig-card-footer>a{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(245,245,245,.26);padding-top:15px;margin-top:auto;font-size:10px;letter-spacing:.07em;font-weight:700;transition:color .2s;}
.ig-card-footer>a:hover{color:var(--lime);}
.ig-card-footer>a span{font-size:19px;line-height:1;}
.creator-section-bottom{display:flex;align-items:center;justify-content:space-between;gap:35px;margin-top:33px;padding-top:22px;border-top:1px solid rgba(245,245,245,.18);}
.creator-section-bottom p{max-width:660px;margin:0;color:rgba(245,245,245,.58);font-size:12px;line-height:1.55;}
.creator-section-bottom a{display:inline-flex;white-space:nowrap;gap:22px;align-items:center;color:var(--lime);font-size:11px;font-weight:700;letter-spacing:.05em;}
.creator-section-bottom a span{font-size:20px;}
.instagram-dialog{color:var(--smoke);background:#2c2d2b;width:min(540px,calc(100vw - 30px));max-height:calc(100dvh - 36px);border:1px solid rgba(245,245,245,.25);border-radius:22px;padding:20px;box-shadow:0 30px 90px rgba(0,0,0,.65);overflow-y:auto;}
.instagram-dialog::backdrop{background:rgba(10,10,10,.8);backdrop-filter:blur(7px);}
.instagram-dialog-top{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid rgba(245,245,245,.22);padding-bottom:17px;}
.instagram-dialog-top>div>span{font-size:9px;letter-spacing:.12em;font-weight:700;color:var(--lime);}
.instagram-dialog-top h2{font:700 clamp(14px,2vw,20px)/1.22 var(--font-wide);margin:9px 0 0;text-transform:uppercase;}
.instagram-dialog-close{border:0;background:var(--lime);color:var(--charcoal);font-weight:800;border-radius:50px;padding:12px 16px;cursor:pointer;white-space:nowrap;font-size:11px;}
.instagram-dialog-close span{font-size:21px;line-height:0;vertical-align:-2px;margin-left:6px;}
.instagram-dialog-content{display:flex;justify-content:center;min-height:440px;margin:17px auto;}
.instagram-embed-slot{width:100%;display:flex;align-items:flex-start;justify-content:center;min-width:0;}
.instagram-embed-slot .instagram-media{width:min(100%,480px)!important;margin:0 auto!important;min-width:0!important;}
.instagram-embed-loading{align-self:center;text-align:center;display:flex;flex-direction:column;gap:15px;align-items:center;justify-content:center;min-height:320px;padding:30px;}
.instagram-embed-loading span{display:block;color:var(--lime);font:700 70px/1 var(--font-wide);}
.instagram-embed-loading p{color:rgba(245,245,245,.65);font-size:14px;line-height:1.5;margin:0;}
.instagram-dialog-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid rgba(245,245,245,.2);padding-top:17px;}
.instagram-dialog-bottom>span{max-width:260px;font-size:11px;color:rgba(245,245,245,.66);line-height:1.45;}
.instagram-dialog-bottom>a{display:flex;gap:8px;align-items:center;color:var(--lime);white-space:nowrap;font-size:11px;font-weight:700;}
@media(max-width:1120px){.ig-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}.ig-card-art{aspect-ratio:9/12;}.ig-art-number{font-size:clamp(72px,10vw,120px);}.ig-art-play{top:66%;}}
@media(max-width:850px){.creator-heading-layout{flex-direction:column;align-items:start;gap:24px;}.creator-heading-layout p{max-width:600px;}.creator-section{padding-top:85px;padding-bottom:85px;}.creator-topline{padding-bottom:30px;}}
@media(max-width:630px){.creator-section{padding-top:65px;padding-bottom:68px;}.creator-topline{font-size:9px;gap:7px;padding-bottom:28px;}.creator-topline>span:last-child{display:none;}.creator-heading-layout h2{font-size:clamp(24px,6.35vw,34px);line-height:1.32;}.creator-heading-layout p{font-size:13px;}.ig-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}.ig-card{border-radius:11px;padding:7px;}.ig-card-header{font-size:8px;padding:6px 4px 10px;}.ig-card-art{aspect-ratio:9/15;border-radius:6px;}.ig-art-circles span{border-width:5px;}.ig-art-circles span:nth-child(2){border-width:4px;}.ig-art-circles span:nth-child(3){border-width:3px;}.ig-art-number{font-size:clamp(40px,9vw,65px);}.ig-art-stamp{font-size:7px;left:9px;top:10px;}.ig-art-play{width:42px;height:42px;font-size:14px;}.ig-art-caption{font-size:8px;left:9px;bottom:12px;}.ig-card-footer{padding:14px 2px 3px;gap:12px;}.ig-card-label{font-size:7px;}.ig-card-footer h3{font-size:clamp(12px,3.2vw,17px);}.ig-card-footer>a{font-size:8px;letter-spacing:0;gap:4px;padding-top:11px;}.ig-card-footer>a span{font-size:14px;}.creator-section-bottom{flex-direction:column;align-items:start;margin-top:25px;gap:19px;}.creator-section-bottom p{font-size:11px;}.instagram-dialog{padding:12px;}.instagram-dialog-top h2{font-size:13px;}.instagram-dialog-bottom{flex-direction:column;align-items:start;}.instagram-dialog-bottom>span{max-width:none;}}
@media(max-width:350px){.ig-cards-grid{grid-template-columns:1fr;gap:15px;}.ig-card-art{aspect-ratio:9/10;}.ig-art-number{font-size:65px;}}

/* ====================================================
   V07 · Campañas identificadas (Tarjeta IO / Pizza Hut / Burger King)
   Se usa arte editorial de marca, NO fotografías inventadas.
   ==================================================== */
.ig-cards-grid {grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px;}
.ig-card {background:#353533; border-color:rgba(245,245,245,.22); padding:13px;}
.ig-card-art {aspect-ratio: 10/12;}
.ig-art-circles span {top:28%;left:57%;width:115%;border-width:12px; opacity:.67;}
.ig-art-circles span:nth-child(2){width:86%;border-width:9px;}
.ig-art-circles span:nth-child(3){width:55%;border-width:6px;}
.ig-art-stamp {top:21px;left:22px;font-size:10px;letter-spacing:.09em;}
.ig-art-stamp b {font-size:17px;vertical-align:-2px; padding:0 4px;}
.ig-art-brand {position:absolute;top:83px;left:22px;right:22px; font-size:12px; font-weight:800;letter-spacing:.035em;}
.ig-art-brand span {opacity:.5;}
.ig-art-campaign {position:absolute;top:43%;left:22px;right:16px;transform:translateY(-50%);font:700 clamp(26px,2.48vw,43px)/1.12 var(--font-wide);letter-spacing:-.023em;overflow-wrap:normal;word-break:normal;text-align:left;}
.ig-art-play {top:auto;left:auto;bottom:55px;right:20px;transform:none;width:55px;height:55px;}
.ig-card-art:hover .ig-art-play {transform:scale(1.12);}
.ig-art-caption {bottom:23px;left:22px;right:22px;font-size:11px;display:flex;justify-content:space-between;max-width:60%;align-items:center;}
.ig-art-caption span {font-size:20px;line-height:10px;}
.ig-card-footer {padding:24px 8px 7px;gap:21px;}
.ig-card-footer h3 {margin-top:10px;font:700 clamp(17px,1.45vw,23px)/1.33 var(--font-wide); overflow-wrap:anywhere;letter-spacing:-.01em;text-transform:uppercase;}
.ig-card-creator {display:flex;gap:10px;align-items:baseline; margin:14px 0 0; font-size:12px;color:rgba(245,245,245,.75);}
.ig-card-creator span {font-size:9px;letter-spacing:.16em;color:rgba(245,245,245,.53);font-weight:700;}
.ig-card-creator strong {font-weight:700;color:var(--smoke);}
@media (min-width:1121px) and (max-width:1280px) { .ig-art-campaign{font-size:clamp(25px,2.35vw,37px);} }
@media (max-width:1120px) { .ig-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:19px;} .ig-art-campaign{font-size:clamp(29px,3.15vw,44px);} .ig-card-art{aspect-ratio:10/11;} }
@media (max-width:700px) { .ig-cards-grid{grid-template-columns:1fr; gap:20px;} .ig-card{padding:11px;} .ig-card-art{aspect-ratio:10/10;} .ig-art-campaign{font-size:clamp(32px,7.3vw,45px);} .ig-art-brand{top:66px;} .ig-card-footer h3{font-size:20px;} .ig-art-caption{font-size:11px;} }
@media (max-width:390px) { .ig-art-campaign{font-size:clamp(28px,7vw,37px);} .ig-card-art{aspect-ratio:9/10;} .ig-card-footer h3{font-size:17px;} }

/* V08: cinco piezas identificadas; primera fila de tres y segunda fila de dos equilibrada */
@media (min-width:1121px) {
  .ig-cards-grid {grid-template-columns:repeat(6,minmax(0,1fr));gap:22px;}
  .ig-card {grid-column:span 2;}
  .ig-card:nth-last-child(-n+2) {grid-column:span 3;}
  .ig-card:nth-last-child(-n+2) .ig-art-campaign {font-size:clamp(32px,3.2vw,49px);}
  .ig-card:nth-last-child(-n+2) .ig-card-art {aspect-ratio:11/10;}
}
@media (min-width:701px) and (max-width:1120px) {
  .ig-cards-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
  .ig-card {grid-column:auto;}
  .ig-card:nth-last-child(1) {grid-column:1/-1;width:100%;max-width:490px;justify-self:center;}
}
@media (max-width:700px) {
  .ig-cards-grid {grid-template-columns:1fr;}
  .ig-card,.ig-card:nth-last-child(1) {grid-column:auto;width:100%;max-width:none;}
}


/* ============================================================
   V09 · Portadas reales extraídas de los 5 videos del usuario.
   Campañas en formato de fotogramas verticales originales.
   ============================================================ */
.ig-cards-grid {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:13px;
  align-items:stretch;
}
.ig-cards-grid>.ig-card,
.ig-cards-grid>.ig-card:nth-last-child(-n+2),
.ig-cards-grid>.ig-card:nth-last-child(1) {
  grid-column:auto;
  width:auto;
  max-width:none;
  justify-self:stretch;
}
.ig-card {
  background:#343432;
  border:1px solid rgba(245,245,245,.24);
  border-radius:14px;
  padding:9px;
}
.ig-card-header {font-size:8px;letter-spacing:.09em;padding:8px 5px 12px;}
.ig-tiny-circle {font-size:15px;}
.ig-card-art.ig-cover-art,
.ig-cards-grid>.ig-card:nth-last-child(-n+2) .ig-card-art.ig-cover-art {
  display:block;
  position:relative;
  width:100%;
  aspect-ratio:9/16;
  background:#242424;
  border-radius:8px;
  overflow:hidden;
  isolation:isolate;
  cursor:pointer;
  color:#F5F5F5;
}
.ig-cover-image {
  display:block;
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  transition:transform .55s cubic-bezier(.2,.8,.2,1);
}
.ig-cover-art:hover .ig-cover-image,
.ig-cover-art:focus-visible .ig-cover-image {transform:scale(1.045);}
.ig-cover-shade {
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.47) 0%, transparent 27%, transparent 62%, rgba(0,0,0,.61) 100%);
  pointer-events:none;
}
.ig-cover-topline {
  position:absolute;
  top:14px;left:13px;
  color:#fff;
  font-size:9px;
  font-weight:700;
  letter-spacing:.15em;
  text-shadow:0 1px 6px rgba(0,0,0,.5);
}
.ig-cover-play {
  display:grid;
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  place-items:center;
  width:58px;height:58px;
  border:1px solid rgba(255,255,255,.8);
  border-radius:100%;
  background:rgba(33,33,32,.65);
  backdrop-filter:blur(4px);
  color:#DCFF9F;
  font-size:16px;
  padding-left:3px;
  box-shadow:0 15px 40px rgba(0,0,0,.18);
  transition:background .25s,transform .25s;
}
.ig-cover-art:hover .ig-cover-play,.ig-cover-art:focus-visible .ig-cover-play {
  background:var(--blue);
  color:#fff;
  transform:translate(-50%,-50%) scale(1.1);
}
.ig-cover-bottom {
  position:absolute;
  bottom:15px;left:13px;right:13px;
  display:flex;flex-direction:column;align-items:start;gap:7px;
  color:#F5F5F5;
  font-size:11px;
  font-weight:750;
  text-shadow:0 1px 8px rgba(0,0,0,.38);
}
.ig-cover-bottom>span {font-size:10px;letter-spacing:.12em;}
.ig-cover-bottom>strong {
  display:inline-block;
  padding:7px 10px;
  border-radius:5px;
  background:var(--lime);
  color:var(--charcoal);
  text-shadow:none;
  font-size:9px;
  line-height:1.2;
  letter-spacing:.025em;
}
.ig-card-footer {padding:18px 5px 7px;gap:16px;}
.ig-card-footer h3 {margin-top:8px;font-size:clamp(14px,1.08vw,18px);line-height:1.28;overflow-wrap:normal;word-break:normal;hyphens:auto;}
.ig-card-creator {font-size:11px;flex-wrap:wrap;gap:6px;margin:11px 0 0;}
.ig-card-footer>a {font-size:9px;letter-spacing:.04em;padding-top:13px;}
.ig-card-lime .ig-card-label{color:var(--lime);}
.ig-card-sky .ig-card-label{color:var(--sky);}
.ig-card-coral .ig-card-label{color:var(--coral);}
.ig-card-lavender .ig-card-label{color:var(--lavender);}
.ig-cover-art:focus-visible {outline:3px solid var(--sky);outline-offset:3px;}
@media(max-width:1240px){
  .ig-cards-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;}
  .ig-card-footer h3 {font-size:clamp(17px,1.75vw,21px);}
}
@media(max-width:850px){
  .ig-cards-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;}
  .ig-card-footer h3{font-size:clamp(16px,2.3vw,21px);}
}
@media(max-width:500px){
  .ig-cards-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
  .ig-card{padding:6px;border-radius:10px;}
  .ig-card-header{font-size:7px;padding:6px 4px 9px;}
  .ig-card-art.ig-cover-art{border-radius:6px;}
  .ig-cover-topline {top:10px;left:8px;font-size:7px;letter-spacing:.09em;}
  .ig-cover-play {width:43px;height:43px;font-size:13px;}
  .ig-cover-bottom {bottom:9px;left:8px;right:8px;gap:5px;}
  .ig-cover-bottom>span{font-size:8px;}
  .ig-cover-bottom>strong{font-size:8px;padding:6px;}
  .ig-card-footer{padding:12px 3px 4px;gap:9px;}
  .ig-card-footer h3{font-size:clamp(13px,3.5vw,17px);line-height:1.27;}
  .ig-card-label{font-size:8px;}
  .ig-card-creator{display:flex;flex-direction:column;gap:3px;font-size:11px;margin:7px 0 0;}
  .ig-card-creator span{font-size:8px;}
  .ig-card-footer>a{font-size:8px;padding-top:10px;}
}
@media(max-width:360px){
  .ig-cards-grid{grid-template-columns:1fr;gap:16px;}
  .ig-card{padding:9px;}
  .ig-cover-play{width:58px;height:58px;font-size:16px;}
  .ig-card-footer h3{font-size:18px;}
}

/* Home V11: teaser de livestreaming Inkafarma con fotografía BTS, sin tratar la transmisión como video pregrabado. */
.home-live-teaser{display:grid;grid-template-columns:46% 54%;min-height:365px;margin-top:23px;border:1px solid rgba(245,245,245,.22);border-radius:22px;overflow:hidden;background:rgba(245,245,245,.04);color:var(--smoke);transition:border-color .2s}
.home-live-teaser:hover{border-color:var(--lime)}
.home-live-art{position:relative;overflow:hidden;min-height:330px}
.home-live-art::after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.55))}
.home-live-art img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.home-live-teaser:hover .home-live-art img{transform:scale(1.04)}
.home-live-art span{position:absolute;left:22px;top:22px;z-index:2;display:inline-block;border-radius:22px;padding:8px 12px;background:var(--lime);color:var(--charcoal);font-size:10px;font-weight:800;letter-spacing:.1em}
.home-live-content{padding:clamp(24px,4vw,57px);display:flex;flex-direction:column;justify-content:space-between;gap:24px}
.home-live-kicker{font-size:10px;letter-spacing:.13em;color:var(--sky);font-weight:700}
.home-live-content h3{font:700 clamp(24px,3.4vw,52px)/1.2 var(--font-wide);letter-spacing:-.025em;margin:0}
.home-live-content h3 span{color:var(--lime)}
.home-live-content p{max-width:480px;font-size:16px;line-height:1.55;color:rgba(245,245,245,.73);margin:0}
.home-live-content strong{border-top:1px solid rgba(245,245,245,.25);display:flex;justify-content:space-between;align-items:center;padding-top:18px;font-size:12px;letter-spacing:.07em;color:var(--lime)}
.home-live-content b{font-size:24px;font-weight:400}
@media(max-width:650px){.home-live-teaser{grid-template-columns:1fr}.home-live-art{min-height:260px}.home-live-content{padding:24px}.home-live-content h3{font-size:clamp(28px,7vw,40px)}.home-live-content p{font-size:14px}}
@media(min-width:851px) and (max-width:1180px){.site-header .desktop-nav{gap:19px;font-size:12px}.site-header .header-inner{gap:18px}.site-header .brand{width:178px}.site-header .header-cta{min-width:117px;padding:13px 14px}}


/* V12 / formulario de contacto conectado a hosting compatible con Netlify Forms */
.field-trap {position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden;opacity:0;}
.contact-card .contact-consent {display:flex;align-items:flex-start;gap:12px;margin-top:22px;font-size:12px;line-height:1.5;font-weight:500;cursor:pointer;}
.contact-card .contact-consent input {flex:0 0 auto;min-width:18px;width:18px;height:18px;margin:1px 0 0;accent-color:var(--blue);cursor:pointer;}
.contact-card .contact-consent span {display:block;}
.contact-card .contact-consent small {display:block;margin-top:4px;font-size:10px;opacity:.7;}
.contact-card .form-note {max-width:530px;}
@media (prefers-reduced-motion: reduce) {html{scroll-behavior:auto}}

/* V13 / email directo de la agencia, como respaldo del formulario Netlify */
.contact-left .contact-direct {margin-top:23px;font-size:14px;line-height:1.7;color:rgba(245,245,245,.82);max-width:420px;}
.contact-direct a {color:var(--lime);border-bottom:1px solid currentColor;display:inline-block;overflow-wrap:anywhere;white-space:normal;}
.contact-direct a:focus-visible {outline:3px solid var(--lime);outline-offset:4px;}

/* V13: corrección de estilos base del formulario para el checkbox de consentimiento */
#contact-form .contact-consent {display:flex; align-items:flex-start; gap:12px; margin:22px 0 0; cursor:pointer; line-height:1.55; font-weight:500;}
#contact-form .contact-consent input[type="checkbox"] {width:18px; min-width:18px; max-width:18px; height:18px; flex:0 0 18px; padding:0; margin:1px 0 0; accent-color:var(--blue); border-radius:3px;}
#contact-form .contact-consent > span {color:var(--charcoal); flex:1 1 auto; min-width:0; display:block;}
#contact-form .contact-consent small {color:rgba(60,60,59,.74); font-weight:400; line-height:1.45;}


/* =============================================================
   HOME V15 — Escala aproximadamente 20% menor SOLO en el HOME.
   Las páginas de servicios siguen usando su estilo original.
   Ajustes en tamaños / espaciados; controles táctiles legibles.
   ============================================================= */
body.home-compact {--container:1230px;}
body.home-compact .container {width:min(calc(100% - 76px),var(--container));}
body.home-compact .site-header {height:78px;}
body.home-compact .header-inner {gap:25px;}
body.home-compact .brand {width:173px;}
body.home-compact .desktop-nav {font-size:12px;gap:29px;}
body.home-compact .header-cta {min-width:116px;padding:12px 16px;font-size:12px;}
body.home-compact .hero-shell {min-height:0;}
body.home-compact .hero-meta {padding:22px 0;}
body.home-compact .eyebrow, body.home-compact .edition {font-size:10px;}
body.home-compact .hero-layout {padding:39px 0;gap:clamp(18px,2.8vw,42px);}
body.home-compact .hero h1 {font-size:clamp(27px,2.9vw,45px);line-height:1.27;margin-bottom:20px;}
body.home-compact .hero-content p {font-size:clamp(14px,1.2vw,17px);max-width:450px;}
body.home-compact .hero-actions {margin-top:31px;gap:22px;}
body.home-compact .pill-button {padding:14px 18px 14px 20px;font-size:12px;}
body.home-compact .text-link {font-size:12px;}
body.home-compact .hero-visual.hero-video-v4 {height:545px;}
body.home-compact .showcase-film {top:23px;bottom:95px;height:calc(100% - 118px);}
body.home-compact .showcase-footer {bottom:20px;left:19px;right:19px;}
body.home-compact .reel-sound-button {font-size:11px;padding:11px 14px;}
body.home-compact .hero-bottom {padding:18px 0 21px;font-size:10px;}
body.home-compact .intro-grid {padding:54px 0;grid-template-columns:15% 1fr 58px;}
body.home-compact .intro-grid>p:nth-child(2) {font-size:clamp(24px,2.8vw,40px);}
body.home-compact .intro-grid img {width:58px;}
body.home-compact .section-pad {padding:92px 0;}
body.home-compact .section-heading {gap:45px;margin-bottom:42px;}
body.home-compact .section-kicker {margin-bottom:18px;}
body.home-compact .section-heading h2,body.home-compact .approach-intro h2 {font-size:clamp(24px,2.8vw,42px);}
body.home-compact .section-heading>p {font-size:13px;}
body.home-compact .service-card {min-height:545px;padding:28px 30px;}
body.home-compact .service-card h3 {font-size:clamp(22px,2.05vw,30px);}
body.home-compact .service-card p {font-size:14px;margin-bottom:22px;}
body.home-compact .service-points {margin-bottom:22px;}
body.home-compact .service-link {font-size:12px;padding-top:14px;}
body.home-compact .statement {min-height:545px;}
body.home-compact .statement-inner {padding-top:44px;padding-bottom:31px;}
body.home-compact .statement h2 {font-size:clamp(27px,4.45vw,71px);margin:61px 0;}
body.home-compact .spotlight-chilis {min-height:555px;}
body.home-compact .spotlight-copy {padding:clamp(24px,3.2vw,50px);}
body.home-compact .spotlight-art {min-height:555px;}
body.home-compact .spotlight-maincopy {padding:33px 0 26px;}
body.home-compact .spotlight-maincopy h3 {font-size:clamp(27px,3.55vw,54px);margin-bottom:18px;}
body.home-compact .spotlight-maincopy>p {font-size:14px;line-height:1.6;}
body.home-compact .spotlight-specs {margin-top:24px;padding-top:18px;gap:12px;}
body.home-compact .spotlight-action {margin-top:27px;}
body.home-compact .spotlight-art-bottom {font-size:9px;}
body.home-compact .home-live-teaser {min-height:300px;margin-top:24px;grid-template-columns:49% 51%;}
body.home-compact .home-live-art {min-height:300px;}
body.home-compact .home-live-content {padding:30px;gap:18px;}
body.home-compact .home-live-content h3 {font-size:clamp(23px,2.6vw,40px);}
body.home-compact .home-live-content p {font-size:14px;}
body.home-compact .home-live-content strong {font-size:11px;}
body.home-compact .home-live-art img {object-position:center 56%;}
body.home-compact .home-live-credit {display:block;position:absolute;z-index:3;bottom:13px;left:17px;right:17px;color:#fff;font-size:9px;font-weight:700;letter-spacing:.05em;text-shadow:0 2px 10px #000;}
body.home-compact .home-bts-block {margin-top:75px;}
body.home-compact .bts-subheading {margin:0 0 26px;}
body.home-compact .bts-subheading h3 {font-size:clamp(23px,2.6vw,41px);}
body.home-compact .bts-subheading>p {font-size:13px;}
body.home-compact .case-intro {margin-top:0;}
body.home-compact .projects-grid-v3 {gap:22px;}
body.home-compact .case-card .case-media {height:355px;}
body.home-compact .case-copy h3 {font-size:clamp(17px,1.6vw,22px);}
body.home-compact .case-copy p {font-size:12px;}
body.home-compact .case-corner {font-size:9px;}
body.home-compact .creator-section {padding-top:86px;padding-bottom:86px;}
body.home-compact .creator-section-top {margin-bottom:37px;}
body.home-compact .creator-heading-layout h2 {font-size:clamp(25px,2.7vw,41px);}
body.home-compact .creator-heading-layout p {font-size:13px;}
body.home-compact .approach-grid {gap:63px;}
body.home-compact .step {padding:22px 0;}
body.home-compact .step h3 {font-size:clamp(18px,1.5vw,23px);}
body.home-compact .contact-section {padding:92px 0;}
body.home-compact .contact-left h2 {font-size:clamp(28px,3.35vw,53px);}
body.home-compact .contact-left p {font-size:15px;}
body.home-compact .contact-card {padding:26px 28px;}
body.home-compact .footer-top {padding:52px 0 62px;}
body.home-compact .footer-top img {width:185px;}
body.home-compact .footer-top p {font-size:clamp(13px,1.4vw,18px);}
@media (max-width:1100px) {
 body.home-compact .container {width:calc(100% - 60px);}
 body.home-compact .desktop-nav {gap:16px;font-size:11px;}
 body.home-compact .hero-layout {grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
 body.home-compact .hero-visual.hero-video-v4 {height:500px;}
 body.home-compact .spotlight-chilis,body.home-compact .spotlight-art {min-height:500px;}
 body.home-compact .case-card .case-media {height:300px;}
}
@media (max-width:850px) {
 body.home-compact .site-header {height:69px;}
 body.home-compact .brand {width:155px;}
 body.home-compact .mobile-menu:not([hidden]) {top:68px;}
 body.home-compact .mobile-menu a {font-size:18px;}
 body.home-compact .hero-layout {grid-template-columns:1fr;gap:28px;padding:44px 0 36px;}
 body.home-compact .hero h1 {font-size:clamp(28px,4.7vw,39px);}
 body.home-compact .hero-visual.hero-video-v4 {height:505px;max-width:520px;margin:0 auto;}
 body.home-compact .intro-grid {grid-template-columns:92px 1fr;}
 body.home-compact .intro-grid img {display:none;}
 body.home-compact .section-pad {padding:77px 0;}
 body.home-compact .section-heading {gap:20px;}
 body.home-compact .service-card {min-height:460px;padding:26px;}
 body.home-compact .service-card h3 {font-size:clamp(21px,3vw,30px);}
 body.home-compact .statement {min-height:0;}
 body.home-compact .statement h2 {font-size:clamp(27px,4.5vw,45px);margin:55px 0;}
 body.home-compact .spotlight-chilis {grid-template-columns:1fr;}
 body.home-compact .spotlight-art {min-height:520px;}
 body.home-compact .spotlight-maincopy h3 {font-size:clamp(33px,6vw,51px);}
 body.home-compact .home-live-teaser {grid-template-columns:1fr;}
 body.home-compact .home-live-art {min-height:315px;}
 body.home-compact .home-live-content {padding:28px;}
 body.home-compact .bts-subheading {display:block;}
 body.home-compact .case-card .case-media {height:305px;}
 body.home-compact .contact-grid {grid-template-columns:1fr;gap:35px;}
 body.home-compact .contact-card {width:min(100%,590px);}
}
@media (max-width:630px) {
 body.home-compact .container {width:calc(100% - 34px);}
 body.home-compact .site-header {height:62px;}
 body.home-compact .brand {width:136px;}
 body.home-compact .mobile-menu:not([hidden]) {top:61px;}
 body.home-compact .mobile-menu a {font-size:17px;padding:17px 0;}
 body.home-compact .hero-meta {padding:16px 0;}
 body.home-compact .hero-layout {padding:32px 0 30px;gap:25px;}
 body.home-compact .hero h1 {font-size:clamp(24px,6.0vw,30px);line-height:1.26;}
 body.home-compact .hero-content p {font-size:14px;}
 body.home-compact .hero-actions {margin-top:20px;gap:17px;}
 body.home-compact .hero-visual.hero-video-v4 {height:488px;}
 body.home-compact .showcase-film {top:26px;bottom:99px;height:calc(100% - 125px);max-width:calc(100% - 26px);}
 body.home-compact .showcase-footer {left:13px;right:13px;bottom:16px;}
 body.home-compact .reel-sound-button {font-size:11px;padding:11px 13px;}
 body.home-compact .intro-grid {grid-template-columns:1fr;gap:14px;padding:45px 0;}
 body.home-compact .intro-grid>p:nth-child(2) {font-size:clamp(23px,5.8vw,30px);}
 body.home-compact .section-pad {padding:62px 0;}
 body.home-compact .section-heading h2,body.home-compact .approach-intro h2 {font-size:clamp(23px,5.55vw,29px);}
 body.home-compact .section-heading {margin-bottom:28px;}
 body.home-compact .service-grid {grid-template-columns:1fr;}
 body.home-compact .service-card {min-height:420px;padding:23px;}
 body.home-compact .service-card h3 {font-size:clamp(22px,6.2vw,29px);}
 body.home-compact .service-card p {font-size:13px;}
 body.home-compact .statement h2 {font-size:clamp(25px,6.4vw,36px);margin:45px 0;}
 body.home-compact .spotlight-copy {padding:24px 21px;}
 body.home-compact .spotlight-maincopy {padding:30px 0;}
 body.home-compact .spotlight-maincopy h3 {font-size:clamp(30px,8vw,39px);}
 body.home-compact .spotlight-art {min-height:440px;}
 body.home-compact .spotlight-film {height:77%;}
 body.home-compact .home-live-teaser {grid-template-columns:1fr;}
 body.home-compact .home-live-art {min-height:245px;}
 body.home-compact .home-live-content {padding:23px;}
 body.home-compact .home-live-content h3 {font-size:clamp(24px,6vw,31px);}
 body.home-compact .home-live-content p {font-size:13px;}
 body.home-compact .home-bts-block {margin-top:62px;}
 body.home-compact .bts-subheading h3 {font-size:clamp(25px,6.5vw,32px);}
 body.home-compact .projects-grid-v3 {grid-template-columns:1fr;gap:32px;}
 body.home-compact .case-card .case-media {height:250px;}
 body.home-compact .case-copy h3 {font-size:19px;}
 body.home-compact .creator-section {padding-top:64px;padding-bottom:64px;}
 body.home-compact .creator-heading-layout h2 {font-size:clamp(23px,5.5vw,29px);}
 body.home-compact .contact-section {padding:70px 0;}
 body.home-compact .contact-left h2 {font-size:clamp(30px,7vw,39px);}
 body.home-compact .contact-card {padding:22px 19px;}
 body.home-compact .footer-top {padding:48px 0;}
 body.home-compact .footer-top img {width:165px;}
}
/* V15 QA: crédito sobre fotografía sin cubrir el set */
body.home-compact .home-live-art .home-live-credit {
  top:auto;
  bottom:14px;
  left:17px;
  right:auto;
  max-width:calc(100% - 34px);
  width:auto;
  height:auto;
  padding:8px 11px;
  border-radius:8px;
  background:rgba(20,20,20,.69);
  color:#fff;
  font-size:9px;
  font-weight:700;
  letter-spacing:.04em;
  line-height:1.5;
  backdrop-filter:blur(4px);
}
@media(max-width:630px){body.home-compact .home-live-art .home-live-credit{font-size:8px;bottom:12px;left:12px;max-width:calc(100% - 24px)}}

/* V17 · Corrección del logotipo del footer SOLO en Home.
   Conserva las dimensiones originales 2968 x 736, sin estiramiento vertical. */
body.home-compact .site-footer .footer-top img {
  height: auto;
  max-width: 100%;
  object-fit: contain;
}

/* V27: enlace accesible a aviso de privacidad dentro del consentimiento. */
#contact-form .contact-consent small a{color:var(--blue);text-decoration:underline;text-underline-offset:2px;font-weight:700;}
#contact-form .contact-consent small a:focus-visible{outline:2px solid var(--blue);outline-offset:3px;}
