@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#080b25;--yellow:#ffc400;--paper:#fff;--muted:#5c6070;--line:#e3e5eb;--soft:#f4f5f8;--font:'DM Sans',Arial,sans-serif;--heading:'Manrope',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--navy);font-family:var(--font);font-size:1rem;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%;height:auto}svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #a97500;outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--heading);line-height:1.12;letter-spacing:-.045em}h1{font-size:clamp(2.7rem,4.5vw,4.4rem);font-weight:800;margin-bottom:1.5rem}h2{font-size:clamp(2.15rem,3.2vw,3.25rem);font-weight:800;margin-bottom:0}h3{font-size:1.55rem;font-weight:800}.container{width:min(1200px,calc(100% - 96px));margin-inline:auto}.skip-link{position:fixed;top:-90px;left:20px;z-index:100;background:var(--yellow);padding:12px 20px}.skip-link:focus{top:12px}.topbar{background:var(--navy);color:#fff;font-size:.875rem}.topbar-inner{display:flex;justify-content:space-between;align-items:center;min-height:36px}.topbar a{font-weight:600}.header{position:sticky;top:0;z-index:20;background:#fffffff5;border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:104px}.brand{flex-shrink:0}.brand-crop{display:block;position:relative;width:145px;height:85px;overflow:hidden}.brand-crop img{position:absolute;width:150px;max-width:none;left:-3px;top:-32px}.desktop-nav{display:flex;align-items:center;gap:25px}.desktop-nav a{font-size:.875rem;font-weight:600;white-space:nowrap}.desktop-nav a:hover,.text-link:hover{color:#986800}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:56px;padding:15px 23px;background:var(--yellow);color:var(--navy);font-size:1rem;font-weight:700;border:1px solid var(--yellow);border-radius:5px;line-height:1.3;transition:background .2s,transform .2s}.button:hover{background:#edb500;border-color:#edb500;transform:translateY(-2px)}.button svg{width:23px;height:23px;stroke-width:1.8}.button-small{font-size:.875rem;min-height:46px;padding:12px 17px}.menu-toggle{display:none;align-items:center;justify-content:center;flex-direction:column;gap:7px;width:46px;height:46px;border:1px solid var(--line);background:#fff;border-radius:5px}.menu-toggle span{height:2px;width:21px;background:var(--navy)}.mobile-nav[hidden]{display:none}.mobile-nav{padding:10px 24px 22px;border-top:1px solid var(--line)}.mobile-nav a{display:block;padding:12px 0;font-weight:600}.hero{background:#fff}.hero-grid{display:grid;grid-template-columns:1.2fr .85fr;gap:64px;align-items:center;padding-block:66px 72px}.eyebrow{display:flex;align-items:center;gap:11px;font-size:.8125rem;font-weight:700;letter-spacing:.12em;margin-bottom:22px;line-height:1.5}.eyebrow-line{display:inline-block;width:32px;height:3px;background:var(--yellow)}.hero h1 .hero-title-line{display:block}.hero-description{font-size:1.125rem;line-height:1.75;color:var(--muted);max-width:530px;margin-bottom:30px}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px}.text-link{font-size:.9375rem;font-weight:700;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}.hero-location{display:flex;align-items:center;gap:9px;font-size:.875rem;color:var(--muted);margin:26px 0 0}.hero-location svg{height:19px;width:19px}.hero-brand-panel{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff;box-shadow:14px 14px 0 #f0f1f5}.panel-heading{display:flex;justify-content:space-between;gap:10px;padding:17px 23px;background:var(--navy);color:white;font-size:.75rem;font-weight:600;letter-spacing:.07em}.panel-heading span:last-child{color:var(--yellow)}.hero-logo{height:253px;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-logo img{width:375px;max-width:105%;flex-shrink:0}.specialty{background:var(--yellow);padding:20px 27px 22px;border-top:1px solid #efb800}.specialty-label{display:block;font-size:.75rem;letter-spacing:.1em;font-weight:700;margin-bottom:5px}.specialty strong{font-family:var(--heading);font-size:1.7rem;font-weight:800;letter-spacing:-.035em}.specialty p{font-size:.875rem;margin:5px 0 0;line-height:1.6}.service-ribbon{background:var(--navy);color:#fff}.ribbon-inner{display:flex;justify-content:space-between;padding-block:24px;gap:26px}.ribbon-inner span{display:flex;align-items:center;gap:17px;font-family:var(--heading);font-size:1.125rem;font-weight:600}.ribbon-inner b{color:var(--yellow);font-family:var(--font);font-size:.875rem;font-weight:500}.section{padding-block:88px}.section-heading{display:grid;grid-template-columns:1.25fr 1fr;gap:80px;align-items:end;margin-bottom:40px}.section-heading .eyebrow{margin-bottom:13px}.section-heading>p{max-width:420px;color:var(--muted);margin:0 0 5px;line-height:1.8}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.service-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:6px;padding:27px 28px 29px;background:#fff}.service-featured{background:var(--navy);color:#fff;border-color:var(--navy)}.card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:25px}.service-number{font-family:var(--heading);font-size:1.25rem;color:#737887;font-weight:600}.service-tag{font-size:.75rem;letter-spacing:.045em;font-weight:700}.service-featured .service-number,.service-featured .service-tag{color:var(--yellow)}.service-icon{width:44px;height:44px;margin-bottom:21px;stroke-width:1.5}.service-featured .service-icon{color:var(--yellow)}.service-card h3{margin-bottom:18px}.service-card>p{color:var(--muted);line-height:1.75;font-size:.9375rem;margin-bottom:22px}.service-featured>p{color:#c7c9d5}.service-card ul{padding:0;margin:0 0 30px;list-style:none}.service-card li{padding:9px 0;border-bottom:1px solid var(--line);font-size:.875rem;line-height:1.5}.service-featured li{border-color:#ffffff25;color:#e1e2e9}.service-link{font-size:.9375rem;font-weight:700;margin-top:auto;padding-top:15px;border-top:2px solid var(--yellow);width:fit-content}.service-featured .service-link{color:var(--yellow)}.service-link:hover{text-decoration:underline;text-underline-offset:5px}.other-services{display:flex;justify-content:space-between;gap:35px;align-items:center;background:var(--soft);padding:25px 29px;margin-top:25px;border-radius:5px}.other-services strong{font-size:1.05rem}.other-services p{font-size:.9375rem;color:var(--muted);margin:5px 0 0;max-width:700px}.other-services a{flex-shrink:0}.audience-section{background:var(--soft);border-block:1px solid var(--line)}.audience-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.audience-card{padding:36px;border:1px solid var(--line);border-radius:6px;background:#fff}.audience-label{display:block;font-size:.75rem;font-weight:700;letter-spacing:.09em;margin-bottom:27px}.audience-card h3{font-size:2rem;margin-bottom:22px}.audience-card p{color:var(--muted);max-width:420px;margin-bottom:25px;line-height:1.8}.audience-business{background:var(--yellow);border-color:var(--yellow)}.audience-business p{color:#333328}.about-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:100px}.about-copy p{color:var(--muted);line-height:1.85}.about-copy .large-copy{font-size:1.3rem;color:var(--navy);line-height:1.6;margin-bottom:25px}.about-note{margin-top:30px;padding:23px 0 0;border-top:1px solid var(--line)}.about-note span{display:block;font-size:.75rem;letter-spacing:.08em;font-weight:700;color:var(--muted);margin-bottom:8px}.about-note strong{font-size:1.125rem}.about-note p{font-size:.9375rem;margin:6px 0 0}.process-section{padding-block:66px;background:var(--navy);color:#fff}.process-heading .eyebrow{color:var(--yellow);margin-bottom:13px}.process-heading h2{font-size:2.2rem;margin-bottom:40px}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}.step-number{display:block;font-family:var(--heading);font-size:2.5rem;color:var(--yellow);margin-bottom:13px;line-height:1}.process-grid h3{font-size:1.2rem;letter-spacing:-.025em;margin-bottom:13px}.process-grid p{color:#bfc2d1;font-size:.9375rem;margin-bottom:0;line-height:1.8}.contact-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:100px;align-items:start}.contact-section h2{font-size:clamp(2.4rem,3.5vw,3.8rem)}.contact-section h2 span{color:#886000}.contact-description{color:var(--muted);margin:25px 0 30px;max-width:470px;line-height:1.8}.contact-details{border-top:1px solid var(--line)}.contact-row{border-bottom:1px solid var(--line);padding:20px 0}.contact-row>span{display:block;color:var(--muted);font-size:.75rem;font-weight:700;letter-spacing:.08em;margin-bottom:7px}.contact-row>a{font-family:var(--heading);font-size:1.75rem;font-weight:700;letter-spacing:-.03em}.contact-row>a:hover{color:#916600}.contact-row>a.email-link{font-size:1.125rem;overflow-wrap:anywhere;letter-spacing:-.02em}.contact-row p{margin:0;font-weight:600}footer{background:var(--navy);color:#fff;padding-top:36px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:28px}.footer-brand{font-family:var(--heading);font-size:1.8rem;font-weight:800;letter-spacing:.01em;line-height:1}.footer-brand span{display:block;font-size:.75rem;color:var(--yellow);letter-spacing:.15em;margin-top:7px}.footer-top p{color:#bfc2d1;margin:0;font-size:.875rem}.footer-top>a{font-size:.875rem;text-decoration:underline;text-underline-offset:5px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff20;padding-block:20px;color:#aeb2c4;font-size:.8125rem}
/* Logo animado original adaptado al encabezado, sin recortar la marca. */
.brand-crop .brand-animation,.brand-crop .brand-still{position:absolute;inset:0;width:100%;height:100%;max-width:100%;object-fit:contain}
.brand-crop .brand-still{display:none}
@media(prefers-reduced-motion:reduce){.brand-crop .brand-animation{display:none}.brand-crop .brand-still{display:block}}
/* Movimiento de títulos suave y prolongado, una vez por cada sección. */
@keyframes title-reveal{0%{opacity:0;transform:translateY(24px)}35%{opacity:1}100%{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){.hero-title-line{animation:title-reveal 4.2s ease-in-out both}.hero-title-line:last-child{animation-delay:.6s}.section-title-motion.is-title-visible{animation:title-reveal 4.4s ease-in-out both}}
/* Fondos y botones de las líneas de servicio: colores de la marca. */
.service-technology{background:#fff4cc;border-color:#eadca4}
.service-electricity{background:#eaf0fa;border-color:#ccd7e9}
.service-technology .service-number,.service-electricity .service-number{color:var(--navy)}
.service-electricity .service-tag{border-bottom:3px solid var(--yellow);padding-bottom:3px}
.service-technology li,.service-electricity li{border-color:#080b2520}
.service-card .service-link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 16px;background:var(--yellow);color:var(--navy);border:1px solid var(--yellow);border-radius:5px;line-height:1.4;transition:background .2s,transform .2s}
.service-card .service-link:hover{background:#edb500;border-color:#edb500;text-decoration:none;transform:translateY(-2px)}
.service-featured .service-link:focus-visible{outline-color:var(--yellow)}
@media(min-width:1440px){.hero-grid{padding-block:80px}.hero-logo{height:285px}}
@media(max-width:1120px){.container{width:calc(100% - 64px)}.desktop-nav{gap:17px}.header-cta{display:none}.hero-grid{gap:40px}.hero-actions{gap:17px}.hero-actions .text-link{font-size:.875rem}.section-heading{gap:40px}.service-card{padding:24px 21px}.service-tag{font-size:.75rem}.contact-grid,.about-grid{gap:55px}.other-services a{flex-shrink:1}}
@media(max-width:800px){.container{width:calc(100% - 40px)}.header-inner{min-height:92px}.desktop-nav{display:none}.menu-toggle{display:flex}.header-cta{display:inline-flex;margin-left:auto}.hero-grid{grid-template-columns:1fr 1fr;gap:27px;padding-block:45px}.hero h1{font-size:2.8rem}.hero-description{font-size:1rem}.hero-logo{height:210px}.hero-logo img{width:320px;max-width:125%}.panel-heading{padding:15px;font-size:.75rem}.specialty{padding:17px 20px}.specialty strong{font-size:1.45rem}.ribbon-inner{gap:15px}.ribbon-inner span{font-size:.9375rem;gap:9px}.section{padding-block:65px}.section-heading{gap:25px;margin-bottom:30px}.service-grid{grid-template-columns:1fr}.service-card{display:grid;grid-template-columns:1fr 1fr;column-gap:32px;padding:28px}.card-top{grid-column:1 / -1;margin-bottom:10px}.service-icon{grid-column:1;margin-bottom:10px}.service-card h3{grid-column:1;grid-row:3 / span 2;font-size:1.7rem;margin-bottom:20px}.service-card>p{grid-column:2;grid-row:2 / span 2;margin-bottom:13px}.service-card ul{grid-column:2;margin:0}.service-link{grid-column:1 / -1;margin-top:22px}.service-tag{font-size:.75rem}.other-services{gap:22px;padding:23px}.audience-card{padding:27px}.audience-card h3{font-size:1.65rem}.about-grid{gap:30px}.process-grid{gap:25px}.process-heading h2{font-size:1.9rem}.contact-grid{gap:35px}.contact-row>a{font-size:1.5rem}.footer-top{flex-wrap:wrap;gap:20px}.footer-top p{order:3;width:100%}.footer-top>a{margin-left:auto}}
@media(max-width:600px){html{scroll-padding-top:92px}.topbar-inner{font-size:.75rem}.header-inner{min-height:85px;gap:12px}.brand-crop{width:128px;height:76px}.brand-crop img{width:132px;top:-27px}.header-cta{display:none}.hero-grid{grid-template-columns:1fr;padding-block:38px 42px;gap:35px}.eyebrow{font-size:.75rem;margin-bottom:18px}.hero h1{font-size:clamp(2.5rem,9.5vw,3.5rem);line-height:1.12;margin-bottom:22px}.hero-description{font-size:1.0625rem}.hero-actions{gap:20px}.hero-actions .button{width:100%}.hero-location{font-size:.8125rem;margin-top:23px}.hero-brand-panel{box-shadow:7px 7px 0 #f0f1f5}.hero-logo{height:214px}.hero-logo img{width:310px;max-width:100%}.panel-heading{padding:16px 20px;font-size:.75rem}.specialty{padding:19px 23px}.specialty strong{font-size:1.65rem}.specialty p{font-size:.9375rem}.ribbon-inner{flex-direction:column;gap:14px;padding-block:25px}.ribbon-inner span{font-size:1.05rem;gap:17px}.section{padding-block:55px}.section-heading{grid-template-columns:1fr;gap:22px}.section-heading>p{max-width:none;font-size:1rem}.service-card{display:flex;padding:27px}.service-card h3{font-size:1.75rem;margin-bottom:18px}.service-card>p{font-size:1rem;margin-bottom:20px}.service-card ul{margin-bottom:23px}.service-card li{font-size:.9375rem;padding-block:10px}.card-top{margin-bottom:23px}.service-icon{margin-bottom:23px}.service-link{margin-top:auto}.service-tag{font-size:.75rem}.other-services{flex-direction:column;align-items:flex-start;gap:19px}.audience-grid{grid-template-columns:1fr}.audience-card{padding:29px}.audience-card h3{font-size:1.8rem}.audience-card p{font-size:1rem}.audience-label{margin-bottom:23px}.about-grid{grid-template-columns:1fr;gap:28px}.about-grid h2 br:last-child{display:none}.about-copy .large-copy{font-size:1.18rem}.process-section{padding-block:50px}.process-heading h2{font-size:2rem}.process-grid{grid-template-columns:1fr;gap:32px}.process-grid>div{padding-bottom:26px;border-bottom:1px solid #ffffff25}.process-grid>div:last-child{border-bottom:0;padding-bottom:0}.process-grid h3{font-size:1.25rem}.process-grid p{font-size:1rem}.step-number{font-size:2.2rem}.contact-grid{grid-template-columns:1fr;gap:35px}.contact-section h2{font-size:2.55rem}.contact-section .button{width:100%}.contact-row>a{font-size:1.7rem}.contact-row>a.email-link{font-size:1.05rem}.footer-bottom{flex-direction:column;gap:5px}.footer-top p{line-height:1.8}.footer-top>a{font-size:.8125rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* Registro de trabajos: imágenes verticales, video voluntario y galería ampliable. */
.work-section{background:#fff4cc;border-top:1px solid #eadca4}
.work-case{background:#fff;border:1px solid #eadca4;border-radius:12px;padding:32px}
.work-lead{display:grid;grid-template-columns:1.1fr 1fr;gap:42px;align-items:start}
.work-featured,.work-stage,.work-main-video,.work-clip{margin:0;min-width:0}
.work-featured{overflow:hidden;border-radius:8px;background:var(--navy);color:#fff}
.work-photo{display:block;position:relative;overflow:hidden;background:#eef0f4}
.work-photo img{width:100%;aspect-ratio:1122 / 1402;object-fit:contain;transition:transform .35s ease}
.work-photo:hover img{transform:scale(1.02)}
.photo-expand{position:absolute;right:13px;bottom:13px;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--yellow);color:var(--navy);font-size:1.5rem;box-shadow:0 2px 10px #080b2520}
.work-featured figcaption{padding:20px 24px}
.work-featured figcaption span{display:block;color:var(--yellow);font-size:.7rem;font-weight:700;letter-spacing:.07em;margin-bottom:7px}
.work-featured figcaption strong{font-family:var(--heading);font-size:1.4rem}
.work-tag{font-size:.7rem;font-weight:700;letter-spacing:.07em;color:#74600b;margin-bottom:15px}
.work-overview h3{font-size:clamp(1.8rem,2.4vw,2.7rem);margin-bottom:18px}
.work-overview>p:not(.work-tag){color:var(--muted);max-width:360px;margin-bottom:22px}
.work-main-video{max-width:355px}
.work-main-video>figcaption{font-size:.9rem;font-weight:700;margin-bottom:12px}
.work-video{display:block;width:100%;height:auto;aspect-ratio:3 / 4;object-fit:contain;background:var(--navy);border-radius:7px}
.work-video:focus-visible,summary:focus-visible{outline:3px solid #a97500;outline-offset:5px}
.work-video-note{font-size:.75rem;color:var(--muted);margin:9px 0 0}
.work-gallery-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin:40px 0 22px}
.work-gallery-heading h3{font-size:1.7rem;margin:0}
.work-gallery-heading p{color:var(--muted);font-size:.875rem;margin:0}
.work-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.work-stage{border:1px solid var(--line);border-radius:7px;overflow:hidden;background:#fff}
.work-stage figcaption{display:flex;gap:10px;align-items:flex-start;padding:17px 14px;line-height:1.5}
.work-stage-number{color:#896400;font-size:.75rem;font-weight:700;padding-top:1px}
.work-stage strong{font-size:.875rem;font-weight:600}
.work-photo-note{font-size:.75rem;color:var(--muted);margin:14px 0 22px}
.work-details{border-block:1px solid var(--line)}
.work-details summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;list-style:none;padding:20px 0;font-weight:700;gap:12px}
.work-details summary::-webkit-details-marker{display:none}
.work-details summary span{font-size:1.5rem;line-height:1;transition:transform .2s}
.work-details[open] summary span{transform:rotate(45deg)}
.work-clips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-bottom:25px}
.work-clip .work-video{aspect-ratio:3 / 4}
.work-clip figcaption{padding-top:17px}
.work-clip h4{font-family:var(--heading);font-size:1.05rem;line-height:1.4;margin:0 0 8px}
.work-clip p{color:var(--muted);font-size:.875rem;margin:0}
.work-contact{display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fff4cc;border-radius:7px;padding:25px;margin-top:28px}
.work-contact strong{font-size:1.05rem}
.work-contact p{font-size:.9375rem;color:var(--muted);margin:5px 0 0}
.work-contact .button{flex-shrink:0}
.photo-dialog{width:min(920px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:0;border:0;border-radius:10px;color:white;background:var(--navy)}
.photo-dialog::backdrop{background:#080b25db}
.photo-dialog-inner{padding:20px;display:flex;align-items:center;flex-direction:column}
.photo-dialog-close{align-self:flex-end;min-height:44px;border:0;border-radius:5px;background:var(--yellow);color:var(--navy);font-weight:700;padding:8px 16px;margin-bottom:12px;cursor:pointer}
.photo-dialog-image{width:100%;height:min(65dvh,720px);object-fit:contain}
#photo-dialog-caption{margin:15px 0;text-align:center;font-weight:600}
.photo-dialog-controls{display:flex;align-items:center;justify-content:center;gap:24px;width:100%}
.photo-dialog-controls button{border:1px solid #ffffff55;background:transparent;color:white;border-radius:5px;min-height:44px;padding:8px 14px;cursor:pointer}
.photo-counter{font-size:.875rem;color:#c7c9d5;white-space:nowrap}
body.gallery-open{overflow:hidden}
.hero-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.2fr);gap:44px}
.hero-artwork{position:relative;isolation:isolate;background:var(--navy);overflow:hidden}
.hero-artwork .hero-artwork-image{display:block;width:100%;height:auto;aspect-ratio:1729 / 910}
.hero-artwork .hero-artwork-motion{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
@media(max-width:1120px){.hero-grid{gap:30px}}
@media(max-width:800px){.hero-grid{grid-template-columns:minmax(0,1fr);gap:35px}.hero-copy{max-width:620px}.hero-brand-panel{max-width:700px;width:100%}.hero h1{font-size:clamp(2.8rem,6.5vw,3.5rem)}}
@media(max-width:600px){.hero h1{font-size:clamp(2.5rem,9.5vw,3.5rem)}}
@media(prefers-reduced-motion:reduce){.hero-artwork .hero-artwork-motion{display:none}}
@media(max-width:1120px){.work-lead{gap:28px}.work-case{padding:26px}.work-contact{align-items:flex-start;flex-direction:column}.work-gallery{gap:12px}}
@media(max-width:800px){.work-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.work-lead{gap:23px}.work-overview h3{font-size:1.7rem}.work-case{padding:22px}.work-gallery-heading{align-items:flex-start;flex-direction:column;gap:10px}.work-clips{gap:16px}}
@media(max-width:600px){.work-case{padding:18px}.work-lead{grid-template-columns:1fr;gap:28px}.work-overview h3{font-size:2rem}.work-main-video{max-width:100%}.work-gallery{grid-template-columns:1fr;gap:22px}.work-gallery-heading{margin-top:32px}.work-clips{grid-template-columns:1fr;gap:28px}.work-contact{padding:20px;gap:18px}.work-contact .button{width:100%}.work-stage figcaption{padding:18px}.work-stage strong{font-size:1rem}.work-featured figcaption{padding:20px}.photo-dialog-inner{padding:12px}.photo-dialog-controls{gap:12px}.photo-dialog-controls button{padding:8px 10px;font-size:.875rem}.photo-dialog-image{height:60dvh}}

/* Franja de marcas: recorrido continuo de izquierda a derecha. */
.brand-ribbon{padding-bottom:24px}
.brand-ribbon-top{position:relative;display:flex;align-items:center;justify-content:center;min-height:70px;padding-block:18px 14px}
.brand-ribbon .ribbon-inner{flex:1;flex-direction:row;justify-content:center;flex-wrap:wrap;gap:10px 30px;padding:0}
.brand-specialists-label{display:flex;align-items:center;justify-content:center;gap:16px;margin:0;color:#fff;font-family:var(--heading);font-size:1.125rem;font-weight:700;line-height:1.5;letter-spacing:.055em;text-transform:uppercase;text-align:center}
.brand-specialists-label::before,.brand-specialists-label::after{content:"";width:30px;height:2px;border-radius:2px;background:var(--yellow);flex-shrink:0}
.brand-ribbon .ribbon-inner span{gap:10px;font-size:.9375rem;color:#e1e2eb}
.brand-ribbon .ribbon-inner b{font-size:.75rem}
.brand-motion-toggle{position:absolute;right:0;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;flex-shrink:0;padding:7px 12px;border:1px solid #ffffff50;border-radius:5px;background:transparent;color:#fff;font-size:.8125rem;font-weight:600;cursor:pointer}
.brand-motion-toggle[hidden]{display:none}
.brand-motion-toggle:hover{background:#ffffff12;border-color:var(--yellow)}
.brand-motion-toggle:focus-visible{outline-color:var(--yellow)}
.brand-motion-symbol{width:13px;font-size:1rem;line-height:1}
.brand-window{overflow-x:auto;scrollbar-width:thin;scrollbar-color:#ffc400 #080b25;border-radius:7px}
.brand-window:focus-visible{outline:2px solid var(--yellow);outline-offset:5px}
.brand-track{display:flex;width:max-content;transform:translateX(0)}
.brand-group{display:flex;align-items:center;gap:24px;margin:0;padding:0 24px 0 0;list-style:none;flex-shrink:0}
.brand-group-clone{display:none}
.brand-tile{width:176px;height:82px;flex:0 0 176px;display:flex;align-items:center;justify-content:center;background:white;border-radius:6px;overflow:hidden}
.brand-tile img{width:130px;height:48px;object-fit:contain;flex-shrink:0}
.brand-tile.brand-mabe img{width:270px;height:auto;max-width:none}
.brand-ribbon.is-motion-ready .brand-window{overflow:hidden}
.brand-ribbon.is-motion-ready .brand-track{animation:brands-flow-right 30s linear infinite}
.brand-ribbon.is-motion-ready .brand-group-clone{display:flex}
.brand-ribbon.is-paused .brand-track{animation-play-state:paused}
@keyframes brands-flow-right{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@media(hover:hover) and (pointer:fine){.brand-ribbon .brand-window:hover .brand-track{animation-play-state:paused}}
@media(max-width:800px){.brand-motion-toggle{min-width:40px;padding:7px 9px}.brand-motion-toggle .brand-motion-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}
@media(max-width:600px){.brand-ribbon{padding-bottom:20px}.brand-ribbon-top{min-height:66px;padding-block:16px 13px}.brand-ribbon .ribbon-inner{gap:7px 16px}.brand-specialists-label{gap:10px;font-size:.875rem;letter-spacing:.05em}.brand-specialists-label::before,.brand-specialists-label::after{width:18px}.brand-motion-toggle{min-width:40px;padding:7px 9px;font-size:.75rem}.brand-motion-toggle .brand-motion-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}
@media(max-width:360px){.brand-specialists-label{font-size:.8125rem}.brand-specialists-label::before,.brand-specialists-label::after{display:none}}
/* JavaScript sigue la preferencia del dispositivo; el botón permite activación voluntaria.
   Sin JavaScript no se añade is-motion-ready y la lista permanece estática. */

/* Clientes: conexión entre Servicios y Nuestro trabajo, con controles independientes. */
.clients-ribbon{padding-bottom:28px}
.clients-ribbon.is-motion-ready .brand-track{animation-duration:35s}
.clients-ribbon .brand-ribbon-top{min-height:82px;padding-block:23px 18px}
.clients-ribbon .brand-specialists-label{max-width:calc(100% - 210px);margin-inline:auto;letter-spacing:.035em}
.clients-ribbon .brand-tile{width:200px;height:128px;flex-basis:200px;border:1px solid #e3e5eb}
.clients-ribbon .brand-tile img{width:172px;height:104px;object-fit:contain}
.clients-ribbon .client-logo-naturela{display:flex;align-items:center;justify-content:center;width:172px;height:104px;flex-shrink:0;isolation:isolate;overflow:hidden;background:#e0eeb3}
.clients-ribbon .brand-tile .client-logo-naturela img{width:172px;height:172px;max-width:none;object-fit:contain;mix-blend-mode:darken}
@media(max-width:600px){.clients-ribbon .brand-ribbon-top{min-height:85px;padding-block:17px}.clients-ribbon .brand-specialists-label{max-width:calc(100% - 100px);font-size:.875rem;line-height:1.5;letter-spacing:.025em;gap:9px}.clients-ribbon .brand-specialists-label::before,.clients-ribbon .brand-specialists-label::after{width:14px}.clients-ribbon{padding-bottom:24px}}
@media(max-width:360px){.clients-ribbon .brand-specialists-label{font-size:.8125rem}.clients-ribbon .brand-specialists-label::before,.clients-ribbon .brand-specialists-label::after{display:none}}

/* Portada panorámica con degradado azul integrado. */
.hero-panorama{position:relative;isolation:isolate;overflow:hidden;background:var(--navy);color:white}
.hero-panorama .hero-grid{position:relative;z-index:2;display:flex;align-items:center;min-height:600px;padding-block:60px}
.hero-panorama .hero-copy{width:32%;max-width:390px}
.hero-panorama h1{font-size:clamp(2.3rem,3.3vw,3.3rem);line-height:1.12;letter-spacing:-.045em}
.hero-panorama .eyebrow{color:var(--yellow);font-size:.75rem;letter-spacing:.14em}
.hero-panorama .hero-description{color:#e0e8f2;font-size:1.0625rem;line-height:1.75;max-width:390px}
.hero-panorama .hero-location{color:#cfdaea;line-height:1.6}
.hero-panorama .hero-actions{gap:18px 22px}
.hero-panorama .text-link{color:white}
.hero-panorama .text-link:hover{color:var(--yellow)}
.hero-panorama-art{position:absolute;right:0;top:50%;width:100%;height:auto;aspect-ratio:1983 / 793;transform:translateY(-50%);z-index:0;mask-image:linear-gradient(180deg,transparent 0%,#000 8%,#000 94%,transparent 100%)}
.hero-panorama-art .hero-artwork-image{width:100%;height:auto;aspect-ratio:1983 / 793}
.hero-panorama-shade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#080b25 0%,rgba(8,11,37,.7)15%,rgba(8,11,37,0)32%),linear-gradient(0deg,#080b25 0%,rgba(8,11,37,0)15%)}
@media(min-width:1600px){.hero-panorama .hero-grid{min-height:660px}}
@media(max-width:1000px){
 .hero-panorama::before{content:"";position:absolute;inset:-30px -30px -30px 0;z-index:0;background:url('assets/centry-portada-v12.webp') center / 100% 100% no-repeat;filter:blur(24px);opacity:.48;mask-image:linear-gradient(90deg,transparent,#000 45%)}
 .hero-panorama-art{mask-image:linear-gradient(180deg,transparent 0%,#000 20%,#000 80%,transparent 100%)}
 .hero-panorama .hero-grid{min-height:420px;padding-block:32px}
 .hero-panorama .hero-copy{width:38%;max-width:340px}
 .hero-panorama h1{font-size:clamp(1.65rem,3.8vw,2.4rem);margin-bottom:18px}
 .hero-panorama .eyebrow{font-size:.625rem;gap:8px;margin-bottom:14px}
 .hero-panorama .eyebrow-line{width:22px}
 .hero-panorama .hero-description{font-size:.875rem;line-height:1.6;margin-bottom:20px}
 .hero-panorama .hero-actions{gap:13px}
 .hero-panorama .hero-actions .button{font-size:.8125rem;min-height:44px;padding:11px 14px;gap:8px}
 .hero-panorama .hero-actions .button svg{width:19px;height:19px}
 .hero-panorama .text-link{font-size:.75rem}
 .hero-panorama .hero-location{font-size:.75rem;margin-top:19px;gap:6px}
 .hero-panorama .hero-location svg{flex-shrink:0;width:16px;height:16px}
 .hero-panorama-shade{background:linear-gradient(90deg,#080b25 0%,rgba(8,11,37,.85)24%,rgba(8,11,37,.35)34%,rgba(8,11,37,0)42%),linear-gradient(0deg,#080b25 0%,rgba(8,11,37,0)18%)}
}
@media(max-width:600px){
 .hero-panorama .hero-grid{min-height:380px;padding-block:24px}
 .hero-panorama .hero-copy{width:48%}
 .hero-panorama h1{font-size:clamp(1.3rem,4.5vw,1.65rem);margin-bottom:14px}
 .hero-panorama .hero-description{font-size:.75rem;line-height:1.5;margin-bottom:15px}
 .hero-panorama .eyebrow{font-size:.5625rem;letter-spacing:.08em;gap:6px}
 .hero-panorama .eyebrow-line{width:12px}
 .hero-panorama .hero-actions .button{font-size:.75rem;padding:10px;gap:6px}
 .hero-panorama .hero-actions .button svg{width:17px;height:17px;flex-shrink:0}
 .hero-panorama .text-link{font-size:.6875rem}
 .hero-panorama .hero-location{font-size:.6875rem;margin-top:16px}
 .hero-panorama .hero-copy{width:43%}
 .hero-panorama-shade{background:linear-gradient(90deg,#080b25 0%,rgba(8,11,37,.9)26%,rgba(8,11,37,.3)39%,rgba(8,11,37,0)48%),linear-gradient(0deg,#080b25 0%,rgba(8,11,37,0)18%)}
}

