:root{--ink:#111b21;--paper:#f2eee7;--muted:#a9aea7;--lime:#c9ec7d;--line:rgba(255,255,255,.18);--serif:'Playfair Display',Georgia,serif;--sans:Manrope,Arial,sans-serif;--mono:'DM Mono',monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--sans);font-size:16px}.noise{pointer-events:none;position:fixed;z-index:9;inset:0;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}.site-header{position:absolute;z-index:4;top:0;left:0;width:100%;height:98px;padding:24px 4.8%;display:flex;align-items:center;justify-content:space-between}.brand{color:inherit;text-decoration:none;display:flex;align-items:center;gap:9px;font-weight:700;letter-spacing:.2em;font-size:15px}.brand img{width:37px;height:37px;object-fit:contain;border-radius:50%}.main-nav{display:flex;align-items:center;gap:28px}.main-nav a{color:var(--paper);text-decoration:none;font-size:13px}.nav-cta{border:1px solid rgba(255,255,255,.5);padding:11px 14px;border-radius:30px}.nav-cta i,.text-link span{font-style:normal;color:var(--lime)}.menu-toggle{display:none;background:none;border:0}.hero{height:min(850px,100vh);min-height:680px;position:relative;overflow:hidden}.hero-image{position:absolute;inset:0;background:url('f5145272-e642-4cad-a4a8-c9da9c5a0fdd.png') center/cover no-repeat;transform:scale(1.03)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,16,20,.84) 0%,rgba(10,16,20,.35) 50%,rgba(10,16,20,.48)),linear-gradient(0deg,rgba(10,16,20,.72),transparent 42%)}.hero-content{position:relative;z-index:1;padding:clamp(180px,25vh,240px) 12% 0;max-width:880px}.eyebrow{font:11px var(--mono);text-transform:uppercase;letter-spacing:.17em;color:var(--lime);margin:0 0 22px}.hero h1,h2{font-weight:500;letter-spacing:-.05em;margin:0;line-height:.98}.hero h1{font-size:clamp(58px,8vw,120px)}em{font-family:var(--serif);font-weight:500}.hero-copy{max-width:450px;line-height:1.6;color:#e0e0db;margin:32px 0}.hero-actions{display:flex;align-items:center;gap:25px}.button{display:inline-flex;align-items:center;gap:28px;padding:14px 20px;border-radius:30px;text-decoration:none;font-size:13px;font-weight:600}.button-light{background:var(--paper);color:var(--ink)}.button-light span{font-size:19px}.text-link{color:white;text-decoration:none;font-size:13px}.hero-footer{position:absolute;z-index:1;bottom:26px;left:4.8%;right:4.8%;border-top:1px solid var(--line);padding-top:16px;display:flex;justify-content:space-between;align-items:center;font:10px var(--mono);letter-spacing:.13em;text-transform:uppercase;color:#d7d8d4}.hero-footer a{font-size:22px;color:var(--lime);text-decoration:none}.statement{background:var(--paper);color:var(--ink);padding:130px 12% 112px}.statement .eyebrow{color:#617339}.statement h2{font-size:clamp(38px,5.1vw,73px);max-width:1050px}.statement-note{display:flex;gap:18px;align-items:center;margin-top:75px;font-size:14px;line-height:1.7}.statement-note p{margin:0}.orb{width:50px;height:50px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#fbffd9,#c5e779 42%,#6f8f56)}.section{padding:120px 8%}.section-heading{display:flex;gap:55px;justify-content:space-between;align-items:end;margin-bottom:67px}.section-heading h2,.audience h2{font-size:clamp(38px,4.8vw,68px);max-width:830px}.section-heading>p{max-width:300px;line-height:1.6;color:var(--muted);font-size:14px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.service-grid article{min-height:300px;padding:24px 22px;border-right:1px solid var(--line);display:flex;flex-direction:column}.service-grid article:first-child{border-left:1px solid var(--line)}.service-grid span{font:10px var(--mono);color:var(--lime)}h3{font-size:23px;letter-spacing:-.04em;line-height:1.05;margin:50px 0 14px}.service-grid p{color:var(--muted);line-height:1.55;font-size:13px;margin:0}.service-grid a{margin-top:auto;color:var(--paper);font-size:12px;text-decoration:none}.service-grid i{font-style:normal;color:var(--lime);margin-left:5px}.audience{background:#18242b}.audience h2{margin-bottom:64px}.audience-list{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line)}.audience-list span{border-bottom:1px solid var(--line);padding:24px 0;font-size:18px;letter-spacing:-.03em}.audience-list span:nth-child(odd){padding-right:20px}.audience-list span:nth-child(even){padding-left:20px;border-left:1px solid var(--line)}.method{background:var(--paper);color:var(--ink);display:grid;grid-template-columns:.9fr 1.1fr;gap:10%}.method .eyebrow{color:#617339}.method-intro h2{font-size:clamp(40px,4.5vw,63px)}.method-intro>p:last-child{max-width:360px;line-height:1.7;margin-top:30px;font-size:14px}.steps{margin:0;padding:0;list-style:none;border-top:1px solid rgba(17,27,33,.22)}.steps li{display:flex;gap:29px;padding:19px 0;border-bottom:1px solid rgba(17,27,33,.22)}.steps b{font:10px var(--mono);color:#617339;padding-top:6px}.steps h3{font-size:26px;margin:0 0 3px}.steps p{margin:0;font-size:13px;color:#535b58}.gest{padding:125px 8%;display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center;background:radial-gradient(circle at 72% 40%,#273b35,transparent 30%),#111b21}.gest h2{font-size:clamp(42px,5vw,68px)}.gest-copy>p:not(.eyebrow){color:var(--muted);line-height:1.6;max-width:400px;margin:28px 0}.button-outline{color:var(--paper);border:1px solid var(--line)}.button-outline span{color:var(--lime)}.gest-panel{border:1px solid rgba(201,236,125,.32);border-radius:10px;padding:24px;background:linear-gradient(140deg,#1e3332,#152126);box-shadow:0 25px 70px #071012}.panel-top{display:flex;justify-content:space-between;font:10px var(--mono);letter-spacing:.1em}.online{color:var(--lime)}.gest-panel h3{margin:38px 0 20px;font-size:30px}.chart{height:134px;display:flex;align-items:end;gap:9px;border-bottom:1px solid var(--line);padding:0 6px}.chart i{display:block;flex:1;background:linear-gradient(0deg,var(--lime),#617f60);border-radius:3px 3px 0 0}.chart i:nth-child(1){height:24%}.chart i:nth-child(2){height:43%}.chart i:nth-child(3){height:35%}.chart i:nth-child(4){height:59%}.chart i:nth-child(5){height:48%}.chart i:nth-child(6){height:76%}.chart i:nth-child(7){height:92%}.panel-cards{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:20px}.panel-cards div{padding:14px;background:rgba(255,255,255,.05);border-radius:5px}.panel-cards small{display:block;color:#b8c2b7;font-size:10px;margin-bottom:8px}.panel-cards strong{font-size:19px}.panel-cards em{font:10px var(--sans);color:var(--lime)}.panel-footer{font:9px var(--mono);letter-spacing:.06em;color:#b5bdb6;margin:24px 0 0}.projects{background:#18242b}.project-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:14px}.project-card{height:390px;display:flex;flex-direction:column;position:relative;overflow:hidden;border-radius:8px;padding:26px;color:var(--paper);text-decoration:none;background-size:cover;background-position:center}.project-card:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,14,17,.88),rgba(8,14,17,.08))}.project-card>*{position:relative}.music{background-image:url('f5145272-e642-4cad-a4a8-c9da9c5a0fdd.png');background-position:15% center}.tea{background-image:url('f5145272-e642-4cad-a4a8-c9da9c5a0fdd.png');background-position:82% 42%}.tutiplen{background:linear-gradient(145deg,#83906a,#243a37 58%,#c48363)}.project-card span{font:10px var(--mono);letter-spacing:.12em;color:var(--lime);text-transform:uppercase}.project-card h3{font-size:32px;margin:auto 0 8px}.project-card p{margin:0;font-size:13px;max-width:220px;line-height:1.5;color:#e0e5df}.project-card i{position:absolute;right:23px;bottom:26px;font-style:normal;font-size:25px;color:var(--lime)}.difficult{padding:160px 8%;background:linear-gradient(125deg,#29403a,#152226 55%,#192a31);text-align:center}.difficult h2{font-size:clamp(40px,5vw,68px);margin:0 auto 42px;max-width:1050px}.difficult .eyebrow{color:var(--lime)}.trust{background:var(--paper);color:var(--ink)}.trust .eyebrow{color:#617339}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(17,27,33,.23)}.trust-grid div{padding:20px 23px 26px;border-right:1px solid rgba(17,27,33,.23)}.trust-grid div:first-child{border-left:1px solid rgba(17,27,33,.23)}.trust-grid h3{margin:35px 0 11px;font-size:21px}.trust-grid p{font-size:13px;line-height:1.5;color:#5c635e;margin:0}footer{padding:105px 8% 30px;background:#0d171c;display:grid;grid-template-columns:1fr 1fr;gap:30px}footer h2{font-size:clamp(58px,7vw,94px)}footer>div>p:last-child{color:var(--muted);font-size:14px;margin-top:25px}.footer-email{align-self:center;justify-self:end;color:var(--paper);text-decoration:none;font-size:clamp(22px,3vw,45px);letter-spacing:-.05em;border-bottom:1px solid var(--line);padding-bottom:10px}.footer-email span{color:var(--lime)}.footer-bottom{grid-column:1/-1;border-top:1px solid var(--line);margin-top:80px;padding-top:20px;display:flex;justify-content:space-between;align-items:center;color:#9da39e;font:10px var(--mono);letter-spacing:.08em}.footer-bottom .brand{color:var(--paper)}
@media(max-width:760px){.site-header{height:75px;padding:16px 6%}.main-nav{display:none;position:absolute;top:70px;left:6%;right:6%;padding:22px;background:#18242b;flex-direction:column;align-items:stretch;gap:18px}.main-nav.open{display:flex}.menu-toggle{display:block;padding:5px}.menu-toggle span{display:block;width:24px;height:1px;margin:6px;background:var(--paper)}.hero{min-height:720px}.hero-content{padding:165px 7% 0}.hero h1{font-size:57px}.hero-footer{left:7%;right:7%}.hero-footer span:nth-child(2){display:none}.statement,.section,.gest{padding:85px 7%}.statement h2{font-size:40px}.statement-note{margin-top:45px}.section-heading,.method{display:block}.section-heading>p{margin-top:26px}.service-grid,.trust-grid{grid-template-columns:1fr 1fr}.service-grid article:nth-child(3),.trust-grid div:nth-child(3){border-left:1px solid var(--line)}.service-grid article{min-height:250px;padding:18px}.service-grid h3{font-size:19px;margin-top:38px}.audience-list{grid-template-columns:1fr}.audience-list span:nth-child(even){border-left:0;padding-left:0}.audience-list span:nth-child(odd){padding-right:0}.method-intro{margin-bottom:45px}.gest{grid-template-columns:1fr;gap:55px}.project-grid{grid-template-columns:1fr}.project-card{height:310px}.difficult{padding:110px 7%}.trust-grid div{padding:14px}.trust-grid h3{font-size:18px;margin-top:25px}footer{padding:75px 7% 22px;display:block}.footer-email{display:inline-block;margin-top:55px}.footer-bottom{margin-top:65px;gap:13px;flex-wrap:wrap}.footer-bottom span:last-child{margin-left:auto}}
/* Art direction (antes en overrides.css, fusionado aquí para evitar una petición extra) */
.hero-image{background-position:72% center;filter:saturate(.78) contrast(1.05)}
.hero-shade{background:linear-gradient(90deg,rgba(10,16,20,.97) 0%,rgba(10,16,20,.78) 39%,rgba(10,16,20,.2) 73%),linear-gradient(0deg,rgba(10,16,20,.76),transparent 42%)}
.hero-grid{position:absolute;inset:0;opacity:.18;background:linear-gradient(90deg,transparent 0 49.8%,rgba(201,236,125,.7) 50%,transparent 50.2%),linear-gradient(0deg,transparent 0 65%,rgba(255,255,255,.4) 65.1%,transparent 65.2%);mask-image:linear-gradient(90deg,#000,transparent 72%)}
.project-card{isolation:isolate}
.project-card:before{z-index:-1}
.project-card:after{content:'';position:absolute;z-index:0;inset:0;opacity:.65;background:repeating-linear-gradient(90deg,transparent 0 44px,rgba(255,255,255,.08) 45px 46px)}
.project-card>*{z-index:1}
.music{background:radial-gradient(circle at 69% 35%,#dbb079 0 6%,transparent 6.5%),radial-gradient(circle at 69% 35%,transparent 0 15%,#b9568e 15.5% 16.3%,transparent 16.8%),radial-gradient(circle at 69% 35%,transparent 0 25%,#c9ec7d 25.5% 26.2%,transparent 26.7%),linear-gradient(135deg,#4c2548,#162d38)}
.tea{background:radial-gradient(circle at 67% 30%,#d2ec93 0 5%,transparent 5.5%),radial-gradient(circle at 67% 30%,transparent 0 22%,rgba(210,236,147,.35) 22.5% 23%,transparent 23.5%),linear-gradient(140deg,#273c65,#192931)}
.tutiplen{background:radial-gradient(ellipse at 57% 50%,#c6e27c 0 4%,transparent 4.5%),radial-gradient(ellipse at 43% 41%,#96b46a 0 8%,transparent 8.5%),radial-gradient(ellipse at 67% 37%,#a5c976 0 7%,transparent 7.5%),linear-gradient(145deg,#65785e,#203936 58%,#233036)}
.project-symbol{position:absolute;top:72px;right:26px;font:130px var(--serif);line-height:.65;color:rgba(242,238,231,.82);text-shadow:0 10px 30px rgba(0,0,0,.18)}
.tea .project-symbol{font-family:var(--sans);font-size:105px;color:rgba(201,236,125,.8)}
.tutiplen .project-symbol{font:160px var(--serif);transform:rotate(28deg);color:rgba(201,236,125,.8)}
@media (max-width:760px){.hero-grid{mask-image:none;opacity:.1}.project-symbol{top:65px}}
/* XL — monitores 2K y superiores: el hero estaba topado a 850px y en un viewport
   de 1440px se veía el corte a la siguiente sección nada más cargar; además las
   tarjetas quedaban ultra-apaisadas. Se da aire vertical y se acota el ancho. */
@media(min-width:1600px){
.hero{height:100vh;min-height:860px;max-height:1600px}
.hero-content{padding:30vh 12% 0;max-width:1150px}
.hero h1{font-size:clamp(84px,7vw,148px)}
.statement{padding:170px 10% 150px}
.statement h2{max-width:1250px;font-size:clamp(46px,4.2vw,84px)}
.section{padding:160px 10%}
.service-grid article{min-height:340px;padding:30px 28px}
.method-intro>p:last-child{max-width:440px}
.gest{padding:160px 10%}
.gest h2{font-size:clamp(48px,4vw,80px)}
.project-card{height:480px}
.difficult{padding:210px 10%}
.difficult h2{max-width:1250px}
footer{padding:130px 10% 30px}
}
/* XXL — a partir de ~2150px se centra el contenido con tope de 1750px para que
   las bandas de color no se estiren hasta el infinito en ultrawide */
@media(min-width:2150px){
.section,.statement,.gest,.difficult,footer{padding-left:calc((100% - 1750px)/2);padding-right:calc((100% - 1750px)/2)}
}
/* Cine — visor del dossier ITA Gest: overlay que emborrona y apaga el fondo */
.cinema-link{display:inline-flex;align-items:center;gap:8px;margin:16px 0 0;padding:0;background:none;border:0;cursor:pointer;color:var(--paper);font:12px var(--mono);letter-spacing:.08em;text-transform:uppercase;opacity:.75}
.cinema-link:hover{opacity:1}
.cinema-link span{color:var(--lime);font-size:15px}
.cine{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:4vh 4vw;opacity:0;pointer-events:none;transition:opacity .25s ease}
.cine.open{opacity:1;pointer-events:auto}
.cine[hidden]{display:none}
.cine-backdrop{position:absolute;inset:0;background:rgba(8,13,16,.82);backdrop-filter:blur(14px) saturate(.9);-webkit-backdrop-filter:blur(14px) saturate(.9)}
.cine-box{position:relative;width:min(1120px,92vw);display:flex;flex-direction:column;gap:12px}
.cine-top{display:flex;align-items:center;gap:16px;color:var(--paper);font:11px var(--mono);letter-spacing:.1em;text-transform:uppercase}
.cine-count{color:var(--lime);white-space:nowrap}
.cine-title{opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cine-tools{margin-left:auto;display:flex;gap:8px}
.cine-tools button{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.06);color:var(--paper);font-size:15px;cursor:pointer}
.cine-tools button:hover{border-color:var(--lime);color:var(--lime)}
.cine-tools button.on{background:var(--lime);border-color:var(--lime);color:#111b21}
.cine-stage{position:relative;border-radius:12px;overflow:hidden;border:1px solid rgba(201,236,125,.25);box-shadow:0 30px 90px rgba(0,0,0,.55);background:#0d1519}
.cine-stage img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#e8ebee}
.cine-prev,.cine-next{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(10,16,20,.55);color:#fff;font-size:24px;line-height:1;cursor:pointer;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.cine-prev{left:14px}.cine-next{right:14px}
.cine-prev:hover,.cine-next:hover{border-color:var(--lime);color:var(--lime)}
.cine-cta{align-self:center;color:var(--ink);background:var(--lime);border-radius:30px;padding:13px 26px;font-size:13px;font-weight:700;text-decoration:none}
.cine-cta[hidden]{display:none}
.cine-thumbs{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}
.cine-thumbs button{flex:0 0 auto;width:104px;padding:0;border:1px solid transparent;border-radius:6px;overflow:hidden;background:none;cursor:pointer;opacity:.55}
.cine-thumbs button img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.cine-thumbs button:hover{opacity:.9}
.cine-thumbs button.on{border-color:var(--lime);opacity:1}
.cine:fullscreen{padding:2vh 2vw;background:#05090b}
.cine:fullscreen .cine-box{width:min(98vw,calc((100vh - 130px)*16/9));width:min(98vw,calc((100dvh - 130px)*16/9))}
.cine:fullscreen .cine-thumbs{display:none}
@media(max-width:760px){.cine{padding:2vh 3vw}.cine-title{display:none}.cine-thumbs{display:none}.cine-prev,.cine-next{width:40px;height:40px}.cine-prev{left:8px}.cine-next{right:8px}}
@media(prefers-reduced-motion:reduce){.cine{transition:none}}
/* Gest real — captura del TPV en lugar del panel simulado */
.gest-panel{padding:10px}
.gest-shot{position:relative;margin:0;border-radius:6px;overflow:hidden}
.gest-shot img{display:block;width:100%;height:auto}
.gest-shot-tag{position:absolute;top:12px;right:12px;font:10px var(--mono);letter-spacing:.1em;color:var(--lime);background:rgba(10,16,20,.65);border:1px solid rgba(201,236,125,.4);padding:6px 12px;border-radius:20px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
/* Carrusel Gest — flechas, puntos y contador (solo visibles con 2+ imágenes) */
.gest-track{display:flex;transition:transform .6s cubic-bezier(.22,1,.36,1)}
.gest-track img{flex:0 0 100%;width:100%;cursor:zoom-in}
.gest-track img:focus-visible{outline:2px solid var(--lime);outline-offset:-2px}
.gest-arrow{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(10,16,20,.55);color:#fff;font-size:20px;line-height:1;cursor:pointer;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.gest-arrow[hidden]{display:none}
.gest-prev{left:10px}.gest-next{right:10px}
.gest-arrow:hover{border-color:var(--lime);color:var(--lime)}
.gest-count{position:absolute;top:12px;left:12px;font:10px var(--mono);letter-spacing:.1em;color:var(--paper);background:rgba(10,16,20,.65);padding:6px 12px;border-radius:20px}
.gest-count[hidden]{display:none}
.gest-dots{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);display:flex;gap:6px}
.gest-dots[hidden]{display:none}
.gest-dots button{width:7px;height:7px;border-radius:50%;border:0;padding:0;background:rgba(255,255,255,.45);cursor:pointer}
.gest-dots button.on{background:var(--lime)}
@media(prefers-reduced-motion:reduce){.gest-track{transition:none}}
/* Cabecera fija — el logo + ITA acompañan página abajo y sirven de "volver arriba" */
.site-header{position:fixed;transition:background .3s ease,border-color .3s ease}
.site-header.scrolled{background:rgba(13,23,28,.78);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
section[id],footer[id]{scroll-margin-top:90px}
/* Difficult a página completa — mismo formato y color, ocupando el viewport */
/* Finale compacto — sin alturas forzadas ni aire de más */
@media(min-width:761px){
.finale{display:flex;flex-direction:column}
.finale .difficult,.finale .trust,.finale footer{min-height:auto}
.finale .difficult{padding:120px 8% 24px}
.finale .difficult h2{font-size:clamp(28px,2.9vw,48px);margin-bottom:22px}
.finale .trust{padding:64px 8% 28px}
.finale .trust .eyebrow{margin-bottom:14px}
.finale .trust-grid div{padding:10px 18px 12px}
.finale .trust-grid h3{margin:12px 0 6px;font-size:18px}
.finale footer{padding:26px 8% 20px}
.finale footer h2{font-size:clamp(36px,4vw,62px)}
.finale footer>div>p:last-child{margin-top:10px}
.finale .footer-bottom{margin-top:26px}
}
@media(max-width:760px){
.finale .difficult,.finale .trust,.finale footer{min-height:auto}
}
/* Papel vainilla — las franjas claras pasan de blanco a vainilla pastel con
   rugosidad de papel reciclado para que no den tanta luz */
:root{--vanilla:#e9e0cb}
.statement,.method,.trust{background-color:var(--vanilla);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)' opacity='0.05'/%3E%3C/svg%3E")}
