:root{--p-bg:#07111f;--p-surface:#101f32;--p-surface-2:#0d1b2c;--p-line:rgba(244,246,246,.15);--p-green:#8fc85c}
html[data-theme="light"]{--p-bg:#ededed;--p-surface:#fff;--p-surface-2:#eef2f2;--p-line:rgba(7,17,31,.15)}
.bs-nav-inner{position:relative}
.nav-mega-item{position:relative;display:flex;align-items:center}
.nav-mega-trigger{border:0;background:transparent;font-family:inherit;cursor:pointer}
.nav-mega-trigger.is-active{color:var(--text);background:var(--nav-pill-bg);box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
.nav-mega-trigger:focus-visible,.mega-panel a:focus-visible{outline:2px solid var(--p-green);outline-offset:4px}
.nav-chevron{margin-left:8px;color:var(--brand);font-size:15px;transition:transform .18s ease}
.nav-mega-item.is-open .nav-chevron{transform:rotate(180deg)}

/* El panel queda centrado y casi a todo el ancho disponible, bajo la cápsula. */
.mega-panel{position:fixed;top:108px;left:50%;z-index:1050;width:min(1440px,calc(100vw - 48px));margin:0;padding:30px;border:1px solid var(--p-line);border-radius:28px;display:grid;gap:38px;background:var(--p-bg);box-shadow:0 22px 56px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.06);opacity:0;visibility:hidden;transform:translate(-50%,10px);transition:opacity .18s ease,visibility .18s ease,transform .18s ease;pointer-events:none}
.nav-mega-item.is-open .mega-panel{opacity:1;visibility:visible;transform:translate(-50%,0);pointer-events:auto}
.mega-panel::before{position:absolute;top:-27px;right:0;left:0;height:28px;content:""}
.mega-panel-intro{padding:6px 26px 4px 2px;border-right:1px solid var(--nav-border);display:flex;flex-direction:column;align-items:flex-start}
.mega-kicker,.mega-column-label,.mega-service-group>p,.mobile-service-group>p{margin:0;color:var(--muted);font-size:.65rem;font-weight:650;letter-spacing:.13em;text-transform:uppercase}
.mega-panel-intro h2{margin:20px 0 28px;color:var(--text);font-size:clamp(1.8rem,2.4vw,2.55rem);font-weight:900;letter-spacing:-.065em;line-height:.98}
.mega-panel-intro h2 em{color:var(--brand);font-family:Fraunces,serif;font-weight:400}
.mega-all-link{margin-top:auto;display:inline-flex;align-items:center;gap:10px;color:var(--text);font-size:.78rem;font-weight:650;text-decoration:none}
.mega-all-link span{color:var(--brand);transition:transform .18s ease}
.mega-all-link:hover span{transform:translate(2px,-2px)}

/* Proyectos enseña imágenes y trabajos; no repite el listado informativo de Servicios. */
.mega-projects-panel{grid-template-columns:minmax(240px,.62fr) minmax(0,1.45fr);align-items:stretch}
.mega-featured{min-width:0;display:flex;flex-direction:column;gap:12px}
.mega-featured-label{margin:0;color:var(--muted);font-size:.65rem;font-weight:650;letter-spacing:.13em;text-transform:uppercase}
.mega-featured-grid{min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.mega-featured-grid.is-single{grid-template-columns:minmax(0,1fr)}
.mega-project{min-width:0;overflow:hidden;border:1px solid var(--p-line);border-radius:22px;display:flex;flex-direction:column;color:var(--text);background:var(--p-surface-2);text-decoration:none;transition:transform .2s ease,border-color .2s ease,background .2s ease}
.mega-project:hover{transform:translateY(-3px);border-color:rgba(143,200,92,.52);background:var(--p-surface)}
.mega-project-image{position:relative;overflow:hidden;display:block;aspect-ratio:1.62;background:var(--p-surface)}
.mega-project-image::after{position:absolute;inset:50% 0 0;content:"";background:linear-gradient(0deg,rgba(7,17,31,.42),transparent)}
.mega-project img{width:100%;height:100%;display:block;object-fit:cover}
.mega-project-copy{min-width:0;padding:17px 17px 18px;display:grid;gap:8px}
.mega-project-heading{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.mega-project-copy strong{font-size:1rem;line-height:1.2}
.mega-project-copy small{color:var(--muted);font-size:.68rem;line-height:1.5}
.mega-project-arrow{flex:0 0 28px;width:28px;height:28px;border:1px solid var(--p-line);border-radius:50%;display:grid;place-items:center;color:var(--text);font-size:.8rem;transition:background .18s ease,color .18s ease}
.mega-project:hover .mega-project-arrow{color:#07111f;background:var(--p-green)}
.mega-featured-grid.is-single .mega-project{min-height:100%;display:grid;grid-template-columns:minmax(220px,.9fr) minmax(220px,1fr);align-items:stretch}
.mega-featured-grid.is-single .mega-project-image{height:100%;min-height:205px;aspect-ratio:auto}
.mega-featured-grid.is-single .mega-project-copy{align-content:center;padding:30px}
.mega-featured-grid.is-single .mega-project-copy strong{font-size:clamp(1.35rem,2vw,1.8rem)}
.mega-featured-grid.is-single .mega-project-copy small{font-size:.76rem}
.mega-empty{align-self:center;color:var(--muted);font-size:.85rem;line-height:1.5}

/* Servicios es una guía agrupada con una acción lateral propia. */
.mega-services-panel{grid-template-columns:minmax(0,1.75fr) minmax(290px,.72fr);align-items:stretch;gap:34px}
.mega-services-content{min-width:0;padding:4px 0}
.mega-column-label{margin:3px 0 25px}
.mega-service-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
.mega-service-group{min-width:0;padding-right:18px;border-right:1px solid var(--nav-border);display:grid;align-content:start;gap:12px}
.mega-service-group:last-child{padding-right:0;border-right:0}
.mega-service-group>p{min-height:33px;margin-bottom:7px;color:var(--brand);font-size:.67rem;letter-spacing:.07em;line-height:1.45}
.mega-service-group>a{min-height:30px;display:flex;justify-content:space-between;align-items:center;gap:9px;color:var(--text);font-size:.78rem;line-height:1.4;text-decoration:none;transition:color .18s ease}
.mega-service-group>a span{color:var(--brand);opacity:0;transition:opacity .18s ease,transform .18s ease}
.mega-service-group>a:hover{color:var(--brand)}
.mega-service-group>a:hover span{opacity:1;transform:translate(2px,-2px)}
.mega-service-cta{position:relative;min-height:290px;padding:27px;border:1px solid var(--nav-border);border-radius:22px;display:flex;flex-direction:column;align-items:flex-start;overflow:hidden;background:linear-gradient(145deg,var(--p-surface),var(--p-surface-2));box-shadow:inset 0 1px 0 rgba(255,255,255,.07)}
.mega-service-cta::after{position:absolute;right:-78px;bottom:-122px;width:230px;height:230px;border:1px solid rgba(143,200,92,.19);border-radius:50%;content:"";box-shadow:0 0 0 22px rgba(143,200,92,.025),0 0 0 48px rgba(143,200,92,.02);pointer-events:none}
.mega-cta-mark{position:absolute;top:22px;right:23px;color:var(--brand);font-size:1rem}
.mega-service-cta .mega-kicker{margin-bottom:23px;color:var(--brand)}
.mega-service-cta h2{max-width:16ch;margin:0;color:var(--text);font-size:clamp(1.35rem,2vw,1.8rem);font-weight:800;letter-spacing:-.055em;line-height:1.06}
.mega-service-cta>p:not(.mega-kicker){max-width:34ch;margin:14px 0 20px;color:var(--muted);font-size:.78rem;line-height:1.6}
.mega-service-cta>a{position:relative;z-index:1;margin-top:auto;padding:12px 16px;border:1px solid rgba(143,200,92,.55);border-radius:999px;display:inline-flex;align-items:center;gap:12px;color:var(--text);background:rgba(143,200,92,.11);font-size:.75rem;font-weight:650;text-decoration:none;transition:background .18s ease,color .18s ease}
.mega-service-cta>a span{color:var(--brand)}
.mega-service-cta>a:hover{color:#07111f;background:var(--p-green)}
.mega-service-cta>a:hover span{color:#07111f}

.mobile-nav-group{border-top:1px solid var(--nav-border);color:var(--text)}
.mobile-nav-group summary{min-height:48px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;font-size:13px;font-weight:650}
.mobile-nav-group summary::-webkit-details-marker{display:none}
.mobile-nav-heading{flex:1;color:inherit;text-decoration:none}
.mobile-nav-heading:hover{color:var(--brand)}
.mobile-nav-group summary::after{content:"⌄";color:var(--brand);font-size:16px;transition:transform .18s ease}
.mobile-nav-group[open] summary::after{transform:rotate(180deg)}
.mobile-nav-subgroup{padding:0 16px 16px 28px;display:grid;gap:10px}
.mobile-nav-subgroup>a{color:var(--muted);font-size:.77rem;text-decoration:none}
.mobile-nav-subgroup>a:hover{color:var(--brand)}
.mobile-nav-subgroup .mobile-nav-all{color:var(--text);font-weight:650}
.mobile-service-group{padding-top:9px;display:grid;gap:8px}
.mobile-service-group>p{padding-bottom:2px;color:var(--brand);font-size:.58rem}
.mobile-service-group>a{color:var(--muted);font-size:.74rem;text-decoration:none}
.mobile-service-group>a:hover{color:var(--brand)}

@media(max-width:1200px){.mega-panel{width:calc(100vw - 32px);padding:24px;gap:25px}.mega-projects-panel{grid-template-columns:minmax(215px,.55fr) minmax(0,1.45fr)}.mega-services-panel{grid-template-columns:minmax(0,1.6fr) minmax(270px,.72fr);gap:23px}.mega-service-links{gap:16px}.mega-service-group{padding-right:12px}}
@media(max-width:1024px){.mega-panel{display:none}}
@media(max-width:760px){.services-main{padding-top:54px}}
@media(prefers-reduced-motion:reduce){.mega-panel,.mega-project,.mega-project img,.mega-service-cta>a,.nav-chevron,.mobile-nav-group summary::after{transition:none}}
