@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{--ink:#111c26;--ink2:#172532;--paper:#f7f8f6;--white:#fff;--muted:#5d6870;--line:#d9deda;--red:#e94e3a;--red2:#cf3d2b;--max:1240px}
    *{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--red);outline-offset:4px}::selection{background:#ffd1c8;color:var(--ink)}
    .wrap{max-width:var(--max);margin:auto;padding-inline:clamp(22px,4vw,56px)}.topline{background:var(--ink);color:#cbd2d4;font-size:.78rem;letter-spacing:.045em}.topline .wrap{min-height:36px;display:flex;justify-content:space-between;align-items:center;gap:15px}.topline span:last-child{color:#fff}.header{background:var(--paper);border-bottom:1px solid var(--line);position:relative;z-index:20}.header-inner{height:76px;display:flex;align-items:center;gap:38px}.brand{display:flex;align-items:center;gap:13px;flex-shrink:0}.brandmark{display:inline-grid;place-items:center;background:var(--red);color:white;width:48px;height:44px;font:800 21px/1 Manrope,Arial,sans-serif;letter-spacing:-.13em;padding-right:4px;transform:skew(-8deg)}.brandname{font:800 16px/1.15 Manrope,sans-serif;letter-spacing:-.045em}.brandname small{display:block;color:var(--muted);font:600 10px/1.4 Manrope,sans-serif;letter-spacing:.13em;text-transform:uppercase;margin-top:3px}.nav{display:flex;gap:clamp(18px,2.3vw,34px);align-items:center;margin-left:auto;font-size:.87rem;font-weight:700}.nav a:hover,.textlink:hover{color:var(--red)}.nav-cta{background:var(--ink);color:white!important;padding:12px 18px;white-space:nowrap}.nav-cta:hover{background:var(--red)}.menu{display:none;background:none;border:0;cursor:pointer;color:var(--ink);font-size:1.7rem;line-height:1}
    .hero{background:var(--ink);color:white;overflow:hidden}.hero-grid{min-height:620px;display:grid;grid-template-columns:1.06fr .94fr}.hero-copy{padding:clamp(72px,8vw,120px) 6% 78px 0;display:flex;flex-direction:column;align-items:flex-start;position:relative}.eyebrow{font-size:.77rem;line-height:1.4;text-transform:uppercase;letter-spacing:.16em;font-weight:800;color:var(--red)}.hero h1{font:800 clamp(3.4rem,6.15vw,6.7rem)/.99 Manrope,Arial,sans-serif;letter-spacing:-.075em;margin:25px 0 26px;max-width:780px}.hero h1 em{font-style:normal;color:#ff725f}.hero .lede{color:#d1d8dc;font-size:clamp(1.04rem,1.35vw,1.22rem);line-height:1.65;max-width:550px;margin:0 0 35px}.actions{display:flex;flex-wrap:wrap;gap:12px}.btn{min-height:51px;padding:12px 21px;display:inline-flex;align-items:center;justify-content:center;gap:16px;font-weight:800;font-size:.9rem;transition:background .2s,transform .2s}.btn:hover{transform:translateY(-2px)}.btn-red{background:var(--red);color:white}.btn-red:hover{background:var(--red2)}.btn-outline{border:1px solid #7b8992;color:white}.btn-outline:hover{background:#ffffff16}.btn-dark{background:var(--ink);color:white}.btn-dark:hover{background:var(--red)}.hero-note{margin-top:auto;padding-top:45px;color:#aeb8bd;font-size:.85rem;display:flex;gap:15px;align-items:center}.hero-note:before{content:'';height:1px;width:40px;background:var(--red)}
    .hero-visual{position:relative;min-height:620px;background:linear-gradient(145deg,#253543,#101a25);border-left:1px solid #34414b;overflow:hidden}.hero-visual img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;filter:saturate(.82) contrast(1.03)}.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 28%,#101b27bd 100%)}.visual-frame{position:absolute;inset:25px;border:1px solid #ffffff45;z-index:1;pointer-events:none}.visual-label{z-index:2;position:absolute;bottom:55px;left:52px;right:55px;font-size:.76rem;text-transform:uppercase;letter-spacing:.13em;color:#e1e6e8;font-weight:700}.visual-label strong{display:block;font:700 clamp(1.2rem,2.1vw,1.8rem)/1.25 Manrope,sans-serif;letter-spacing:-.03em;text-transform:none;color:white;margin-top:10px}.visual-fallback{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden}.visual-fallback b{font:800 clamp(11rem,25vw,25rem)/1 Manrope,sans-serif;letter-spacing:-.15em;color:#ffffff0c;transform:rotate(-90deg)}.visual-fallback:before{content:'';position:absolute;width:85%;height:1px;background:#ffffff38;transform:rotate(-35deg)}.visual-fallback:after{content:'';position:absolute;width:200px;height:200px;border:30px solid #e94e3a70;right:-80px;top:20%}
    .proof{background:#e9edeb;border-bottom:1px solid var(--line)}.proof-grid{display:grid;grid-template-columns:repeat(3,1fr)}.proof-item{padding:24px 30px;border-left:1px solid #ced5d1}.proof-item:first-child{padding-left:0;border:0}.proof-item strong{display:block;font:800 1.25rem/1.2 Manrope,sans-serif;letter-spacing:-.04em}.proof-item span{display:block;color:var(--muted);font-size:.82rem;margin-top:5px}
    section{scroll-margin-top:90px}.section{padding:clamp(78px,9vw,130px) 0}.section-head{display:grid;grid-template-columns:.85fr 1.15fr;gap:50px;align-items:end;margin-bottom:44px}.section h2{font:800 clamp(2.3rem,4.3vw,4.6rem)/1.06 Manrope,sans-serif;letter-spacing:-.065em;margin:14px 0 0}.section-head p{font-size:1.08rem;color:var(--muted);max-width:600px;margin:0 0 6px}.services{background:var(--paper)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.service{padding:34px 32px 38px;background:var(--white);min-height:420px;display:flex;flex-direction:column}.service .num{font:800 .8rem Manrope,sans-serif;color:var(--red)}.service h3{font:800 clamp(1.45rem,1.9vw,1.8rem)/1.22 Manrope,sans-serif;letter-spacing:-.045em;margin:50px 0 14px}.service p{color:#4e5a62;margin:0 0 24px}.service ul{list-style:none;padding:20px 0 0;margin:auto 0 0;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:7px}.service li{font-size:.78rem;line-height:1.3;color:#384650;background:#f0f3f1;padding:6px 9px;font-weight:700}.service:nth-child(2){background:#f1f3f1}.service:nth-child(3){background:#e4ebe8}
    .split{background:#e9eeeb}.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,8vw,125px);align-items:center}.split h2{max-width:560px}.split p{color:#4c5a62;font-size:1.08rem;max-width:550px}.steps{border-top:1px solid #b9c5bf;margin-top:24px}.step{display:grid;grid-template-columns:38px 1fr;gap:18px;padding:17px 0;border-bottom:1px solid #b9c5bf;align-items:start}.step b{color:var(--red);font:.8rem/1.6 Manrope,sans-serif}.step strong{font:800 1.05rem Manrope,sans-serif}.step span{display:block;color:#536169;font-size:.9rem;margin-top:2px}
    .cases{background:var(--ink);color:white}.cases .section-head p{color:#bdc8cd}.case-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}.case{padding:35px;min-height:320px;display:flex;flex-direction:column;background:#21313e;position:relative;overflow:hidden}.case:first-child{background:#d94431}.case:after{content:'↗';font:400 7rem/1 Arial;position:absolute;right:22px;top:18px;opacity:.13}.case small{font-size:.73rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:#f7cec7}.case:not(:first-child) small{color:#aabdc6}.case h3{font:800 clamp(1.65rem,2.3vw,2.5rem)/1.12 Manrope,sans-serif;letter-spacing:-.05em;max-width:430px;margin:auto 0 16px}.case p{margin:0;color:#f7e2df;max-width:460px}.case:not(:first-child) p{color:#cbd4d8}.case .case-tag{margin-top:12px;font-size:.8rem;color:#fbd7cf}.case:not(:first-child) .case-tag{color:#aabdc6}
    .sectors{background:var(--paper)}.sector-list{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:45px}.sector{padding:25px 22px;border:1px solid var(--line);background:white;min-height:146px;display:flex;flex-direction:column;justify-content:space-between}.sector span{font-size:.73rem;letter-spacing:.12em;color:var(--red);font-weight:800}.sector strong{font:800 1.08rem/1.25 Manrope,sans-serif;letter-spacing:-.02em}.sector p{margin:5px 0 0;color:var(--muted);font-size:.82rem}
    .quote-band{background:#dbe3df;padding:57px 0}.quote-band .wrap{display:flex;justify-content:space-between;align-items:center;gap:35px}.quote-band h2{font:800 clamp(1.6rem,2.8vw,2.8rem)/1.14 Manrope,sans-serif;letter-spacing:-.055em;max-width:730px;margin:0}.quote-band p{margin:11px 0 0;color:#526068}.contact{background:var(--red);color:white}.contact-grid{display:grid;grid-template-columns:1fr .7fr;gap:70px;align-items:end}.contact .eyebrow{color:#ffe2dc}.contact h2{max-width:760px}.contact p{max-width:600px;color:#ffebe7;font-size:1.08rem}.contact-card{background:var(--ink);padding:34px;display:flex;flex-direction:column;gap:19px}.contact-card small{text-transform:uppercase;letter-spacing:.13em;color:#a6b4bc;font-weight:800}.contact-card a{font:800 clamp(1.05rem,1.4vw,1.3rem) Manrope,sans-serif;overflow-wrap:anywhere}.contact-card a:hover{color:#ff9486}.contact-card span{color:#b9c7cc;font-size:.9rem}.footer{background:#0c151d;color:#b9c4c9;padding:35px 0}.footer .wrap{display:flex;align-items:center;justify-content:space-between;gap:26px;flex-wrap:wrap}.footer .brandname{color:white}.footer-links{display:flex;gap:22px;flex-wrap:wrap;font-size:.84rem}.footer-links a:hover{color:white}.footer small{font-size:.78rem;color:#84949b}
    @media(max-width:980px){.nav{gap:15px;font-size:.8rem}.hero-grid{min-height:auto}.hero-copy{padding-right:30px}.hero-visual{min-height:590px}.service{padding:27px 23px}.service h3{margin-top:32px}.sector-list{grid-template-columns:repeat(2,1fr)}}
    @media(max-width:720px){.topline span:last-child{display:none}.header-inner{height:68px}.menu{display:block;margin-left:auto}.nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--paper);padding:22px;box-shadow:0 16px 20px #101b271a;flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav a{padding:12px 3px}.nav .nav-cta{text-align:center;margin-top:8px}.hero-grid{display:flex;flex-direction:column}.hero-copy{padding:78px 0 55px}.hero h1{font-size:clamp(3rem,11vw,5rem)}.hero-visual{min-height:360px;margin:0 -22px}.visual-label{bottom:35px;left:42px;right:40px}.visual-frame{inset:20px}.proof-grid{grid-template-columns:1fr}.proof-item,.proof-item:first-child{padding:18px 0;border:0;border-bottom:1px solid #cfd7d2}.proof-item:last-child{border:0}.section-head,.split-grid,.contact-grid{grid-template-columns:1fr;gap:25px}.section-head{margin-bottom:30px}.section-head p{font-size:1rem}.service-grid{grid-template-columns:1fr}.service{min-height:auto}.service h3{margin:28px 0 12px}.service ul{margin-top:20px}.case-grid{grid-template-columns:1fr}.case{min-height:270px}.sector-list{grid-template-columns:1fr 1fr}.quote-band .wrap{align-items:flex-start;flex-direction:column}.contact-grid{gap:25px}.footer .wrap{align-items:flex-start;flex-direction:column}}
    @media(max-width:420px){.sector-list{grid-template-columns:1fr}.actions{width:100%}.actions .btn{width:100%}.hero h1{font-size:3rem}.contact-card{padding:24px}.topline{font-size:.7rem}}
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}


/* RW FINAL - correcciones base */
.sector{justify-content:flex-start;gap:24px}.sector>div{margin-top:auto}.sector strong{display:block;min-height:2.7em}
.service-link{display:flex;flex-direction:column;height:100%;margin:-34px -32px -38px;padding:34px 32px 38px}.service-link:hover h3,.service-link:focus-visible h3{color:var(--red)}
.case .case-link{margin-top:18px;color:#fff;font-weight:800;font-size:.86rem;position:relative;z-index:2}.case .case-link:hover{text-decoration:underline}
@media(max-width:980px){.service-link{margin:-27px -23px;padding:27px 23px}}

/* ================================================================
   RW 2027 FINAL — extensiones multipágina
   Ver GLOSARIO_CSS.md antes de editar.
   ================================================================ */

/* LOGO: una sola imagen combinada, siempre proporcional */
.brand-logo-link{display:flex;align-items:center;flex:0 0 auto}
.brand-logo-combined{display:block;width:auto;height:52px;max-width:238px;object-fit:contain;object-position:left center}
.footer .brand-logo-combined{height:62px;max-width:290px}

/* MENÚ COMPLETO, SIN DROPDOWN */
.nav{gap:clamp(11px,1.35vw,22px);font-size:.78rem}
.nav a{white-space:nowrap}
.nav-social{display:flex;gap:6px;align-items:center;margin-left:2px}
.nav-social a{width:28px;height:28px;border:1px solid var(--line);display:grid;place-items:center;font-size:.65rem;padding:0!important}
.nav-social a:hover{border-color:var(--red)}

/* HEROS INTERIORES */
.page-hero{background:var(--ink);color:#fff;padding:clamp(72px,8vw,118px) 0 70px;position:relative;overflow:hidden}
.page-hero:after{content:'';position:absolute;width:420px;height:420px;border:70px solid #ffffff08;right:-140px;top:-190px;transform:rotate(24deg)}
.page-hero .wrap{position:relative;z-index:1}.page-hero .eyebrow{color:#ff725f}
.page-hero h1{font:800 clamp(3rem,6vw,6rem)/.98 Manrope,Arial,sans-serif;letter-spacing:-.075em;margin:20px 0 22px;max-width:980px}
.page-hero p{color:#cbd4d8;font-size:clamp(1.02rem,1.4vw,1.2rem);max-width:790px;margin:0}
.page-hero .hero-actions{margin-top:32px;display:flex;gap:12px;flex-wrap:wrap}

/* GRILLAS / TARJETAS */
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.info-card{background:#fff;border:1px solid var(--line);padding:28px;min-height:240px;display:flex;flex-direction:column}
.info-card .kicker{font-size:.73rem;letter-spacing:.12em;text-transform:uppercase;color:var(--red);font-weight:800}.info-card h3{font:800 1.35rem/1.18 Manrope,sans-serif;letter-spacing:-.045em;margin:18px 0 12px}.info-card p{color:#536169;margin:0 0 18px}.info-card .tags{margin-top:auto;padding-top:18px;border-top:1px solid var(--line);color:#647077;font-size:.78rem;font-weight:700}.info-card.dark{background:var(--ink2);border-color:#31414e;color:#fff}.info-card.dark p,.info-card.dark .tags{color:#c3cdd1}.info-card.red{background:var(--red);border-color:var(--red);color:#fff}.info-card.red p,.info-card.red .tags{color:#ffe7e2}

/* PROBLEMAS / CTA CONTEXTUALES */
.problem-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.problem-card{background:#fff;border:1px solid var(--line);padding:25px;min-height:200px;display:flex;flex-direction:column}.problem-card small{display:block;color:var(--red);font-weight:800;letter-spacing:.11em;margin-bottom:30px}.problem-card strong{font:800 1.12rem/1.25 Manrope,sans-serif}.problem-card p{font-size:.84rem;color:var(--muted);margin:7px 0 18px}.problem-card a{margin-top:auto;font-weight:800;color:var(--red2);font-size:.84rem}

/* CASOS */
.case-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.case-mini{background:#fff;border:1px solid var(--line);padding:26px;min-height:290px;display:flex;flex-direction:column}.case-mini .num{color:var(--red);font:800 .8rem Manrope}.case-mini h3{font:800 1.2rem/1.24 Manrope,sans-serif;letter-spacing:-.035em;margin:35px 0 12px}.case-mini p{color:var(--muted);margin:0}.case-mini .textlink{margin-top:auto;padding-top:22px;font-weight:800;color:var(--red2);font-size:.84rem}
.case-cover{position:relative;min-height:420px;overflow:hidden;background:#d9dfdc}.case-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.case-cover:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#111c26d9 0,#111c2677 44%,transparent 76%)}.case-cover-copy{position:relative;z-index:2;color:#fff;padding:clamp(55px,8vw,100px) 0;max-width:740px}.case-cover-copy h1{font:800 clamp(2.6rem,5.7vw,5.4rem)/1 Manrope;letter-spacing:-.07em;margin:18px 0}.case-cover-copy p{color:#d8e0e3;font-size:1.08rem;max-width:650px}.case-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}.case-meta span{border:1px solid #ffffff45;padding:7px 10px;font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.case-story{display:grid;grid-template-columns:.62fr 1.38fr;gap:clamp(45px,8vw,120px);align-items:start}.case-story h2{font:800 clamp(2rem,3.6vw,3.7rem)/1.05 Manrope;letter-spacing:-.055em;margin:12px 0}.case-story-copy h3{font:800 1rem Manrope;margin:0 0 8px;text-transform:uppercase;letter-spacing:.08em;color:var(--red)}.case-story-copy p{color:#48565e;margin:0 0 28px;font-size:1.02rem}.case-story-copy ul{color:#48565e;padding-left:20px;margin:0 0 28px}.case-story-copy li{margin:7px 0}

/* PORTFOLIO: normalización visual sin alterar la foto original */
.portfolio-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:10px}.portfolio-item{position:relative;overflow:hidden;background:#e3e8e5;min-height:270px}.portfolio-item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .35s ease}.portfolio-item:hover img{transform:scale(1.025)}.portfolio-item figcaption{position:absolute;inset:auto 0 0;padding:45px 18px 16px;background:linear-gradient(transparent,#111c26e5);color:#fff;font-size:.8rem;font-weight:700;z-index:2}.portfolio-item.wide{grid-column:span 8}.portfolio-item.mid{grid-column:span 6}.portfolio-item.small{grid-column:span 4}.portfolio-item.tall{min-height:400px}.portfolio-item.contain img{object-fit:contain;padding:22px;background:#fff}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.gallery-item{background:#e4e9e6;min-height:300px;overflow:hidden;position:relative}.gallery-item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.gallery-item.contain img{object-fit:contain;background:#fff;padding:18px}.gallery-item figcaption{position:absolute;bottom:0;left:0;right:0;color:white;background:linear-gradient(transparent,#111c26dd);padding:45px 16px 14px;font-size:.78rem;font-weight:700}
.before-after{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ba-card{background:#fff;border:1px solid var(--line);overflow:hidden}.ba-card img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}.ba-card div{padding:14px 16px;font-weight:800;font-size:.84rem}

/* CLIENTES / LOGOS */
.logo-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.logo-tile{background:#fff;border:1px solid var(--line);min-height:120px;display:grid;place-items:center;padding:16px}.logo-tile img{max-width:100%;max-height:82px;object-fit:contain}

/* NOSOTROS */
.story{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(45px,8vw,120px);align-items:start}.story-copy p{color:#43525a;font-size:1.03rem;margin:0 0 20px}.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.team-card{background:#fff;border:1px solid var(--line);overflow:hidden}.team-card img{width:100%;aspect-ratio:1/1;object-fit:cover;background:#e6ebe8}.team-card div{padding:20px}.team-card h3{font:800 1.1rem Manrope;margin:0 0 5px}.team-card p{margin:0;color:var(--muted);font-size:.85rem}

/* SUMATE */
.join-band{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}.join-option{background:#fff;padding:34px}.join-option h3{font:800 1.4rem Manrope;margin:5px 0 12px}.join-option p{color:var(--muted)}

/* CATÁLOGO */
.catalog-intro{padding:58px 0 20px;background:#e9eeeb}.catalog-layout{display:grid;grid-template-columns:260px 1fr;gap:34px;padding-block:42px 90px}.catalog-sidebar{position:sticky;top:16px;align-self:start}.catalog-sidebar h2{font:800 1rem Manrope;margin:0 0 14px}.catalog-filters{display:flex;flex-direction:column;gap:5px}.catalog-filters button{border:1px solid var(--line);background:#fff;text-align:left;padding:10px 12px;cursor:pointer;font-weight:700;font-size:.82rem}.catalog-filters button.active,.catalog-filters button:hover{background:var(--ink);color:#fff;border-color:var(--ink)}.catalog-search{display:flex;gap:8px;margin-bottom:18px}.catalog-search input{width:100%;border:1px solid var(--line);background:white;padding:13px 14px;font:inherit}.catalog-count{font-size:.8rem;color:var(--muted);margin-bottom:18px}.catalog-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.catalog-family{background:#fff;border:1px solid var(--line);padding:24px;display:flex;flex-direction:column;min-height:330px}.catalog-family .cat{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--red);font-weight:800}.catalog-family h3{font:800 1.25rem/1.2 Manrope;margin:14px 0 8px}.catalog-family ul{padding-left:18px;margin:12px 0 18px;color:#536169;font-size:.86rem}.catalog-family li{margin:5px 0}.catalog-family .family-actions{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:16px}.catalog-family button{border:0;background:transparent;color:var(--red2);font-weight:800;cursor:pointer}.catalog-family button.selected{color:var(--ink)}.request-bar{position:fixed;z-index:50;bottom:18px;left:50%;transform:translateX(-50%) translateY(140%);background:var(--ink);color:#fff;display:flex;gap:18px;align-items:center;padding:12px 14px 12px 18px;box-shadow:0 14px 45px #111c2660;transition:transform .25s;max-width:min(760px,calc(100% - 32px));width:max-content}.request-bar.visible{transform:translateX(-50%) translateY(0)}.request-bar p{margin:0;font-size:.86rem}.request-bar button{border:0;background:var(--red);color:white;padding:10px 14px;font-weight:800;cursor:pointer}.request-bar .clear{background:transparent;font-size:1.2rem;padding:5px}

/* CONTACTO / FOOTER */
.contact-lines{display:flex;flex-direction:column;gap:7px}.contact-lines a{font:800 clamp(1rem,1.3vw,1.18rem) Manrope}.contact-lines a:hover{color:#ff9486}.footer-main{width:100%;display:grid;grid-template-columns:1fr auto;gap:35px;align-items:center}.footer-social{display:flex;gap:8px}.footer-social a{border:1px solid #34434c;padding:8px 10px;font-size:.78rem;font-weight:800}.footer-social a:hover{border-color:#fff;color:#fff}.footer-meta{width:100%;padding-top:20px;border-top:1px solid #22313a;margin-top:4px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer-contact{display:flex;gap:16px;flex-wrap:wrap;font-size:.84rem}.footer-contact a:hover{color:#fff}
.wa-float{position:fixed;right:22px;bottom:22px;z-index:45;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:#fff;font-weight:900;box-shadow:0 12px 30px #101b2740}.wa-float:hover{background:var(--red2);transform:translateY(-2px)}

/* CMS */
[data-cms-hidden="true"]{display:none!important}

@media(max-width:1180px){.nav{font-size:.7rem;gap:10px}.brand-logo-combined{height:46px;max-width:205px}.nav-social{display:none}.logo-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:980px){.nav{gap:8px;font-size:.68rem}.catalog-layout{grid-template-columns:220px 1fr}.catalog-cards{grid-template-columns:1fr}.portfolio-item.wide{grid-column:span 8}.portfolio-item.mid,.portfolio-item.small{grid-column:span 4}.logo-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.case-story{grid-template-columns:1fr}.case-cover:after{background:linear-gradient(90deg,#111c26d9 0,#111c2680 70%,#111c2644 100%)}.gallery-grid,.case-list,.problem-grid,.grid-3{grid-template-columns:1fr 1fr}.catalog-layout{grid-template-columns:1fr}.catalog-sidebar{position:static}.catalog-filters{flex-direction:row;overflow:auto;padding-bottom:7px}.catalog-filters button{white-space:nowrap}.portfolio-item.wide,.portfolio-item.mid,.portfolio-item.small{grid-column:span 6}}
@media(max-width:720px){.brand-logo-combined{height:44px;max-width:202px}.nav{font-size:.82rem}.nav-social{display:flex;margin:10px 0}.gallery-grid,.case-list,.problem-grid,.grid-2,.grid-3,.team-grid,.join-band{grid-template-columns:1fr}.logo-grid{grid-template-columns:repeat(2,1fr)}.portfolio-item.wide,.portfolio-item.mid,.portfolio-item.small{grid-column:span 12}.portfolio-item{min-height:300px}.before-after{grid-template-columns:1fr}.footer-main{grid-template-columns:1fr}.request-bar{width:calc(100% - 24px);justify-content:space-between;gap:8px}.request-bar p{font-size:.76rem}}


/* ================================================================
   PARCHE RW CIERRE 2027
   Header anclado + galerías grandes + logos de clientes más visibles
   ================================================================ */

/* El contenedor completo queda sticky. Con top:-36px la barra superior
   se oculta al bajar y la barra del logo/menú queda exactamente arriba. */
#site-header{
  position:sticky;
  top:-36px;
  z-index:1200;
  width:100%;
}
.header{
  position:relative;
  z-index:2;
  box-shadow:0 1px 0 rgba(17,28,38,.08);
}

/* Galerías de casos: grandes, limpias y alineadas con el lenguaje del sitio */
.gallery-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.gallery-item{
  display:grid;
  grid-template-rows:minmax(430px,1fr) auto;
  min-height:0;
  background:#fff;
  border:1px solid var(--line);
  overflow:hidden;
  position:relative;
  margin:0;
}
.gallery-item img{
  position:static;
  width:100%;
  height:100%;
  min-height:430px;
  object-fit:cover;
  display:block;
}
.gallery-item.contain img{
  object-fit:contain;
  background:#fff;
  padding:28px;
}
.gallery-item figcaption{
  position:static;
  color:var(--ink);
  background:#fff;
  border-top:1px solid var(--line);
  padding:15px 18px;
  font-size:.82rem;
  font-weight:800;
}
.gallery-item:last-child:nth-child(odd){grid-column:1/-1}
.gallery-item:last-child:nth-child(odd) img{min-height:520px}

/* Portfolio / trabajos: deja de ser mosaico chico y pasa a bloques grandes */
.portfolio-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.portfolio-item,
.portfolio-item.wide,
.portfolio-item.mid,
.portfolio-item.small{
  grid-column:auto;
  min-height:420px;
  border:1px solid var(--line);
  background:#fff;
}
.portfolio-item img{object-fit:cover}
.portfolio-item.contain img{object-fit:contain;padding:28px;background:#fff}
.portfolio-item figcaption{padding:62px 20px 18px;font-size:.86rem}

/* Logos: aproximadamente el doble de presencia visual */
.logo-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.logo-tile{
  min-height:205px;
  padding:26px;
  background:#fff;
  border:1px solid var(--line);
}
.logo-tile img{
  width:auto;
  height:auto;
  max-width:92%;
  max-height:150px;
  object-fit:contain;
}

/* Casos controlados desde Google Sheets */
.case[hidden],.case-mini[hidden]{display:none!important}
.cases-empty{grid-column:1/-1;padding:32px;border:1px solid var(--line);background:#fff;color:var(--muted)}

/* Sumate / búsquedas */
.jobs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.job-card{background:#fff;border:1px solid var(--line);padding:28px;display:flex;flex-direction:column;min-height:270px}
.job-card .job-meta{font-size:.74rem;letter-spacing:.09em;text-transform:uppercase;color:var(--red);font-weight:800}
.job-card h3{font:800 1.25rem/1.2 Manrope,sans-serif;letter-spacing:-.035em;margin:18px 0 12px}
.job-card p{color:var(--muted);margin:0 0 22px}
.job-card .textlink{margin-top:auto;color:var(--red2);font-weight:800;font-size:.86rem}
.job-detail{max-width:860px}.job-detail h2{margin-top:42px}.job-detail ul{color:#48565e;padding-left:20px}.job-detail li{margin:8px 0}

@media(max-width:800px){
  .gallery-grid,.portfolio-grid,.jobs-grid{grid-template-columns:1fr}
  .gallery-item:last-child:nth-child(odd){grid-column:auto}
  .gallery-item img,.gallery-item:last-child:nth-child(odd) img{min-height:360px}
  .portfolio-item,.portfolio-item.wide,.portfolio-item.mid,.portfolio-item.small{min-height:360px}
  .logo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .logo-tile{min-height:170px;padding:20px}
  .logo-tile img{max-height:125px}
}
@media(max-width:520px){
  #site-header{top:-36px}
  .gallery-item img,.gallery-item:last-child:nth-child(odd) img{min-height:290px}
  .portfolio-item,.portfolio-item.wide,.portfolio-item.mid,.portfolio-item.small{min-height:300px}
  .logo-grid{grid-template-columns:1fr 1fr}
}


/* ================================================================
   RW 2027 · CASOS, TRABAJOS Y SLIDER DE FOTOS
   Para cambiar la altura del slider, editar solo --slider-h.
   ================================================================ */
:root{--slider-h:450px}

/* ---------- Tarjetas de casos (listado, Industria, Comercial, relacionados) ---------- */
.case-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.case-card{min-width:0}
.case-card-link{display:flex;flex-direction:column;height:100%;background:#fff;border:1px solid var(--line);color:var(--ink);transition:border-color .2s}
.case-card-img{aspect-ratio:1/1;overflow:hidden;background:#e4e9e6}
.case-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.case-card-body{display:flex;flex-direction:column;flex:1;padding:22px 22px 20px}
.case-card-area{color:var(--red2);font-size:.78rem;font-weight:800;line-height:1.3}
.case-card h3{font:800 1.16rem/1.25 Manrope,Arial,sans-serif;letter-spacing:-.03em;margin:10px 0 8px}
.case-card p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.5}
.case-card-more{margin-top:auto;padding-top:18px;font-size:.84rem;font-weight:800;color:var(--red2)}
.case-card-link:hover{border-color:var(--ink)}
.case-card-link:hover img{transform:scale(1.03)}
.case-card-link:hover .case-card-more{text-decoration:underline;text-underline-offset:3px}
.case-card[hidden],.case[hidden]{display:none!important}
.case-cards .cases-empty{grid-column:1/-1}

/* ---------- Interior de caso ---------- */
.case-head{padding:clamp(40px,5vw,72px) 0 clamp(28px,3vw,40px)}
.case-back{display:inline-block;font-size:.86rem;font-weight:700;color:var(--muted);margin-bottom:clamp(28px,4vw,48px)}
.case-back:hover{color:var(--red2)}
.case-head-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:24px clamp(32px,5vw,72px);align-items:end}
.case-area{display:block;color:var(--red2);font-weight:800;font-size:.9rem;margin-bottom:14px}
.case-head h1{font:800 clamp(2.2rem,4.4vw,4rem)/1.03 Manrope,Arial,sans-serif;letter-spacing:-.06em;margin:0;max-width:20ch}
.case-summary{margin:0;font-size:1.1rem;line-height:1.55;color:#48565e}
.case-photos{padding:0 0 clamp(48px,6vw,80px)}

.case-body{padding:clamp(48px,6vw,84px) 0;background:#fff;border-block:1px solid var(--line)}
.case-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,56px)}
.case-col{border-top:2px solid var(--ink);padding-top:18px}
.case-col.is-result{border-top-color:var(--red)}
.case-col h2{font:800 1.05rem/1.2 Manrope,Arial,sans-serif;letter-spacing:-.02em;margin:0 0 14px}
.case-col p{margin:0;color:#3e4a51;font-size:1.02rem;line-height:1.6}
.case-col ul{margin:0;padding:0;list-style:none;color:#3e4a51;font-size:1rem;line-height:1.5}
.case-col li{padding:9px 0 9px 18px;position:relative;border-bottom:1px solid var(--line)}
.case-col li:first-child{padding-top:0}
.case-col li:first-child::before{top:7px}
.case-col li::before{content:'';position:absolute;left:0;top:16px;width:7px;height:7px;background:var(--red)}
.case-col li:last-child{border-bottom:0}
.case-col.is-result p{font:700 1.2rem/1.4 Manrope,Arial,sans-serif;letter-spacing:-.02em;color:var(--ink)}

.case-related{padding:clamp(64px,7vw,100px) 0}
.case-related h2{font:800 clamp(1.6rem,2.6vw,2.3rem)/1.1 Manrope,Arial,sans-serif;letter-spacing:-.05em;margin:0 0 26px}

/* ---------- Slider de fotos (casos y trabajos) ---------- */
.rw-slider{min-width:200px}
.rw-slider-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}
.rw-slider-title{font:800 1rem/1.2 Manrope,Arial,sans-serif;margin:0;color:var(--muted)}
.rw-slider-nav{display:flex;gap:6px}
.rw-slider-nav button{width:42px;height:42px;display:grid;place-items:center;border:1px solid #b9c2bd;background:#fff;color:var(--ink);cursor:pointer;padding:0}
.rw-slider-nav button:hover:not(:disabled){background:var(--ink);border-color:var(--ink);color:#fff}
.rw-slider-nav button:disabled{opacity:.35;cursor:default}
.rw-slider-nav svg,.rw-lightbox svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.rw-slider.no-overflow .rw-slider-nav{visibility:hidden}

.rw-slider-track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;padding-bottom:10px;scrollbar-width:thin;scrollbar-color:#b9c2bd transparent}
.rw-slider-track:focus-visible{outline:3px solid var(--red);outline-offset:4px}
.rw-slide{flex:none;margin:0;scroll-snap-align:start;display:flex;flex-direction:column}
.rw-slide-open{display:block;border:0;padding:0;background:#e4e9e6;cursor:zoom-in}
.rw-slide img{display:block;height:var(--slider-h);width:auto;min-width:calc(var(--slider-h) * .7);max-width:min(460px,82vw);object-fit:cover}
.rw-slide.is-contain .rw-slide-open{background:#fff;border:1px solid var(--line)}
.rw-slide.is-contain img{object-fit:contain;padding:12px}
.rw-slide figcaption{width:0;min-width:100%;padding-top:10px;font-size:.84rem;line-height:1.4;color:#48565e}
.rw-slide figcaption strong{display:block;color:var(--ink);font:800 .95rem/1.3 Manrope,Arial,sans-serif;letter-spacing:-.02em}
.rw-slide figcaption span{display:block}
.rw-slide figcaption a{display:inline-block;margin-top:6px;color:var(--red2);font-weight:800;font-size:.82rem}
.rw-slide figcaption a:hover{text-decoration:underline;text-underline-offset:3px}

/* Trabajos (Marketing & Comunicación, Industria) */
[data-trabajos]{min-width:0}

/* ---------- Foto ampliada ---------- */
.rw-lightbox{width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:rgba(10,18,25,.94);color:#fff}
.rw-lightbox::backdrop{background:rgba(10,18,25,.6)}
.rw-lightbox[open]{display:grid;place-items:center}
.rw-lightbox figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:14px;padding:64px 72px}
.rw-lightbox img{max-width:min(1200px,86vw);max-height:78vh;object-fit:contain;display:block}
.rw-lightbox figcaption{font-size:.9rem;color:#cbd4d8;text-align:center}
.rw-lightbox button{position:absolute;border:0;background:transparent;color:#fff;cursor:pointer;width:52px;height:52px;display:grid;place-items:center}
.rw-lightbox button:hover{color:#ff8a7a}
.rw-lb-close{top:14px;right:14px;font-size:2rem;line-height:1}
.rw-lb-prev{left:10px;top:50%;transform:translateY(-50%)}
.rw-lb-next{right:10px;top:50%;transform:translateY(-50%)}
.rw-lightbox .rw-lb-prev svg,.rw-lightbox .rw-lb-next svg{width:30px;height:30px}

@media(max-width:980px){
  .case-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:800px){
  .case-head-grid,.case-columns{grid-template-columns:1fr}
  .case-columns{gap:36px}
}
@media(max-width:600px){
  .case-cards{grid-template-columns:1fr}
  .rw-lightbox figure{padding:56px 12px}
  .rw-lb-prev,.rw-lb-next{top:auto;bottom:10px;transform:none}
}
@media(prefers-reduced-motion:reduce){
  .rw-slider-track{scroll-behavior:auto}
  .case-card-img img,.case-card-link{transition:none}
}

/* ---------- Pie: redes con íconos + botón fijo de WhatsApp ---------- */
.footer-social a{display:grid;place-items:center;width:44px;height:44px;padding:0;color:#b9c4c9}
.footer-social svg{width:20px;height:20px}
.wa-float{background:#25d366;color:#fff}
.wa-float:hover{background:#1ebe5a}
.wa-float svg{width:30px;height:30px}

/* ---------- Casos de servicio (sin fotos) ---------- */
.case-card-img.is-text{aspect-ratio:4/3;background:var(--ink);color:#fff;display:flex;flex-direction:column;justify-content:flex-end;gap:10px;padding:24px}
.case-card-img.is-text small{color:#ff8a7a;font-size:.78rem;font-weight:800}
.case-card-img.is-text span{font:800 clamp(1.05rem,1.6vw,1.3rem)/1.3 Manrope,Arial,sans-serif;letter-spacing:-.03em}
.case-card-link:hover .case-card-img.is-text{background:#1b2a37}
.case-head.no-photos{padding-bottom:clamp(48px,6vw,80px)}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

html.rw-cms-wait [data-cms],
html.rw-cms-wait [data-cases-list],
html.rw-cms-wait [data-case-detail],
html.rw-cms-wait [data-trabajos]{visibility:hidden}

.case-video{padding:0 0 clamp(48px,6vw,80px)}
.case-video .wrap > *{max-width:900px;margin-left:auto;margin-right:auto}
.case-video-frame{position:relative;aspect-ratio:16/9;border-radius:0;overflow:hidden;background:#000}
.case-video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ===== Paleta cian (logo) + naranja de acento ===== */
:root{--red:#00b4ec;--red2:#0098c9;--cyan:#00b4ec;--orange:#e94e3a}
.btn-red,.nav-cta:hover,.request-bar button,.catalog-family button{color:var(--ink)}
.btn-red:hover{background:#33c6f2;color:var(--ink)}
.eyebrow,.page-hero .eyebrow{color:var(--cyan)}
.hero h1 em{color:var(--cyan)}
.hero-note:before{background:var(--orange)}
.step b,.sector span,.service .num,.case-mini .num{color:var(--orange)}
.case-col li::before{background:var(--orange)}
.case-col.is-result{border-top-color:var(--orange)}
.request-bar .clear{color:#fff;text-decoration:none;opacity:.85}.request-bar .clear:hover{opacity:1}
/* ================================================================
   Ajuste de títulos y casos · 27/10/2026
   Títulos ~20-25 % más chicos, con más aire entre letras y renglones
   (evita que una palabra quede sola por renglón y que el punto de la
   "i" toque la letra de arriba). Caso destacado en cian RW.
   ================================================================ */
.hero h1{font:800 clamp(2.6rem,4.7vw,5.1rem)/1.06 Manrope,Arial,sans-serif;letter-spacing:-.04em;max-width:800px}
.page-hero h1{font:800 clamp(2.4rem,4.6vw,4.6rem)/1.06 Manrope,Arial,sans-serif;letter-spacing:-.04em}
.section h2{font:800 clamp(1.9rem,3.3vw,3.5rem)/1.1 Manrope,sans-serif;letter-spacing:-.035em}
.service h3{letter-spacing:-.025em;line-height:1.25}
.quote-band h2{font:800 clamp(1.45rem,2.3vw,2.3rem)/1.18 Manrope,sans-serif;letter-spacing:-.035em}
.case-cover-copy h1{font:800 clamp(2.2rem,4.4vw,4.2rem)/1.06 Manrope,Arial,sans-serif;letter-spacing:-.04em}
.case-story h2{font:800 clamp(1.7rem,2.8vw,2.9rem)/1.1 Manrope,sans-serif;letter-spacing:-.035em}
.case-head h1{font:800 clamp(1.9rem,3.5vw,3.2rem)/1.08 Manrope,Arial,sans-serif;letter-spacing:-.035em}
.case-related h2{letter-spacing:-.035em;line-height:1.14}
.brandname,.proof-item strong,.info-card h3{letter-spacing:-.025em}

/* Tarjetas de casos: título más chico y sin tocar la flecha */
.case h3{font:800 clamp(1.3rem,1.75vw,1.85rem)/1.2 Manrope,sans-serif;letter-spacing:-.03em;max-width:400px;padding-right:72px}
.case:after{font-size:5.5rem}
.case:first-child{background:var(--cyan,#00b4ec);color:var(--ink)}
.case:first-child h3,.case:first-child .case-link{color:var(--ink)}
.case:first-child small{color:#0b4a60}
.case:first-child p,.case:first-child .case-tag{color:#10344a}

@media(max-width:720px){
  .hero h1{font-size:clamp(2.2rem,9vw,3.4rem)}
  .page-hero h1{font-size:clamp(2.1rem,8.5vw,3.2rem)}
  .section h2{font-size:clamp(1.75rem,7vw,2.5rem)}
  .case h3{padding-right:48px}
}
@media(max-width:420px){.hero h1{font-size:2.2rem}}

/* Logos con enlace (panel › Logos) · 27/10/2026 */
.logo-tile a{display:grid;place-items:center;width:100%;height:100%}
.logo-tile a:focus-visible{outline:3px solid var(--cyan,#00b4ec);outline-offset:4px}

/* Logos cuadrados a tamaño completo (alianzas y clientes) · 27/10/2026
   Los logos se cargan cuadrados: el recuadro es cuadrado y la imagen lo ocupa entero. */
.logo-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:20px}
.logo-tile{aspect-ratio:1/1;min-height:0;padding:0;border:0;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 4px 18px rgba(17,28,38,.08);display:block}
.logo-tile img,.logo-tile a{display:block;width:100%;height:100%;max-width:none;max-height:none}
.logo-tile img{object-fit:cover}
.logo-tile a{transition:transform .2s}
.logo-tile a:hover{transform:scale(1.03)}
@media(max-width:1000px){.logo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:520px){.logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}
@media(prefers-reduced-motion:reduce){.logo-tile a{transition:none}.logo-tile a:hover{transform:none}}
