@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:wght@600;700&display=swap');
:root{--bg:#07090d;--panel:#0e1219;--panel2:#151a22;--gold:#d4a63a;--gold2:#f2d17c;--text:#f7f7f5;--muted:#a9afba;--line:#262c36;--white:#fff;--wa:#25d366;--shadow:0 30px 80px rgba(0,0,0,.35)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Manrope,Arial,sans-serif;background:var(--bg);color:var(--text)}body{overflow-x:hidden}a{text-decoration:none;color:inherit}img,video{max-width:100%;display:block}button,input,textarea,select{font:inherit}.shell{min-height:100vh;background:radial-gradient(circle at 75% 0,#1b2230 0,transparent 35%),var(--bg)}.nav{height:78px;display:flex;align-items:center;gap:28px;padding:0 4vw;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;background:rgba(7,9,13,.88);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:12px;margin-right:auto}.brand img{width:52px;height:52px;object-fit:contain;filter:invert(1)}.brand b{letter-spacing:.18em;font-size:13px}.menu{display:flex;gap:8px}.menu a{padding:10px 13px;border-radius:10px;color:var(--muted);font-size:13px;font-weight:700}.menu a:hover,.menu a.active{background:var(--panel2);color:var(--gold2)}.nav-actions{display:flex;gap:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border-radius:12px;border:1px solid var(--line);background:var(--panel2);color:#fff;font-weight:800;cursor:pointer}.btn.gold{background:linear-gradient(135deg,var(--gold2),var(--gold));color:#14100a;border:0}.btn.wa{background:var(--wa);border:0}.page{min-height:calc(100vh - 78px);padding:46px 4vw 34px}.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:stretch}.hero-copy{padding:5vw 1vw 4vw 0}.eyebrow{color:var(--gold2);letter-spacing:.2em;font-size:11px;font-weight:800;text-transform:uppercase}.hero h1,.page-title{font:700 clamp(42px,6vw,84px)/.98 Playfair Display,serif;margin:18px 0}.hero h1 span,.page-title span{color:var(--gold2)}.lead{color:var(--muted);font-size:18px;max-width:650px;line-height:1.7}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.hero-media{border:1px solid var(--line);border-radius:24px;overflow:hidden;min-height:520px;position:relative;background:#111}.hero-media img,.hero-media video{width:100%;height:100%;object-fit:cover}.hero-media:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.7))}.floating{position:absolute;z-index:2;left:22px;right:22px;bottom:20px;display:flex;justify-content:space-between;align-items:center}.socials{display:flex;gap:10px}.socials a{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(0,0,0,.75);border:1px solid #ffffff2c;font-weight:900}.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.card{background:linear-gradient(180deg,#121722,#0c1017);border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:var(--shadow)}.card h2,.card h3{margin:0 0 10px}.muted{color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service{min-height:240px;position:relative;overflow:hidden;padding:0}.service img,.service video{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.service:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,#05070bd9)}.service-content{position:absolute;z-index:2;left:22px;right:22px;bottom:20px}.service h3{font-size:22px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:24px}.section-head h1{font-size:44px;margin:0}.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.resource-card{min-height:250px;display:flex;flex-direction:column}.resource-card .icon{font-size:36px}.resource-card .btn{margin-top:auto}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.gallery img,.gallery video{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:16px;border:1px solid var(--line)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.contact-list{display:grid;gap:12px}.contact-item{padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.footer{padding:25px 4vw;color:var(--muted);border-top:1px solid var(--line);display:flex;justify-content:space-between}.mobile{display:none}@media(max-width:1000px){.menu{display:none}.mobile{display:inline-flex}.hero,.contact-grid{grid-template-columns:1fr}.hero-media{min-height:420px}.service-grid,.resource-grid{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr 1fr}}@media(max-width:650px){.nav{padding:0 18px}.brand b{display:none}.nav-actions .btn:not(.gold){display:none}.page{padding:28px 18px}.hero-copy{padding:20px 0}.hero h1,.page-title{font-size:44px}.service-grid,.resource-grid{grid-template-columns:1fr}.footer{display:block}.gallery{grid-template-columns:1fr 1fr}}
/* Actualización de marca, redes y contenidos visuales */
.home-hero{min-height:620px}.hero-gif{box-shadow:0 30px 100px rgba(0,0,0,.55)}.hero-gif img{object-position:center}.media-label{position:absolute;left:24px;right:24px;bottom:22px;z-index:3;background:rgba(5,7,11,.72);border:1px solid rgba(255,255,255,.14);padding:16px 18px;border-radius:14px;backdrop-filter:blur(12px)}.media-label small{display:block;color:var(--gold2);letter-spacing:.16em;font-weight:800;margin-bottom:4px}.media-label strong{font-size:18px}.hero-points{display:flex;gap:18px;flex-wrap:wrap;margin-top:26px;color:#d7dbe2;font-size:13px}.capability-band{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:26px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--line)}.capability-band div{background:#0d1118;padding:22px}.capability-band strong,.capability-band span{display:block}.capability-band strong{color:var(--gold2);margin-bottom:6px}.capability-band span{color:var(--muted);font-size:12px}.home-social{padding:70px 0 20px}.home-social h2{font-size:38px;max-width:650px}.social-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:25px}.social-card{padding:20px;border-radius:18px;min-height:150px;display:flex;flex-direction:column;justify-content:flex-end;border:1px solid rgba(255,255,255,.14);transition:.2s transform,.2s filter}.social-card:hover{transform:translateY(-4px);filter:brightness(1.08)}.social-card span{font-size:34px;font-weight:900;margin-bottom:auto}.social-card b{font-size:18px}.social-card small{opacity:.85;margin-top:4px}.fb{background:#1877f2;color:#fff}.ig{background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045);color:#fff}.tk{background:#050505;color:#fff}.wa{background:#25d366;color:#07170d}.mail{background:#c9972e;color:#13100a}.social-strip{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;padding:28px 4vw;border-top:1px solid var(--line);background:#090c12}.social{display:inline-flex;align-items:center;gap:8px;border-radius:12px;padding:10px 14px;font-size:13px;font-weight:800}.social span{font-size:18px}.visual-grid{grid-template-columns:repeat(3,1fr)}.visual-service{min-height:390px}.visual-service .service-content{top:auto}.visual-service .service-content p{color:#d7dbe2;line-height:1.55;min-height:72px}.visual-service:after{background:linear-gradient(180deg,rgba(0,0,0,.04) 15%,rgba(4,6,10,.96) 82%)}.visual-service h2{font-size:25px;margin:7px 0}.resource-card{min-height:290px}.icon-contact{white-space:nowrap}
@media(max-width:1100px){.social-cards{grid-template-columns:repeat(3,1fr)}.capability-band{grid-template-columns:1fr 1fr}.visual-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.social-cards,.capability-band,.visual-grid{grid-template-columns:1fr}.social-strip{justify-content:stretch}.social{flex:1 1 45%}.social.mail{flex-basis:100%}.home-social h2{font-size:30px}.visual-service{min-height:420px}.nav-actions .icon-contact{display:none}}

/* Corrección de navegación, portal privado y recursos visuales */
.svg-icon{width:20px;height:20px;display:inline-block;flex:0 0 auto}.brand-icon{width:42px;height:42px;margin-bottom:auto}.nav{min-height:78px;height:auto;flex-wrap:nowrap}.brand{min-width:max-content}.menu{min-width:0;flex:1;justify-content:center;flex-wrap:nowrap}.nav-actions{min-width:max-content}.menu a{white-space:nowrap}.production-collage{display:grid;grid-template-columns:1.35fr .65fr;grid-template-rows:repeat(3,1fr);gap:8px;padding:8px;min-height:540px}.production-collage img{position:relative;width:100%;height:100%;object-fit:cover;border-radius:14px}.production-collage .collage-main{grid-row:1/4}.production-collage:after{pointer-events:none}.about-collage{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:1fr 1fr;gap:12px;min-height:520px}.about-collage img{width:100%;height:100%;object-fit:cover;border-radius:20px;border:1px solid var(--line)}.about-collage img:first-child{grid-row:1/3}.about-process{padding-top:70px}.about-process h2{font-size:42px;margin:10px 0}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.process-grid article b{color:var(--gold2);font-size:28px}.portal-shell{min-height:100vh;display:grid;place-items:center;padding:30px;background:radial-gradient(circle at 50% 0,#20293a,transparent 45%),#07090d}.portal-card{width:min(980px,100%);padding:42px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(180deg,#111722,#090d13);box-shadow:var(--shadow);text-align:center}.portal-logo{width:100px;height:100px;object-fit:contain;filter:invert(1);margin:0 auto 20px}.portal-card h1{font:700 clamp(42px,7vw,76px)/1 Playfair Display,serif;margin:12px 0}.portal-card>p{color:var(--muted);font-size:18px}.portal-card>small{display:block;color:var(--muted);margin-top:28px}.portal-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:34px;text-align:left}.portal-option{padding:28px;border:1px solid var(--line);border-radius:20px;background:#121822;transition:.2s transform,.2s border-color}.portal-option:hover{transform:translateY(-4px);border-color:var(--gold)}.portal-option span{color:var(--gold2);font-weight:800}.portal-option h2{font-size:30px;margin:12px 0}.portal-option p{color:var(--muted);line-height:1.6}.social-card .brand-icon{color:currentColor}.social .svg-icon{width:22px;height:22px}.social-card span{display:none}
@media(max-width:1180px){.nav{gap:14px;padding-left:2vw;padding-right:2vw}.menu a{padding:9px 10px;font-size:12px}.brand b{display:none}}
@media(max-width:1000px){.menu{display:none}.nav{justify-content:space-between}.nav-actions{margin-left:auto}.process-grid{grid-template-columns:1fr 1fr}.about-collage{min-height:420px}}
@media(max-width:700px){.production-collage{grid-template-columns:1fr 1fr;grid-template-rows:260px 150px}.production-collage .collage-main{grid-column:1/3;grid-row:1}.production-collage img:last-of-type{display:none}.about-collage{grid-template-columns:1fr 1fr;grid-template-rows:250px 150px;min-height:auto}.about-collage img:first-child{grid-column:1/3;grid-row:1}.about-collage img:last-child{display:none}.process-grid,.portal-grid{grid-template-columns:1fr}.portal-card{padding:28px 20px}}

/* Ajuste visual v3: iconos reales, servicios con fotografía visible y portal proporcionado */
.social-icon-img{width:24px;height:24px;display:block;flex:0 0 24px}
.brand-icon-img{width:46px;height:46px;display:block;margin-bottom:auto;filter:drop-shadow(0 8px 16px rgba(0,0,0,.25))}
.social-card{position:relative;overflow:hidden;min-height:164px;padding:20px}
.social-card:after{content:"";position:absolute;inset:auto -30px -55px auto;width:130px;height:130px;border-radius:50%;background:rgba(255,255,255,.10)}
.social-card>*{position:relative;z-index:1}
.social-strip{gap:12px;padding:22px 4vw}
.social{min-width:145px;justify-content:center;background:#111722!important;color:#fff!important;border:1px solid var(--line);box-shadow:0 10px 24px rgba(0,0,0,.18)}
.social:hover{border-color:var(--gold);transform:translateY(-2px)}
.social.fb,.social.ig,.social.tk,.social.wa,.social.mail{background:#111722!important}
.static-hero{min-height:560px}
.static-hero img{object-position:center}
.static-hero:after{background:linear-gradient(180deg,rgba(0,0,0,.02) 35%,rgba(0,0,0,.72) 100%)}

/* Servicios: fotografía completa arriba y descripción legible abajo */
.service-grid.visual-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.visual-service{min-height:0;display:flex;flex-direction:column;background:#0f141d;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 22px 55px rgba(0,0,0,.28)}
.visual-service img{position:relative;inset:auto;width:100%;height:235px;object-fit:cover;object-position:center;border-bottom:1px solid var(--line)}
.visual-service:after{display:none}
.visual-service .service-content{position:relative;inset:auto;padding:24px;display:flex;flex-direction:column;flex:1}
.visual-service .service-content p{min-height:0;color:#c7ccd5;line-height:1.65;margin:0 0 20px}
.visual-service .service-content .btn{margin-top:auto;align-self:flex-start}
.visual-service h2{font-size:24px;line-height:1.2;margin:8px 0 12px}
.visual-service:hover{transform:translateY(-4px);border-color:#6f5a2b;transition:.22s ease}

/* Portal interno: dos accesos claros, clicables y proporcionados */
.portal-shell{padding:44px 22px}
.portal-card{width:min(1040px,100%);padding:48px;border-radius:30px}
.portal-card h1{font-size:clamp(42px,6vw,70px)}
.portal-grid{gap:22px}
.portal-option{display:flex;flex-direction:column;min-height:255px;padding:30px;background:linear-gradient(145deg,#151c28,#0e131b);box-shadow:0 18px 45px rgba(0,0,0,.25);cursor:pointer}
.portal-option:hover{transform:translateY(-6px);border-color:var(--gold2);box-shadow:0 28px 60px rgba(0,0,0,.38)}
.portal-option p{margin-bottom:24px}
.portal-cta{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;width:100%;padding:13px 16px;border-radius:12px;background:linear-gradient(135deg,var(--gold2),var(--gold));color:#171006;font-size:14px}
.portal-logo{width:116px;height:116px}

@media(max-width:1100px){
 .service-grid.visual-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
 .service-grid.visual-grid{grid-template-columns:1fr}
 .visual-service img{height:230px}
 .social{min-width:0;flex:1 1 44%}
 .portal-card{padding:30px 18px}
 .portal-option{min-height:220px}
}

/* V4 — pie ejecutivo, portada estable y navegación interna robusta */
.home-social,.social-strip{display:none!important}
.site-footer{margin-top:44px;border-top:1px solid var(--line);background:#080b10}
.footer-main{display:grid;grid-template-columns:1.35fr .7fr .85fr 1fr;gap:44px;padding:54px 4vw 38px;max-width:1500px;margin:auto}
.footer-main h3{font-size:13px;text-transform:uppercase;letter-spacing:.14em;color:var(--gold2);margin:0 0 18px}
.footer-main>div:not(.footer-brand){display:flex;flex-direction:column;gap:11px}
.footer-main a,.footer-main span,.footer-brand p{color:var(--muted);font-size:13px;line-height:1.65}
.footer-main a:hover{color:#fff}
.footer-brand img{width:82px;height:82px;object-fit:contain;filter:invert(1);margin-bottom:14px}
.footer-brand p{max-width:360px;margin:0 0 20px}
.footer-socials{display:flex;gap:10px}
.footer-socials a{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;background:#111722;transition:.2s}
.footer-socials a:hover{transform:translateY(-3px);border-color:var(--gold)}
.footer-socials img{width:19px;height:19px;display:block}
.footer-bottom{border-top:1px solid var(--line);padding:18px 4vw;display:flex;justify-content:space-between;gap:20px;color:#747b87;font-size:12px;max-width:1500px;margin:auto}
.static-hero-v4{min-height:540px;box-shadow:0 30px 90px rgba(0,0,0,.42)}
.static-hero-v4 img{width:100%;height:100%;object-fit:cover;object-position:center}
.static-hero-v4:after{background:linear-gradient(180deg,transparent 58%,rgba(0,0,0,.7))}
.internal-footer{border-top:1px solid var(--line);padding:24px 4vw;display:flex;justify-content:space-between;color:var(--muted)}
.internal-footer a{color:var(--gold2)}
@media(max-width:900px){.footer-main{grid-template-columns:1fr 1fr}.static-hero-v4{min-height:420px}}
@media(max-width:620px){.footer-main{grid-template-columns:1fr;padding:40px 20px 28px}.footer-bottom,.internal-footer{flex-direction:column;padding-left:20px;padding-right:20px}.static-hero-v4{min-height:340px}.footer-brand img{width:70px;height:70px}}
