/*
Theme Name: ICM Peru Impact V5
Theme URI: https://icmperu.net
Author: OpenAI
Description: Tema personalizado para ICM Perú con experiencia interactiva, especialidades robustas y enfoque visual para el mercado peruano.
Version: 5.0.0
Text Domain: icm-peru-v5
*/

:root{--bg:#06101f;--navy:#081a32;--navy2:#04101e;--orange:#ff5b16;--orange2:#ff8a3c;--blue:#1a8cff;--cyan:#44d9ff;--white:#fff;--muted:#b8c7d8;--line:rgba(255,255,255,.14);--max:1240px}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;background:#020913;color:#fff;overflow-x:hidden} a{text-decoration:none}.wrap{width:min(var(--max),calc(100% - 46px));margin:auto}
#loader{position:fixed;inset:0;z-index:9999;background:#020913;display:grid;place-items:center;overflow:hidden;transition:opacity .55s ease,visibility .55s ease}#loader.done{opacity:0;visibility:hidden}.gear-stage{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}.gear{width:145px;height:145px;border:12px dashed rgba(255,255,255,.16);border-radius:50%;position:absolute;animation:gear 2.2s linear infinite;filter:drop-shadow(0 0 22px rgba(26,140,255,.28))}.gear:before{content:"";position:absolute;inset:27px;border:8px solid rgba(255,91,22,.78);border-radius:50%;box-shadow:0 0 24px rgba(255,91,22,.28)}.gear.small{width:92px;height:92px;margin-left:195px;margin-top:76px;animation-direction:reverse;animation-duration:1.7s}.loader-mark{position:relative;z-index:5;text-align:center}.loader-mark img{width:118px;height:auto;filter:drop-shadow(0 7px 24px rgba(0,0,0,.35));animation:pulse 1.5s ease-in-out infinite}.loader-mark span{display:block;margin-top:18px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;font-size:.75rem;color:#bcd0e9}
.door{position:fixed;top:0;bottom:0;width:50vw;background:linear-gradient(90deg,rgba(255,255,255,.04),transparent 8%),linear-gradient(180deg,#0a1a31,#04101e);z-index:9998;transition:transform 1.25s cubic-bezier(.76,0,.24,1);box-shadow:inset 0 0 0 1px rgba(255,255,255,.05)}.door.left{left:0}.door.right{right:0}body.opened .door.left{transform:translateX(-101%)}body.opened .door.right{transform:translateX(101%)}.door-line{position:absolute;top:0;bottom:0;width:2px;background:linear-gradient(transparent,var(--orange),transparent)}.left .door-line{right:0}.right .door-line{left:0}@keyframes gear{to{transform:rotate(360deg)}}@keyframes pulse{50%{transform:scale(1.04);filter:drop-shadow(0 7px 28px rgba(255,91,22,.25))}}
.header{position:fixed;top:0;left:0;right:0;z-index:80;background:rgba(3,12,24,.42);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.08);transition:.3s}.header.scrolled{background:rgba(3,12,24,.93);box-shadow:0 16px 40px rgba(0,0,0,.18)}.nav{height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px}.logo img{width:92px;display:block}.menu{display:flex;align-items:center;gap:25px}.menu a{color:#fff;font-weight:800;font-size:.9rem;position:relative}.menu a:after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;background:linear-gradient(90deg,var(--orange),var(--cyan));transform:scaleX(0);transition:.22s}.menu a:hover:after{transform:scaleX(1)}.menu .cta{padding:11px 16px;border-radius:10px;background:linear-gradient(135deg,var(--orange),var(--orange2));box-shadow:0 10px 26px rgba(255,91,22,.2)}.menu .cta:after{display:none}.toggle{display:none;background:none;border:0;padding:7px}.toggle span{display:block;width:26px;height:2px;background:#fff;margin:5px}
.hero{min-height:100vh;position:relative;display:grid;align-items:center;isolation:isolate;overflow:hidden;background:linear-gradient(90deg,rgba(2,9,20,.97) 0%,rgba(3,16,34,.78) 48%,rgba(3,16,34,.24) 100%),url('https://yvrsac.com/wp-content/uploads/2023/02/IMG-20200618-WA0047.jpg') center/cover no-repeat}.hero:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 18% 28%,rgba(26,140,255,.22),transparent 20%),radial-gradient(circle at 78% 68%,rgba(255,91,22,.20),transparent 25%)}.hero-grid{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.027) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.027) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,#000,transparent 90%)}.hero-inner{padding-top:120px;max-width:900px}.badge{display:inline-flex;gap:8px;align-items:center;padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.06);font-size:.74rem;letter-spacing:.13em;text-transform:uppercase;font-weight:900;color:#ffd0bd}.hero h1{font-size:clamp(3.5rem,7.5vw,7.6rem);line-height:.87;letter-spacing:-.06em;margin:18px 0 24px;text-wrap:balance}.hero h1 .hot{color:var(--orange)}.hero p{max-width:780px;color:#d7e1ee;font-size:clamp(1.06rem,1.9vw,1.3rem);margin:0 0 30px}.actions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 22px;border-radius:11px;color:#fff;font-weight:900;transition:.22s}.btn.primary{background:linear-gradient(135deg,var(--orange),var(--orange2));box-shadow:0 16px 34px rgba(255,91,22,.25)}.btn.ghost{border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.05)}.btn:hover{transform:translateY(-2px)}.hero-meta{display:flex;gap:16px;flex-wrap:wrap;margin-top:42px}.meta{padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.09);backdrop-filter:blur(8px)}.meta strong{font-size:1.45rem}.meta span{display:block;color:#aebfd2;font-size:.82rem;margin-top:4px}
.reveal{opacity:0;transform:translateY(36px);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1)}.reveal.visible{opacity:1;transform:none}.reveal.left{transform:translateX(-44px)}.reveal.right{transform:translateX(44px)}.reveal.left.visible,.reveal.right.visible{transform:none}
.specialties{background:#020a14}.section-head{padding:100px 0 42px}.kicker{color:var(--orange);font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em}h2{font-size:clamp(2.5rem,5.2vw,5rem);line-height:.96;letter-spacing:-.05em;margin:10px 0 18px}.lead{max-width:800px;color:#aebed0;font-size:1.08rem}
.specialty{min-height:82vh;position:relative;display:grid;align-items:center;overflow:hidden;isolation:isolate;border-top:1px solid rgba(255,255,255,.08)}.specialty .bg{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;transform:scale(1.03);transition:transform 1.1s cubic-bezier(.2,.8,.2,1)}.specialty:hover .bg{transform:scale(1.075)}.specialty:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(2,9,20,.96) 0%,rgba(2,9,20,.78) 48%,rgba(2,9,20,.36) 100%)}.specialty:nth-child(even):before{background:linear-gradient(270deg,rgba(2,9,20,.96) 0%,rgba(2,9,20,.78) 48%,rgba(2,9,20,.36) 100%)}.specialty:nth-child(even) .specialty-content{margin-left:auto;text-align:right}.specialty:nth-child(even) .chips{justify-content:flex-end}.specialty-content{max-width:720px;padding:96px 0}.specialty-num{font-size:.76rem;font-weight:900;letter-spacing:.16em;color:#ffad88;text-transform:uppercase}.specialty h3{font-size:clamp(2.6rem,5.6vw,5.4rem);line-height:.93;letter-spacing:-.045em;margin:10px 0 18px}.specialty p{color:#c8d4e2;font-size:1.06rem;max-width:680px}.chips{display:flex;gap:9px;flex-wrap:wrap;margin-top:24px}.chip{padding:8px 11px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);font-size:.82rem;color:#dce6f2}.tech-overlay{position:absolute;inset:0;pointer-events:none}.tech-overlay:before{content:"";position:absolute;right:7%;top:20%;width:220px;height:220px;border:1px solid rgba(68,217,255,.18);border-radius:50%;box-shadow:0 0 0 40px rgba(68,217,255,.025),0 0 0 80px rgba(68,217,255,.016);animation:orbit 8s linear infinite}.tech-overlay:after{content:"";position:absolute;right:12%;top:36%;width:70px;height:70px;border:2px solid rgba(255,91,22,.55);transform:rotate(45deg);box-shadow:0 0 28px rgba(255,91,22,.18)}.specialty:nth-child(even) .tech-overlay:before{right:auto;left:7%}.specialty:nth-child(even) .tech-overlay:after{right:auto;left:12%}@keyframes orbit{to{transform:rotate(360deg)}}
.contact{padding:110px 0;background:radial-gradient(circle at 15% 20%,rgba(26,140,255,.18),transparent 24%),radial-gradient(circle at 85% 70%,rgba(255,91,22,.17),transparent 26%),linear-gradient(135deg,#03101f,#0b1f3a)}.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:30px;align-items:center}.contact-side{text-align:right}.phone{display:block;color:#fff;font-size:clamp(1.8rem,4vw,3rem);font-weight:900;margin-bottom:14px}.footer{padding:28px 0;background:#01060c;color:#8da1b8}.footer-row{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
@media(max-width:760px){.wrap{width:min(100% - 28px,var(--max))}.nav{height:70px}.logo img{width:74px}.toggle{display:block}.menu{position:absolute;left:14px;right:14px;top:70px;display:none;flex-direction:column;align-items:stretch;gap:0;background:#07172b;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:10px}.menu.open{display:flex}.menu a{padding:11px 12px}.hero{min-height:94vh;background:linear-gradient(180deg,rgba(2,9,20,.88),rgba(2,9,20,.82)),url('https://yvrsac.com/wp-content/uploads/2023/02/IMG-20200618-WA0047.jpg') center/cover no-repeat}.hero-inner{padding-top:105px}.hero h1{font-size:clamp(2.55rem,13vw,4.2rem);max-width:10ch}.actions{display:grid;grid-template-columns:1fr}.btn{width:100%}.hero-meta{display:grid;grid-template-columns:1fr 1fr;gap:9px}.specialty{min-height:76vh}.specialty:nth-child(even) .specialty-content{margin-left:0;text-align:left}.specialty:nth-child(even) .chips{justify-content:flex-start}.specialty:before,.specialty:nth-child(even):before{background:linear-gradient(180deg,rgba(2,9,20,.68),rgba(2,9,20,.94) 72%)}.specialty-content{padding:76px 0 58px}.specialty h3{font-size:clamp(2.35rem,12vw,3.7rem)}.tech-overlay{display:none}.contact-grid{grid-template-columns:1fr}.contact-side{text-align:left}.footer-row{flex-direction:column;text-align:center}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}