/* MiGROX · Verde vivo. Diseño claro y azul noche aprobado. */
:root{--brand-forest:#10251E;--brand-green:#29B56F;--brand-blue:#2563EB;--brand-teal:#29B56F;--brand-mist:#F5F8F3;--brand-secondary:#52665B;--bg:#0D1726;--surface:#142338;--surface-alt:#17283E;--raised:#1A3045;--text:#F5F8F3;--muted:#B6C3D2;--faint:#A3B4C8;--line:#B6C3D22B;--accent:#29B56F;--blue-accent:#83AAFF;--teal-accent:#60D598;--header:#0D1726F5;--field:#0D1726;--art-surface:#142338;--button-text:#10251E;--shadow:0 16px 45px #00000018}
:root[data-theme="light"]{--bg:#F5F8F3;--surface:#FFFFFF;--surface-alt:#EDF3EE;--raised:#E6EFE7;--text:#10251E;--muted:#52665B;--faint:#52665B;--line:#10251E26;--accent:#187A47;--blue-accent:#2563EB;--teal-accent:#187A47;--header:#F5F8F3F5;--field:#F5F8F3;--art-surface:#EDF3EE;--button-text:#10251E;--shadow:0 16px 45px #10251E0A}
body{font-size:15px}::selection{background:#29B56F55}.wrap{width:min(1312px,88%)}.review{position:absolute;top:auto;bottom:0;display:none}header{padding:27px 6%;gap:24px;backdrop-filter:blur(16px)}header .logo{width:260px}header nav{gap:27px;font-size:14px}header nav>a[href="#proyectos"]{display:none}.nav-cta{padding:14px 25px;border-color:var(--accent);color:var(--accent);background:none;gap:22px}.nav-cta span{font-size:25px}.theme-trigger{width:48px;height:48px;background:none}.hero{grid-template-columns:1.12fr 1fr;gap:5%;padding:76px 0 72px;align-items:center;min-height:724px}.hero:before{display:none}.eyebrow{font-size:11px;letter-spacing:2.5px;color:var(--muted)}.hero .eyebrow{font-size:11px;letter-spacing:2.2px;white-space:nowrap}.dot{width:12px;height:12px;background:var(--brand-green);animation:none}.hero h1{font-size:clamp(56px,6.45vw,96px);line-height:1.02;letter-spacing:-4.5px;font-weight:700;margin:35px 0 43px;white-space:nowrap}.hero h1 em{color:var(--accent)}.blue-period{color:var(--brand-blue)}.hero-copy>p{font-size:22px;line-height:1.5;max-width:590px;margin:0}.actions{gap:27px;margin-top:48px;flex-wrap:nowrap}.button{background:var(--brand-green);color:#092016;border-radius:40px;font-size:14px;font-weight:600;padding:18px 26px;gap:22px;min-height:60px}.button:before{display:none}.button:hover{background:#45C585;box-shadow:none;transform:translateY(-3px)}.button span{font-size:23px;font-weight:400}.text-link{font-size:14px;border-color:var(--brand-green);padding-bottom:6px}.hero .text-link{white-space:nowrap;color:var(--muted)}.hero .text-link span{margin-left:8px}.hero-visual{border:0;border-radius:0;min-height:540px;overflow:visible;isolation:auto;background:none;box-shadow:none;perspective:800px}.hero-visual:before,.hero-visual:after{display:none}.symbol{inset:55px 0 65px;z-index:1}.symbol img{width:280px;height:410px;max-width:65%;max-height:100%;animation:none;filter:none;object-fit:contain}.hero-visual.is-tracking .symbol img{filter:none}.orbit-one{width:510px;height:370px;left:calc(50% - 255px);top:100px;border-color:#29B56F66;transform:rotate(42deg);animation:none}.orbit:before{display:none}.floating{padding:0;gap:12px;background:var(--bg);border:0;border-radius:0;box-shadow:none;font-size:14px;font-weight:400;animation:none;backdrop-filter:none;transition:translate .45s,color .3s}.floating i{width:13px;height:13px;border-radius:50%;background:var(--brand-green)}.floating.f-two i{background:var(--brand-blue)}.floating.f-three i{background:var(--brand-green)}.f-one{top:78px;left:28px}.f-two{top:255px;right:-12px}.f-three{bottom:94px;left:22px}.coordinate{bottom:0;left:auto;right:0;font-size:9px;letter-spacing:1.5px;color:var(--muted)}.integral{border-block:1px solid var(--line);padding:34px 0 30px}.integral-layout{display:flex;justify-content:space-between;align-items:center;gap:40px}.integral h2{font-size:38px;line-height:1.12;letter-spacing:-1.6px;margin:15px 0 0}.integral h2 em{color:var(--accent)}.integral .eyebrow{font-size:10px}.integral nav{display:flex;gap:0;align-items:center}.integral nav a{padding:0 26px;font-size:16px;border-left:1px solid var(--line);display:flex;align-items:center;gap:18px;transition:color .25s}.integral nav a:first-child{border-left:0}.integral nav a:last-child{padding-right:0}.integral nav i{width:11px;height:11px;border-radius:50%;background:var(--brand-green)}.integral nav a:nth-child(2) i{background:var(--brand-blue)}.integral nav a:hover{color:var(--accent)}.section{padding-block:100px}h2{font-weight:600;font-size:clamp(34px,3.5vw,50px);letter-spacing:-2px;line-height:1.18}.section-heading{margin-bottom:44px}.section-heading p{font-size:15px;max-width:380px}p{hyphens:none;overflow-wrap:normal;text-align:start;text-wrap:pretty}.context-card{border-radius:12px;background:var(--surface);padding:32px;box-shadow:none;--context:var(--accent)}.context-card.institution{--context:var(--blue-accent)}.context-card.initiative{--context:var(--accent)}.context-card:after{display:none}.context-card:before{height:2px;left:32px;right:32px}.context-card:hover{box-shadow:none;transform:translateY(-5px);border-color:var(--context)}.context-card p{font-size:14px;line-height:1.85}.context-top{font-size:10px}.context-card h3{font-size:30px;font-weight:500;line-height:1.3}.context-tags{font-size:9px;letter-spacing:1px}.context-bridge{background:none;border-radius:0;padding:28px 0 0;border:0}.context-bridge p{font-size:13px}.area-navigation{gap:22px}.area-navigation a,.area-navigation a:nth-child(2),.area-navigation a:nth-child(3){background:var(--surface);border-radius:12px;padding:30px;min-height:170px;box-shadow:none;font-size:26px}.area-navigation a:after{display:none}.area-navigation a:hover{box-shadow:none;border-color:var(--tile)}.area-navigation a:nth-child(3){--tile:var(--accent)}.area-navigation a i{background:var(--tile)}.area-navigation a:before{font-size:10px}.expertise-note{font-size:12px;max-width:790px;color:var(--muted)}.area-dialog,.recognition-dialog,.theme-dialog{border-radius:16px;box-shadow:0 25px 100px #0004}.area-dialog::backdrop,.recognition-dialog::backdrop,.theme-dialog::backdrop{background:#06101EE0;backdrop-filter:blur(6px)}.area-overview,.area-art,.area-content,.project-start{background:var(--surface)}.area-art{border-color:var(--line);border-radius:10px}.area-overview .area-description,.detail-body p,.detail-body li{font-size:14px}.area-cta{font-size:13px}.area-overview h3{font-weight:500}.service-detail summary{font-size:17px}.area-art .art-core{box-shadow:none}.approach{background:var(--surface)}.approach:after{display:none}.approach p{font-size:16px}.culture-section{background:none}.culture-lead{font-size:21px;line-height:1.6}.culture-description{font-size:15px;line-height:1.85}.music-art{background:var(--surface);border-radius:12px;box-shadow:none}.music-orbit{border-color:#29B56F40}.music-score{color:var(--accent)}.recognition-card{border-radius:12px;background:var(--surface);box-shadow:none}.recognition-card p{font-size:13px}.case-window{transform:none;box-shadow:none;border-radius:12px}.case-window:hover{transform:none}.case-main-shot{background:var(--surface-alt)}.case-story>p{font-size:15px;max-width:430px}.case-capabilities p{font-size:13px}.case-gallery>button{border-radius:10px;background:var(--surface);box-shadow:none}.case-context p{font-size:12px}.case-tag{font-size:10px}.case-tag i{box-shadow:none;background:var(--brand-green)}.case-stack span{font-size:11px}.case-gallery>button>span{font-size:14px}form{background:var(--surface);border-radius:14px;padding:36px;box-shadow:none}form label,form legend{font-size:14px}form input:not([type=radio]),form textarea{border-radius:8px;font-size:14px;background:var(--field);border-color:var(--line)}.choices span{font-size:13px}.contact-intro>p{font-size:16px}.form-disclaimer,.contact-note p{font-size:12px}.contact-note strong{font-size:13px}.form-label{font-size:10px;letter-spacing:1.8px}.back-top{background:var(--surface);color:var(--accent);border-color:var(--line);box-shadow:none;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .25s,transform .25s}.back-top.is-shown{opacity:1;pointer-events:auto;transform:none}footer{padding-top:35px;padding-bottom:35px}footer p{font-size:12px}.preview-light .mini-browser{background:#F5F8F3;color:#10251E;border-color:#10251E25}.preview-dark .mini-browser{background:#0D1726;color:#F5F8F3;border-color:#B6C3D22B}.mini-lines b{background:currentColor}.mini-lines b:nth-child(2){background:#29B56F}.mini-lines i{background:#29B56F}.mini-cards i{background:none;border:1px solid currentColor;opacity:.2}.theme-option{border-radius:12px}.theme-option-description{color:var(--muted)}.theme-option[aria-pressed=true]{border-color:var(--brand-green)}.theme-option:focus-visible{outline-color:var(--blue-accent)}
@media(min-width:1700px){.hero h1{font-size:96px}.hero{min-height:760px}}
@media(max-width:1200px){header .logo{width:220px}header nav{gap:18px;font-size:12px}.hero{gap:3%;min-height:640px;padding-block:65px}.hero h1{font-size:6.25vw;letter-spacing:-3.5px}.hero-copy>p{font-size:18px}.actions{gap:22px;flex-wrap:wrap;margin-top:32px}.hero-visual{min-height:470px}.orbit-one{width:420px;height:310px;left:calc(50% - 210px);top:80px}.symbol{inset:40px 0 50px}.symbol img{width:240px;height:350px}.f-one{top:60px;left:8px}.f-two{right:-6px;top:220px}.f-three{bottom:90px;left:0}.floating{font-size:12px;gap:9px}.integral nav a{font-size:14px;padding-inline:20px}.integral h2{font-size:33px}.hero .eyebrow{font-size:9px;letter-spacing:1.5px}.hero .button{font-size:12px;padding:16px 22px}.hero .text-link{font-size:12px}}
@media(max-width:950px){header{padding-block:22px;gap:16px}header .logo{width:190px}header nav>a[href="#enfoque"]{display:none}header nav{gap:20px}.nav-cta{padding:10px 18px}.hero{min-height:580px;padding-block:55px}.hero h1{letter-spacing:-2.8px;margin:28px 0}.hero-copy>p{font-size:16px}.hero-visual{min-height:390px}.orbit-one{width:340px;height:260px;left:calc(50% - 170px);top:75px}.symbol img{width:190px;height:295px}.symbol{inset:45px 0 40px}.f-one{top:48px;left:0}.f-two{top:190px;right:-10px}.f-three{bottom:48px;left:0}.floating{font-size:11px}.floating i{width:10px;height:10px}.integral-layout{display:block}.integral nav{margin-top:30px}.integral nav a:first-child{padding-left:0}.integral h2{font-size:34px}.context-card{padding:24px}.context-card h3{font-size:25px}.context-card p{font-size:13px}.section{padding-block:75px}}
@media(max-width:700px){header .logo{width:175px}header nav>a:not(.nav-cta){display:none}header nav{margin-left:auto}.nav-cta{font-size:11px;padding:9px 13px;gap:10px}.theme-trigger{width:38px;height:38px}.hero{grid-template-columns:1fr;padding-top:46px;padding-bottom:38px;gap:24px}.hero h1{font-size:clamp(44px,10.3vw,68px);line-height:1.06;letter-spacing:-2.7px;margin:26px 0}.hero .eyebrow{font-size:8px;letter-spacing:1.2px}.hero .dot{width:8px;height:8px;margin-right:6px}.hero-copy>p{font-size:17px;max-width:510px}.actions{margin-top:28px;gap:20px}.hero .button{font-size:12px;padding:14px 21px;min-height:54px}.hero .text-link{font-size:12px}.hero-visual{min-height:350px;width:min(440px,100%);margin:auto}.symbol{inset:25px 0 40px}.symbol img{width:180px;height:280px;max-height:100%}.orbit-one{width:330px;height:240px;left:calc(50% - 165px);top:58px}.f-one{top:34px;left:7%}.f-two{top:170px;right:0}.f-three{bottom:48px;left:5%}.coordinate{bottom:0;font-size:8px}.integral{padding-block:30px}.integral h2{font-size:32px}.integral .eyebrow{font-size:8px}.integral nav{justify-content:space-between;gap:10px;margin-top:28px}.integral nav a{font-size:12px;padding:0 12px;gap:8px}.integral nav i{width:8px;height:8px}.section{padding-block:60px}.section-heading p{font-size:14px}.context-card{padding:28px}.context-card h3{font-size:29px}.context-card p{font-size:14px}.context-tags{font-size:8px}.area-navigation a{min-height:125px;padding:24px;font-size:24px}.area-navigation a:before{margin-bottom:20px}.area-overview .area-description,.detail-body p,.detail-body li{font-size:13px}.service-detail summary{font-size:15px}.culture-lead{font-size:19px}.culture-description{font-size:14px}.case-story>p{font-size:14px}.case-capabilities p{font-size:12px}.case-context p{font-size:11px}form{padding:26px}.contact-note strong{font-size:12px}.contact-intro>p{font-size:15px}footer{padding-block:30px 75px}.theme-dialog-body h2{font-size:30px}.theme-dialog-body>p{font-size:13px}}
@media(max-width:380px){header{gap:10px}header .logo{width:145px}.nav-cta{font-size:10px;padding:8px 11px}.theme-trigger{width:34px;height:34px}.hero h1{font-size:10.2vw;letter-spacing:-2px}.hero .eyebrow{font-size:7px}.integral nav a{font-size:10px;padding-inline:9px}.integral nav{gap:6px}.hero-visual{min-height:320px}.orbit-one{width:290px;height:215px;left:calc(50% - 145px);top:50px}.symbol img{width:160px;height:250px}.f-two{top:150px}.floating{font-size:10px}}
@media(prefers-reduced-motion:reduce){.symbol{transform:none!important}.floating{translate:none!important}.back-top{transition:none}.hero-visual{perspective:none}}
@media(min-width:1201px){header nav{font-size:16px}.hero h1{font-size:clamp(76px,6.32vw,94px)}.hero-copy>p{font-size:24px;max-width:620px}.hero .button{font-size:16px;padding:18px 32px;min-height:68px;gap:28px}.hero .text-link{font-size:16px}.actions{gap:31px}.floating{font-size:16px}.floating i{width:15px;height:15px}.integral h2{font-size:46px}.integral nav a{font-size:18px;padding-inline:30px}.orbit-one{width:550px;height:390px;left:calc(50% - 275px);top:80px}.f-one{top:65px}.f-three{bottom:110px}.symbol img{width:275px;height:395px}}
@media(max-width:500px){header{gap:10px;padding-inline:6%;padding-block:18px}header .logo{width:155px}.nav-cta{font-size:10px;padding:9px 12px;gap:8px;min-height:38px}.nav-cta span{font-size:18px}.theme-trigger{width:34px;height:34px}.theme-trigger svg{width:18px;height:18px}}
@media(max-width:360px){header .logo{width:133px}.nav-cta{padding:8px 9px;font-size:9px}.theme-trigger{width:32px;height:32px}header{gap:8px}}

:root[data-theme="light"] .button{background:var(--brand-green);color:#092016}.preview-dark .mini-lines b+b{background:#29B56F}.preview-dark .mini-cards i,.preview-dark .mini-cards i+i{background:none}.preview-dark .mini-top{border-color:#B6C3D22B}
.hero{scroll-margin-top:40px}
@media(max-width:700px){form input:not([type=radio]),form textarea{font-size:16px}}
@media(min-width:1201px){.hero .button{font-size:18px}.hero .text-link{font-size:18px}.integral h2{font-size:48px}}
/* El contenido permanece visible aunque un navegador no active IntersectionObserver. */
.reveal{opacity:1;transform:none}.reveal.is-visible{animation:reveal-up .65s ease-out var(--reveal-delay,0ms) both}.reveal.is-visible[data-reveal="left"]{animation-name:reveal-left}.reveal.is-visible[data-reveal="right"]{animation-name:reveal-right}
@keyframes reveal-up{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes reveal-left{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:none}}
@keyframes reveal-right{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.reveal,.reveal.is-visible{animation:none!important;opacity:1;transform:none!important}}
.reveal{opacity:1!important}.reveal[data-reveal]{transform:none}
/* Evita el recorte de capas del contenido en WebKit; el límite horizontal vive en la página. */
main{overflow:visible}body{overflow-x:hidden}
@media(max-width:700px){.hero-visual,.music-art{overflow:hidden}}
