/* Segunda dirección: bloques de color y portafolio compacto. */
@font-face{font-family:'Cocogoose Local';src:local('Cocogoose'),local('COCOGOOSE'),local('Cocogoose Pro'),local('Cocogoose Pro Regular');font-weight:800 900;font-display:swap}
.cocogoose,.hero h1,.hero h1 span{font-family:'Cocogoose Local','Cocogoose','Effra','Arial Black',Arial,sans-serif}
.brand .brand-logo{width:270px;height:90px;object-fit:contain}.brand{gap:0;flex-shrink:0}
.hero-stickers{position:absolute;left:55%;top:35px;width:165px;height:190px;pointer-events:none}.sticker{display:grid;place-items:center;position:absolute;font-family:'Segoe UI Symbol','Segoe UI Emoji',sans-serif;line-height:1}.sticker-star{font-size:66px;background:var(--red);color:white;width:104px;height:104px;border-radius:50%;transform:rotate(-13deg);box-shadow:4px 6px 0 #181818}.sticker-chat{font-size:46px;background:white;width:87px;height:73px;left:74px;top:88px;border-radius:18px;transform:rotate(12deg);box-shadow:4px 5px 0 #181818}.sticker-arrow{font-size:56px;color:var(--red);left:12px;top:121px;transform:rotate(-8deg)}
.symbol-composition{position:relative;width:235px;height:220px;margin-top:30px;font-family:'Segoe UI Symbol',sans-serif}.symbol-composition span{position:absolute;display:grid;place-items:center;line-height:1}.symbol-heart{font-size:94px;transform:rotate(-13deg);top:15px;left:4px;border:2px solid white;border-radius:25px;width:125px;height:125px}.symbol-orbit{font-size:92px;left:105px;top:85px;color:#171717;background:white;border-radius:50%;width:110px;height:110px}.symbol-spark{font-size:65px;left:140px;top:0}.service-symbol{display:grid;place-items:center;font-family:'Segoe UI Emoji','Apple Color Emoji',sans-serif;width:53px;height:53px;background:#fff;border-radius:14px;font-size:1.7rem;flex-shrink:0;transform:rotate(-5deg);transition:transform .2s}.services summary:hover .service-symbol{transform:rotate(5deg)}.services summary .num{font-size:.68rem}.studio-spark{display:inline-block!important;color:white!important;font-family:'Segoe UI Symbol',sans-serif!important;font-size:.65em;vertical-align:top;margin:14px 0 0 20px;font-weight:400!important}.contact-symbol{font-family:'Segoe UI Symbol',sans-serif;display:inline-block;font-size:.7em;background:white;color:var(--red);border-radius:50%;width:1.3em;height:1.3em;text-align:center;line-height:1.15;margin-left:12px;vertical-align:middle}
@media(max-width:1000px){.brand .brand-logo{width:225px;height:75px}.hero-stickers{left:auto;right:25px;top:25px;transform:scale(.8);transform-origin:top right}.symbol-composition{transform:scale(.8);transform-origin:left top}}
@media(max-width:700px){.brand .brand-logo{width:210px;height:70px}.hero-stickers{left:auto;right:12px;top:auto;bottom:47px;transform:scale(.56);transform-origin:bottom right}.intro-aside{display:flex;align-items:center;justify-content:space-between;gap:15px}.symbol-composition{transform:none;width:100px;height:75px;margin:0 0 18px;flex-shrink:0}.symbol-heart{font-size:40px;width:54px;height:54px;border-radius:12px;top:0;left:0}.symbol-orbit{font-size:40px;width:48px;height:48px;left:44px;top:27px}.symbol-spark{font-size:26px;left:66px;top:0}.intro-aside>.section-number{max-width:180px}.service-symbol{width:38px;height:38px;font-size:1.3rem;border-radius:10px}.services summary{gap:12px;font-size:1.2rem}.services summary .num{display:none}.studio-spark{margin-left:12px;font-size:.5em}.contact-symbol{font-size:.5em;margin-left:8px}}
:root{--red:#c8202c;--black:#171717;font-synthesis:weight}
.brand-word{font-weight:900}.nav{font-weight:700}.hero h1,.hero h1 span{font-weight:900;letter-spacing:-.07em}.hero h1{font-size:clamp(4.2rem,8.5vw,8rem)}.hero p{font-weight:500}.intro{background:var(--red);color:white;padding-block:75px;margin-top:35px}.intro .section-number,.intro h2 em{color:white}.intro h2{font-weight:800}.intro p{color:#ffebec}.section-title{font-weight:800;letter-spacing:-.055em}
#proyectos{background:var(--black);color:white;padding-top:65px;padding-bottom:20px}.work-heading{align-items:end;margin-bottom:30px;gap:25px}.work-heading h2{font-size:clamp(2.2rem,4vw,4rem);font-weight:900;letter-spacing:-.05em;line-height:1;text-transform:none;max-width:500px}.work-heading>span{max-width:240px;line-height:1.7;color:#bdbdbd;font-size:.75rem}.project-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(3,clamp(190px,20vw,310px));gap:10px}.project-card,.project-card:nth-child(even){padding:0;min-width:0;position:relative;overflow:hidden}.project-card:nth-child(1){grid-area:1/1/3/5}.project-card:nth-child(2){grid-area:1/5/2/10}.project-card:nth-child(3){grid-area:1/10/2/13}.project-card:nth-child(4){grid-area:2/5/3/9}.project-card:nth-child(5){grid-area:2/9/4/13}.project-card:nth-child(6){grid-area:3/1/4/9}.project-visual,.project-visual.institucional{position:absolute;inset:0;aspect-ratio:auto;padding:0}.project-visual img{width:100%;height:100%;object-fit:cover;filter:none;transition:transform .6s}.project-card:nth-child(3) .project-visual img{object-fit:contain;background:white;padding:8px}.project-card:nth-child(4) .project-visual img{object-fit:contain;background:#450d1c}.project-card:nth-child(5) .project-visual img{object-fit:cover;object-position:48% center}.project-card:nth-child(6) .project-visual img{object-position:center}.project-card:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#000000d9);pointer-events:none}.project-card h3{position:absolute;z-index:2;bottom:37px;left:18px;right:18px;margin:0;font-size:clamp(1rem,1.6vw,1.55rem);font-weight:800;text-shadow:0 1px 8px #0006;gap:10px}.project-card p{position:absolute;z-index:2;bottom:16px;left:18px;right:18px;color:#fff;font-size:.73rem;line-height:1.3}.project-card .project-index{z-index:2;left:12px;top:12px;background:#171717d9;color:white;padding:7px 10px;border-radius:25px;font-size:.65rem}.project-card:focus-visible{outline-color:white;outline-offset:3px}.project-card:hover img{transform:scale(1.04)}.project-card:hover h3 span{transform:translate(3px,-3px)}.work-foot{border-color:#ffffff2b;color:#c5c5c5;padding:25px 0 30px;margin:0;font-size:.85rem}
.services{background:var(--red);color:white;padding-block:80px}.services .section-number,.services .num,.services .plus{color:white}.services-title p,.services details p{color:#ffe8eb}.services details{border-color:#ffffff50}.services summary{font-weight:800}.services summary:hover{color:#ffd5d9}.services :focus-visible{outline-color:white}
.studio{background:#111;padding-block:75px;color:white}.studio-top{color:#e95d66;margin-bottom:35px}.studio-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:25px 7%;align-items:start}.studio-layout>div{display:contents}.studio h2{font-size:clamp(4rem,8vw,8rem);font-weight:900;grid-column:1;grid-row:1/3;margin:0;line-height:.9}.studio h2 span{font-weight:900;color:#ef4651}.studio-layout p{grid-column:2;font-size:1rem;margin:0;color:#d0d0d0;max-width:600px}.studio-video{grid-column:1/-1;margin:20px 0 0;width:100%;border:1px solid #ffffff30;background:#000}.studio-video video{width:100%;aspect-ratio:16/8.5;max-height:720px;background:#000;object-fit:contain}.studio-video figcaption{background:#111;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 0;border-color:#ffffff30;color:#c4c4c4}.video-toggle{background:none;color:white;border:1px solid #ffffff70;border-radius:30px;padding:9px 15px;font-weight:700;font-size:.8rem}.video-toggle:hover{background:white;color:#111}.studio :focus-visible{outline-color:white}
.process{background:var(--paper)}.step h3{font-weight:800}.contact{background:var(--red);color:white}.contact h2{color:white;font-weight:900}.contact .section-number,.contact-copy a{color:white}.contact-copy p{color:#ffebed}.contact .button{background:white;color:var(--red);border-color:white;font-weight:800}.contact .button:hover{background:#111;border-color:#111;color:white}.contact :focus-visible{outline-color:white}.footer{background:#111;color:#ccc;border-color:#333}.footer a:hover{color:white}.case-heading h1,.case-overview h2,.case-next h2{font-weight:800}.case-heading{background:var(--red);color:white}.case-heading .back-link,.case-heading .section-number,.case-meta{color:white}.case-heading a:focus-visible{outline-color:white}
@media(max-width:1000px){.project-grid{grid-template-rows:repeat(3,220px)}.project-card h3{font-size:1.12rem;bottom:49px}.project-card p{font-size:.72rem;min-height:25px}.project-card:nth-child(3) h3{font-size:1rem}.studio-layout{gap:20px 5%}}
@media(max-width:700px){.intro{margin-top:15px;padding-block:48px}.intro h2{font-size:2.45rem}#proyectos{padding-top:45px}.work-heading{align-items:start;flex-direction:column;gap:12px}.work-heading h2{font-size:2.6rem}.work-heading>span{max-width:none;font-size:.65rem}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:230px 185px 220px 190px;gap:7px}.project-card:nth-child(1){grid-area:1/1/3/2}.project-card:nth-child(2){grid-area:1/2/2/3}.project-card:nth-child(3){grid-area:2/2/3/3}.project-card:nth-child(4){grid-area:3/1/4/2}.project-card:nth-child(5){grid-area:3/2/4/3}.project-card:nth-child(6){grid-area:4/1/5/3}.project-card h3,.project-card:nth-child(3) h3{font-size:1rem;bottom:44px;left:10px;right:10px;line-height:1.05}.project-card p{font-size:.68rem;left:10px;right:10px;bottom:10px;line-height:1.2}.project-card .project-index{font-size:.6rem;left:8px;top:8px;padding:5px 7px}.project-card:nth-child(6) h3{bottom:34px}.project-card:nth-child(6) p{min-height:0}.project-card:nth-child(4) .project-visual img{object-fit:cover;object-position:70% center}.services{padding-block:50px}.studio{padding-block:50px}.studio-layout{display:flex;flex-direction:column;gap:20px}.studio h2{font-size:4.5rem;margin-bottom:10px}.studio-layout p{font-size:1rem}.studio-video{margin-top:12px}.studio-video video{aspect-ratio:4/3;max-height:none}.studio-video figcaption{align-items:start;flex-direction:column;gap:12px;font-size:.75rem}.contact h2{font-size:3.6rem}.hero h1{font-size:clamp(4rem,16vw,6.5rem)}.project-card:after{inset:25% 0 0}}
.work-heading #work-title{font-size:clamp(2.2rem,4vw,4rem);letter-spacing:-.05em;line-height:1.05}
@media(max-width:700px){.work-heading #work-title{font-size:2.6rem}}
@media(prefers-reduced-motion:reduce){.project-card img{transition:none}}
/* Servicios: introducción y listado comparten el espacio disponible. */
.services{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.35fr);gap:clamp(35px,6vw,110px);align-items:start}
.services-title{display:block;margin:0}
.services-title .section-number{margin:0 0 32px}
.services-title .section-title{font-size:clamp(2.5rem,3.5vw,4.2rem);line-height:1.05;max-width:620px}
.services-title p{max-width:420px;margin:24px 0 0}
.service-list{margin:0;min-width:0}
.services summary{font-size:clamp(1.2rem,1.7vw,2rem);gap:18px;padding-block:22px}
.services details p{margin:0 15px 24px 0;max-width:620px}
@media(max-width:1000px){.services{grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);gap:35px}.services summary{gap:12px}.services .service-symbol{width:40px;height:40px;font-size:1.35rem}.services summary .num{display:none}}
@media(max-width:700px){.services{display:block}.services-title{margin-bottom:30px}.services-title .section-number{margin-bottom:22px}.services-title .section-title{font-size:2.6rem}.services-title p{margin-top:18px}.services summary{font-size:1.2rem}.services details p{margin-right:0}}
/* Cabecera dividida y textos secundarios con mayor presencia. */
body{font-weight:500}
p,.case-meta,.hero-bottom,.hero-caption,.case-gallery figcaption,.studio-video figcaption,.footer,.back-link{font-weight:500}
.hero p,.button,.project-card p,.work-foot,.contact-copy a{font-weight:600}
.site-header{padding:0;background:#111;color:white;border-bottom:0;gap:0}
.site-header .brand{align-self:stretch;padding-inline:var(--pad) 35px;background:#fff}
.site-header .nav{margin-left:auto;padding-inline:35px var(--pad);height:100%;color:white}
.site-header .nav-contact{color:white;border-color:#ef4651;background:var(--red)}
.site-header .nav a:not(.nav-contact):hover{color:#ff8b93}
.site-header :focus-visible{outline-color:#ef4651}
.project-grid{grid-template-rows:repeat(5,clamp(190px,20vw,310px))}
.project-card:nth-child(7){grid-area:4/1/6/5}
.project-card:nth-child(8){grid-area:4/5/6/8}
.project-card:nth-child(9){grid-area:4/8/5/13}
.project-card:nth-child(10){grid-area:5/8/6/13}
.project-card:nth-child(2) .project-visual img{object-fit:contain;background:#031b36}
.project-card:nth-child(9) .project-visual img{object-position:center 35%}
.project-card:nth-child(10) .project-visual img{object-position:center 25%}
@media(max-width:1000px){.site-header .brand{padding-inline:var(--pad) 22px}.site-header .nav{padding-left:22px;gap:20px}.project-grid{grid-template-rows:repeat(5,220px)}}
@media(max-width:700px){
.site-header .brand{padding-inline:16px;width:242px;max-width:68%}
.site-header .brand .brand-logo{max-width:100%;height:auto}
.site-header .menu-toggle{margin:0 16px 0 auto;color:white;border-color:#777;font-weight:600}
.site-header .nav{margin:0;height:auto;padding:20px var(--pad);background:#111;color:white;border-color:#333}
.project-grid{grid-template-rows:230px 185px 220px 190px 250px 230px 230px}
.project-card:nth-child(7){grid-area:5/1/6/3}
.project-card:nth-child(8){grid-area:6/1/8/2}
.project-card:nth-child(9){grid-area:6/2/7/3}
.project-card:nth-child(10){grid-area:7/2/8/3}
.project-card:nth-child(10) h3{font-size:.95rem}
}
/* Reserva dos líneas para las categorías, sin invadir los títulos. */
.project-card h3{bottom:54px;line-height:1.1}
.project-card p{min-height:30px;bottom:14px}
@media(max-width:700px){.project-card h3,.project-card:nth-child(3) h3,.project-card:nth-child(6) h3{bottom:51px}.project-card p,.project-card:nth-child(6) p{min-height:30px;bottom:10px}}
