*{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg:#020617;--panel:rgba(15,23,42,.72);--line:rgba(148,163,184,.18);
  --text:#f8fafc;--muted:#94a3b8;--cyan:#38bdf8;--blue:#2563eb;--violet:#7c3aed;--green:#22c55e;
  --shadow:0 24px 80px rgba(0,0,0,.42)
}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:"Space Grotesk",Arial,sans-serif;background:var(--bg);color:var(--text);overflow-x:hidden;min-width:0}
.skip-link{position:fixed;left:18px;top:-80px;z-index:100;color:#02111c;background:var(--cyan);padding:12px 16px;border-radius:12px;font-weight:800;text-decoration:none;transition:top .2s}.skip-link:focus{top:18px}
body::after{content:"";position:fixed;inset:0;background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,black,transparent 72%);pointer-events:none;z-index:-2}
img,svg{max-width:100%}
.cursor-glow{position:fixed;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(56,189,248,.18),transparent 65%);pointer-events:none;z-index:0;transform:translate(-50%,-50%)}
.orbs span{position:fixed;border-radius:999px;filter:blur(45px);opacity:.45;pointer-events:none;z-index:0}
.orbs span:nth-child(1){width:370px;height:370px;left:-110px;top:130px;background:var(--blue)}
.orbs span:nth-child(2){width:430px;height:430px;right:-130px;top:90px;background:var(--violet)}
.orbs span:nth-child(3){width:330px;height:330px;left:38%;bottom:5%;background:var(--cyan)}
.navbar{width:min(1160px,calc(100% - 28px));position:sticky;top:14px;z-index:30;margin:14px auto 0;padding:12px 16px;border:1px solid var(--line);background:rgba(2,6,23,.78);backdrop-filter:blur(18px);border-radius:24px;display:flex;align-items:center;justify-content:space-between;gap:16px;box-shadow:var(--shadow)}
.brand{display:flex;align-items:center;flex:0 0 auto;min-width:0;text-decoration:none}
.brand img{display:block;width:auto;height:auto;max-width:260px;max-height:92px;object-fit:contain;object-position:left center}
nav{display:flex;align-items:center;gap:18px;min-width:0}
nav a{color:var(--muted);text-decoration:none;font-weight:700;transition:.2s;display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
nav a:hover{color:var(--cyan)}
nav a.is-current{color:white;text-shadow:0 0 18px rgba(56,189,248,.42)}
nav a svg,.btn svg,.btn-nav svg{width:18px;height:18px;flex:0 0 auto}
.btn-nav{padding:10px 16px;border-radius:999px;text-decoration:none;font-weight:800;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:white}
.menu-btn{display:none;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.08);color:white;cursor:pointer;flex:0 0 auto}
.hero{width:min(1160px,calc(100% - 28px));min-height:86vh;margin:auto;padding:82px 0 80px;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,1fr);gap:50px;align-items:center;position:relative;z-index:1}
.pill{width:fit-content;display:inline-flex;gap:8px;align-items:center;color:var(--cyan);background:rgba(56,189,248,.09);border:1px solid rgba(56,189,248,.22);border-radius:999px;padding:9px 14px;margin-bottom:20px;font-weight:800}
h1{font-size:clamp(44px,6vw,82px);line-height:.92;letter-spacing:-.06em;margin-bottom:24px}
.hero-copy p,.section-head p,.step p,.project-card p,.service p,.cta p,footer p{color:var(--muted);line-height:1.65}
.hero-copy>p{font-size:19px;max-width:690px}.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}.btn{min-height:52px;display:inline-flex;gap:10px;align-items:center;justify-content:center;border-radius:999px;padding:13px 20px;font-weight:900;text-decoration:none;transition:.25s ease}.btn:hover{transform:translateY(-3px)}.primary{color:white;background:linear-gradient(135deg,var(--green),#16a34a);box-shadow:0 18px 40px rgba(34,197,94,.22)}.secondary{color:white;background:rgba(255,255,255,.08);border:1px solid var(--line)}
.metrics{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.metrics div{min-width:145px;padding:15px;border-radius:20px;background:rgba(255,255,255,.06);border:1px solid var(--line)}.metrics strong{font-size:25px;display:block}.metrics span{color:var(--muted)}
.hero-visual{position:relative;min-width:0}.glow-ring{position:absolute;inset:8%;background:conic-gradient(from 180deg,var(--cyan),var(--violet),var(--blue),var(--cyan));filter:blur(42px);opacity:.32;border-radius:50%}.laptop{position:relative;overflow:hidden;border-radius:30px;border:1px solid var(--line);background:rgba(15,23,42,.8);box-shadow:var(--shadow);transform:perspective(1000px) rotateY(-7deg) rotateX(4deg)}.top{height:42px;display:flex;gap:8px;align-items:center;padding:0 18px;background:rgba(255,255,255,.06);border-bottom:1px solid var(--line)}.top span{width:11px;height:11px;background:var(--cyan);border-radius:50%}.laptop img{width:100%;height:430px;display:block;object-fit:cover;transition:.25s}.demo-btn{position:absolute;left:50%;bottom:-28px;transform:translateX(-50%);z-index:2;color:white;text-decoration:none;background:rgba(37,99,235,.82);border:1px solid rgba(56,189,248,.45);border-radius:14px;padding:13px 22px;font-weight:900;display:inline-flex;gap:8px;box-shadow:0 18px 45px rgba(37,99,235,.25);white-space:nowrap}
.section{width:min(1160px,calc(100% - 28px));margin:auto;padding:86px 0;position:relative;z-index:1}.section-head{max-width:800px;margin-bottom:36px}.section-head span{display:inline-block;color:var(--cyan);text-transform:uppercase;font-size:13px;letter-spacing:.14em;font-weight:900;margin-bottom:12px}h2{font-size:clamp(34px,4.5vw,58px);line-height:1;letter-spacing:-.05em}.process-flow{display:grid;grid-template-columns:1fr 42px 1fr 42px 1fr 42px 1fr 42px 1fr;gap:8px;align-items:center}.step{min-height:230px;padding:24px;border-radius:28px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.045));position:relative;overflow:hidden;transition:.25s}.step:before{content:"";position:absolute;left:-120%;top:0;width:80%;height:100%;background:linear-gradient(90deg,transparent,rgba(56,189,248,.22),transparent);animation:scan 4s infinite}.step:hover,.project-card:hover,.service:hover{transform:translateY(-7px);border-color:rgba(56,189,248,.45)}.step svg{width:38px;height:38px;color:var(--cyan);margin-bottom:18px}.step h3{font-size:24px;margin-bottom:8px}.arrow{display:grid;place-items:center;color:var(--cyan);animation:pulseArrow 1.6s infinite}.arrow svg{width:34px;height:34px}@keyframes scan{0%{left:-120%}45%,100%{left:140%}}@keyframes pulseArrow{0%,100%{transform:translateX(0);opacity:.45}50%{transform:translateX(7px);opacity:1}}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.project-card{cursor:pointer;overflow:hidden;border-radius:32px;border:1px solid var(--line);background:rgba(255,255,255,.07);box-shadow:var(--shadow);transition:.25s}.project-card img{width:100%;height:250px;object-fit:cover;display:block;transition:.35s;background:#020617}.project-card:hover img{transform:scale(1.05)}.project-card div{padding:22px}.project-card small{color:var(--cyan);font-weight:900;text-transform:uppercase;letter-spacing:.1em}.project-card h3{font-size:25px;margin:10px 0}.services{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.service{min-height:230px;padding:26px;border-radius:28px;border:1px solid var(--line);background:rgba(255,255,255,.07);transition:.25s}.service svg{width:42px;height:42px;color:var(--cyan);margin-bottom:20px}.service h3{font-size:23px;margin-bottom:10px}.cta{width:min(1000px,calc(100% - 28px));margin:70px auto;padding:44px;border-radius:38px;border:1px solid rgba(56,189,248,.25);background:radial-gradient(circle at 18% 25%,rgba(56,189,248,.18),transparent 30%),radial-gradient(circle at 85% 15%,rgba(124,58,237,.2),transparent 28%),linear-gradient(135deg,rgba(255,255,255,.09),rgba(255,255,255,.045));text-align:center;box-shadow:var(--shadow)}.cta .actions{justify-content:center}.float-whatsapp{position:fixed;z-index:25;right:22px;bottom:22px;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;color:white;background:var(--green);box-shadow:0 18px 40px rgba(34,197,94,.3)}footer{text-align:center;padding:46px 18px 60px;color:var(--muted);border-top:1px solid var(--line);background:rgba(2,6,23,.45)}.footer-logo{width:min(260px,82vw);height:auto;display:block;margin:0 auto 18px;object-fit:contain}.modal{position:fixed;inset:0;z-index:60;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(2,6,23,.88);backdrop-filter:blur(18px)}.modal.active{display:flex}.modal-box{width:min(1120px,100%)}.modal-box h3{font-size:28px;margin-bottom:16px}.modal-box img{width:100%;max-height:72vh;object-fit:contain;border-radius:28px;border:1px solid var(--line);background:#020617}.modal-box #modalReview{margin-top:16px;line-height:1.7;color:var(--muted)}.close{position:fixed;top:24px;right:28px;width:50px;height:50px;border:0;border-radius:50%;font-size:34px;cursor:pointer}.reveal{opacity:0;transform:translateY(28px);filter:blur(8px);transition:.8s ease}.reveal.active{opacity:1;transform:translateY(0);filter:blur(0)}
.animated-dashboard{isolation:isolate}.animated-dashboard img{opacity:.38;filter:saturate(1.15) contrast(1.08)}.dashboard-overlay{position:absolute;inset:42px 0 0;z-index:3;display:grid;grid-template-columns:22% 1fr;padding:24px;gap:20px;pointer-events:none}.dash-sidebar{border-radius:18px;background:rgba(2,6,23,.55);border:1px solid rgba(56,189,248,.2);padding:18px;display:grid;align-content:start;gap:14px}.dash-sidebar span{height:12px;border-radius:999px;background:linear-gradient(90deg,rgba(56,189,248,.9),rgba(37,99,235,.25));animation:dashPulse 2.4s ease-in-out infinite}.dash-sidebar span:nth-child(2){width:75%;animation-delay:.2s}.dash-sidebar span:nth-child(3){width:62%;animation-delay:.4s}.dash-sidebar span:nth-child(4){width:84%;animation-delay:.6s}.dash-content{display:grid;gap:16px}.dash-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.dash-kpis div{min-height:74px;border-radius:18px;padding:13px;background:rgba(15,23,42,.72);border:1px solid rgba(96,165,250,.24);box-shadow:0 0 28px rgba(37,99,235,.12);animation:cardFloat 3.2s ease-in-out infinite}.dash-kpis div:nth-child(2){animation-delay:.35s}.dash-kpis div:nth-child(3){animation-delay:.7s}.dash-kpis b{display:block;color:#93c5fd;font-size:12px}.dash-kpis strong{display:block;color:white;font-size:22px;margin-top:6px}.dash-chart{height:150px;border-radius:20px;background:radial-gradient(circle at 20% 40%,rgba(56,189,248,.16),transparent 35%),rgba(15,23,42,.7);border:1px solid rgba(96,165,250,.22);display:flex;align-items:end;gap:12px;padding:18px;overflow:hidden;position:relative}.dash-chart::before{content:"";position:absolute;left:-40%;top:0;width:40%;height:100%;background:linear-gradient(90deg,transparent,rgba(56,189,248,.22),transparent);animation:scanDashboard 3.6s linear infinite}.dash-chart i{flex:1;border-radius:999px 999px 8px 8px;background:linear-gradient(180deg,#38bdf8,#2563eb);animation:bars 1.8s ease-in-out infinite;min-height:28px}.dash-chart i:nth-child(1){height:35%;animation-delay:.1s}.dash-chart i:nth-child(2){height:68%;animation-delay:.25s}.dash-chart i:nth-child(3){height:48%;animation-delay:.4s}.dash-chart i:nth-child(4){height:82%;animation-delay:.55s}.dash-chart i:nth-child(5){height:58%;animation-delay:.7s}.dash-lines{display:grid;gap:10px}.dash-lines span{height:13px;border-radius:999px;background:linear-gradient(90deg,rgba(255,255,255,.8),rgba(56,189,248,.22),transparent);animation:lineLoad 2.8s ease-in-out infinite}.dash-lines span:nth-child(2){width:72%;animation-delay:.25s}.dash-lines span:nth-child(3){width:52%;animation-delay:.5s}.web-badge{position:absolute;right:24px;bottom:42px;z-index:5;display:inline-flex;align-items:center;gap:9px;padding:12px 15px;border-radius:999px;color:white;font-weight:900;background:rgba(37,99,235,.78);border:1px solid rgba(56,189,248,.45);box-shadow:0 18px 45px rgba(37,99,235,.28);animation:badgePop 2.3s ease-in-out infinite}@keyframes dashPulse{50%{opacity:.42;transform:translateX(6px)}}@keyframes cardFloat{50%{transform:translateY(-7px);box-shadow:0 0 36px rgba(56,189,248,.2)}}@keyframes scanDashboard{to{left:120%}}@keyframes bars{50%{transform:scaleY(.72);filter:brightness(1.35)}}@keyframes lineLoad{50%{width:88%;opacity:.55}}@keyframes badgePop{50%{transform:translateY(-8px) scale(1.03)}}
@media(max-width:1100px){nav{gap:10px}.brand img{max-width:220px;max-height:78px}.hero{grid-template-columns:1fr;text-align:center;gap:38px;padding-top:58px}.pill{margin-left:auto;margin-right:auto}.hero .actions,.metrics{justify-content:center}.hero-visual{max-width:720px;margin:0 auto}.laptop{transform:none}.process-flow{grid-template-columns:1fr}.arrow{transform:rotate(90deg);animation:none}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.services{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:860px){.cursor-glow,.orbs{display:none}.navbar{width:calc(100% - 24px);top:10px;margin-top:10px;min-height:68px;border-radius:20px;padding:10px 12px}.brand img{max-width:190px;max-height:64px}.menu-btn{display:inline-flex}nav{position:fixed;top:88px;left:12px;right:12px;display:none;flex-direction:column;align-items:stretch;gap:10px;padding:18px;border-radius:22px;background:rgba(8,12,24,.97);border:1px solid rgba(255,255,255,.12);box-shadow:0 24px 70px rgba(0,0,0,.35);backdrop-filter:blur(18px)}nav.active,nav.open,body.menu-open nav{display:flex}nav a{width:100%;padding:13px 14px;border-radius:14px;justify-content:flex-start;background:rgba(255,255,255,.045)}nav .btn-nav{justify-content:center}.hero,.section,.cta{width:calc(100% - 32px)}.hero{min-height:auto;padding:48px 0 64px}.hero-copy h1{font-size:clamp(2.45rem,11vw,4rem)}.hero-copy>p,.section-head p,.cta p{font-size:1rem}.actions{flex-direction:column;align-items:stretch}.actions .btn{width:100%;justify-content:center}.metrics{display:grid;grid-template-columns:1fr;width:100%}.laptop img{height:320px}.dashboard-overlay{padding:14px;gap:10px;grid-template-columns:1fr}.dash-sidebar{display:none}.dash-kpis{grid-template-columns:1fr}.dash-chart{height:95px}.web-badge{position:relative;right:auto;bottom:auto;margin:22px auto 0;width:fit-content}.project-grid,.services{grid-template-columns:1fr}.project-card img{height:230px;object-fit:cover}.section{padding:62px 0}.cta{padding:32px 22px;border-radius:28px}.modal{padding:16px}.modal-box h3{font-size:22px}.close{top:14px;right:14px;width:44px;height:44px}.float-whatsapp{right:16px;bottom:16px}}
@media(max-width:480px){.navbar{width:calc(100% - 18px);padding:9px 10px}.brand img{max-width:165px;max-height:56px}.menu-btn{width:40px;height:40px}nav{top:78px;left:9px;right:9px}.hero,.section,.cta{width:calc(100% - 24px)}.hero{padding-top:38px}.pill{font-size:.82rem;padding:8px 11px}.hero-copy h1{font-size:clamp(2.2rem,12vw,3.2rem)}.btn{padding:12px 15px}.laptop{border-radius:22px}.laptop img{height:260px}.dashboard-overlay{inset:42px 0 0;padding:10px}.dash-kpis div{min-height:58px}.dash-chart{height:74px;padding:12px}.demo-btn{bottom:-20px;padding:11px 15px;font-size:.9rem}.project-card{border-radius:24px}.project-card img{height:210px}.project-card div,.service,.step{padding:20px}.section-head h2,.cta h2{font-size:clamp(1.8rem,9vw,2.4rem)}footer{font-size:.9rem;padding-bottom:80px}.footer-logo{width:min(210px,78vw)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.cursor-glow{display:none}}

/* Refuerzos de experiencia y accesibilidad */
.availability{display:inline-flex;align-items:center;gap:8px;margin-top:18px;color:#cbd5e1;font-size:.94rem}.availability svg{width:17px;height:17px;color:var(--green)}
.project-card:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}.card-link{display:inline-flex;align-items:center;gap:6px;margin-top:18px;color:white;font-weight:800}.card-link svg{width:18px;color:var(--cyan);transition:transform .2s}.project-card:hover .card-link svg{transform:translate(3px,-3px)}
.project-features{display:grid;gap:7px;margin:17px 0 0;padding:0;list-style:none;color:#c4d0df;font-size:.86rem;line-height:1.45}.project-features li{display:flex;align-items:flex-start;gap:8px}.project-features li::before{content:"";width:6px;height:6px;flex:0 0 auto;margin-top:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px rgba(102,227,239,.55)}
.value-section{padding-top:28px}.value-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.value-card{position:relative;min-height:250px;padding:28px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(145deg,rgba(14,165,233,.11),rgba(255,255,255,.035) 48%,rgba(124,58,237,.1));overflow:hidden}.value-card::after{content:"";position:absolute;width:160px;height:160px;right:-60px;bottom:-70px;border-radius:50%;background:rgba(56,189,248,.11);filter:blur(12px)}.value-card>*{position:relative;z-index:1}.value-number{display:block;color:var(--cyan);font-weight:900;letter-spacing:.12em;font-size:.82rem}.value-card svg{width:38px;height:38px;margin:22px 0 16px;color:#7dd3fc}.value-card h3{font-size:24px;margin-bottom:8px}.value-card p{color:var(--muted);line-height:1.65}
@media(max-width:860px){.availability{justify-content:center}.value-grid{grid-template-columns:1fr}}

/* Vitrina de proyectos: la captura es protagonista, sin capas que la oculten. */
body{background:radial-gradient(ellipse 70% 38% at 50% -12%,rgba(8,145,178,.21),transparent 68%),radial-gradient(ellipse 48% 28% at 100% 30%,rgba(109,40,217,.14),transparent 72%),var(--bg)}
.navbar{border-color:rgba(125,211,252,.2);background:rgba(3,10,27,.82)}
.hero-copy h1{max-width:700px;text-wrap:balance}.hero-copy>p{max-width:610px}
.laptop{padding:10px;background:linear-gradient(145deg,rgba(125,211,252,.28),rgba(15,23,42,.95) 25%,rgba(124,58,237,.23));border-color:rgba(125,211,252,.32);transform:perspective(1000px) rotateY(-4deg) rotateX(2deg)}
.laptop .top{height:34px;border-radius:20px 20px 0 0;background:rgba(2,6,23,.66)}
.laptop img{height:430px;border-radius:0 0 20px 20px;object-fit:cover;opacity:1!important;filter:none!important}
.screen-caption{position:absolute;left:26px;bottom:26px;z-index:4;display:inline-flex;align-items:center;gap:9px;padding:10px 13px;border:1px solid rgba(255,255,255,.17);border-radius:999px;background:rgba(2,6,23,.78);color:#e0f2fe;font-size:.86rem;font-weight:800;backdrop-filter:blur(10px)}
.live-dot{width:8px;height:8px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 5px rgba(74,222,128,.14)}
.web-badge{right:-6px;bottom:58px;background:linear-gradient(135deg,#2563eb,#7c3aed)}
.metrics div{background:linear-gradient(145deg,rgba(255,255,255,.1),rgba(255,255,255,.035));border-color:rgba(125,211,252,.18)}
.project-card{background:linear-gradient(160deg,rgba(255,255,255,.1),rgba(15,23,42,.5));border-color:rgba(148,163,184,.22)}
.project-card div{padding:24px}.project-card h3{letter-spacing:-.035em}.service{background:linear-gradient(155deg,rgba(30,41,59,.78),rgba(15,23,42,.4));border-color:rgba(148,163,184,.19)}
@media(max-width:860px){.laptop{padding:7px;transform:none}.laptop .top{height:31px}.laptop img{height:310px}.screen-caption{left:18px;bottom:18px;font-size:.76rem}.web-badge{right:auto;bottom:auto}.hero-visual{padding-bottom:14px}}
@media(max-width:480px){.laptop img{height:265px}.screen-caption{left:13px;bottom:13px;padding:8px 10px}.web-badge{font-size:.86rem}}

/* Dirección visual: estudio de software, sobrio y legible. */
body{background:#06101f}
body::after{background:linear-gradient(115deg,rgba(56,189,248,.035),transparent 38%),linear-gradient(300deg,rgba(124,58,237,.05),transparent 45%);background-size:auto;mask-image:none}
.cursor-glow,.orbs{display:none}
.navbar{width:min(1180px,calc(100% - 40px));top:20px;margin-top:20px;padding:13px 20px;border-radius:18px;background:rgba(7,18,35,.92);box-shadow:0 12px 38px rgba(0,0,0,.22)}
nav{gap:20px}nav a{font-size:.92rem;color:#aebdd0}nav a:hover,nav a.is-current{color:#fff;text-shadow:none}.btn-nav{background:#fff;color:#0b1b30;border-color:#fff;box-shadow:none}.btn-nav:hover{background:#dff4ff;color:#06101f}
.hero{min-height:720px;padding:78px 0 90px;gap:68px}.pill{background:rgba(14,165,233,.1);border-color:rgba(125,211,252,.23);color:#9ddfff}.hero-copy>p{font-family:"Poppins",Arial,sans-serif;font-size:17px;line-height:1.8;color:#b2c0d0}.hero-copy h1{font-size:clamp(48px,5.8vw,76px);line-height:.98;letter-spacing:-.055em}.primary{background:#1479d0;box-shadow:0 12px 28px rgba(20,121,208,.25)}.primary:hover{background:#0f67b1}.secondary{background:transparent;border-color:rgba(174,189,208,.34)}
.metrics div{padding:16px 18px;background:#0b1b30;border-color:rgba(125,211,252,.14);box-shadow:none}.metrics strong{color:#e8f6ff}.availability{color:#aebdd0}
.glow-ring{opacity:.18;filter:blur(54px)}.laptop{border-radius:22px;background:#0b1628;box-shadow:0 24px 55px rgba(0,0,0,.32)}.laptop img{border-radius:0 0 14px 14px}.screen-caption{background:rgba(6,16,31,.9);border-color:rgba(255,255,255,.12)}.web-badge{background:#1479d0;box-shadow:0 12px 28px rgba(20,121,208,.25)}
.section{padding:104px 0;border-top:1px solid rgba(148,163,184,.1)}.section-head{margin-bottom:42px}.section-head span{color:#7dd3fc}.section-head p{font-family:"Poppins",Arial,sans-serif;color:#aebdd0}.process-flow{gap:12px}.step,.service,.project-card,.value-card{background:#0b1b30;border-color:rgba(148,163,184,.16);box-shadow:none}.step:hover,.project-card:hover,.service:hover{border-color:rgba(125,211,252,.42);transform:translateY(-4px)}.project-card{border-radius:22px}.project-card div{padding:24px}.project-card h3,.service h3,.value-card h3{letter-spacing:-.025em}.value-card::after{opacity:.5}.cta{background:#0b1b30;border-color:rgba(125,211,252,.2);box-shadow:none}.float-whatsapp{box-shadow:0 10px 24px rgba(34,197,94,.25)}
/* Sin pantalla en blanco al cargar: los contenidos están disponibles desde el primer instante. */
.reveal{opacity:1;transform:none;filter:none;transition:opacity .2s ease}
@media(max-width:860px){.navbar{width:calc(100% - 24px);top:12px;margin-top:12px;padding:10px 14px}.hero{min-height:auto;padding:62px 0 72px;gap:46px}.section{padding:72px 0}nav{gap:10px}.btn-nav{background:#1479d0;color:#fff;border-color:#1479d0}}

/* Caso de uso: punto de venta e inventario. */
.pos-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:68px;align-items:center;background:linear-gradient(135deg,rgba(20,121,208,.1),transparent 50%),#091b2f;border:1px solid rgba(125,211,252,.18);border-radius:32px;padding:62px!important;margin-top:36px;margin-bottom:36px}.eyebrow{display:inline-flex;align-items:center;gap:8px;color:#9ddfff;font-size:.82rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.eyebrow svg{width:18px;height:18px}.pos-copy h2{margin:16px 0 20px;max-width:690px}.pos-lead{font-family:"Poppins",Arial,sans-serif;color:#b7c7d9;font-size:1.04rem;line-height:1.75;max-width:640px}.pos-features{display:grid;gap:14px;list-style:none;margin:28px 0 34px}.pos-features li{display:flex;align-items:flex-start;gap:12px;color:#cbd5e1;line-height:1.55}.pos-features li>svg{width:22px;height:22px;flex:0 0 auto;margin-top:1px;color:#67e8f9}.pos-features strong{color:#f8fafc}.pos-link{width:fit-content}.pos-preview{position:relative;display:block;overflow:hidden;border:1px solid rgba(125,211,252,.27);border-radius:22px;background:#f8fafc;box-shadow:0 26px 55px rgba(0,0,0,.28);transition:transform .25s ease,box-shadow .25s ease}.pos-preview:hover{transform:translateY(-6px);box-shadow:0 32px 65px rgba(0,0,0,.38)}.pos-preview img{display:block;width:100%;aspect-ratio:1.02;object-fit:cover;object-position:left top}.preview-label,.preview-cta{position:absolute;z-index:1;display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border-radius:999px;font-size:.83rem;font-weight:800;backdrop-filter:blur(10px)}.preview-label{top:15px;left:15px;color:#fff;background:rgba(6,16,31,.78)}.preview-cta{right:15px;bottom:15px;color:#071524;background:#fff}.preview-label svg,.preview-cta svg{width:16px;height:16px}@media(max-width:860px){.pos-section{grid-template-columns:1fr;gap:34px;border-radius:26px;padding:34px 24px!important;margin-top:20px}.pos-preview{max-width:560px;width:100%}.pos-link{width:100%}}

/* Catálogo de software para negocios. */
.sales-suite{background:linear-gradient(145deg,rgba(20,121,208,.12),transparent 46%),#091b2f;border:1px solid rgba(125,211,252,.18);border-radius:32px;padding:62px!important;margin-top:36px;margin-bottom:36px}.sales-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:40px}.sales-product{display:flex;flex-direction:column;overflow:hidden;background:#0b1b30;border:1px solid rgba(148,163,184,.2);border-radius:22px;transition:transform .25s ease,border-color .25s ease}.sales-product:hover{transform:translateY(-5px);border-color:rgba(125,211,252,.42)}.sales-product-featured{border-color:rgba(56,189,248,.45);box-shadow:0 18px 42px rgba(0,0,0,.18)}.sales-image{position:relative;height:205px;overflow:hidden;background:#f8fafc}.sales-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:left top}.sales-body{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:25px}.product-tag{display:inline-flex;padding:6px 10px;border-radius:999px;background:rgba(34,197,94,.14);color:#86efac;font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.product-tag-soon{background:rgba(148,163,184,.14);color:#cbd5e1}.sales-body h3{font-size:1.42rem;line-height:1.14;letter-spacing:-.03em;margin:15px 0 10px}.sales-body p{font-family:"Poppins",Arial,sans-serif;color:#b7c7d9;font-size:.94rem;line-height:1.65;margin-bottom:22px}.product-button{min-height:46px;margin-top:auto;padding:10px 15px;font-size:.9rem}.soon-button{display:inline-flex;align-items:center;gap:8px;margin-top:auto;color:#94a3b8;font-weight:800;font-size:.9rem}.soon-button svg{width:17px;height:17px}.gym-image img{object-position:center}.restaurant-image{display:grid;place-items:center;align-content:center;gap:10px;background:radial-gradient(circle at 30% 25%,rgba(45,212,191,.3),transparent 38%),linear-gradient(145deg,#0f3a35,#0c2030);color:#dcfce7}.restaurant-image svg{width:56px;height:56px}.restaurant-image span{font-size:1rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}@media(max-width:1000px){.sales-products{grid-template-columns:1fr}.sales-image{height:250px}.sales-product{display:grid;grid-template-columns:minmax(220px,.8fr) 1fr}.sales-body{min-height:250px}}@media(max-width:640px){.sales-suite{border-radius:26px;padding:34px 24px!important;margin-top:20px}.sales-products{gap:16px;margin-top:30px}.sales-product{display:flex}.sales-image{height:205px}.sales-body{min-height:0}}

/* Sitios propios */
.owned-sites{padding-top:72px}.owned-site-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:26px;padding:32px;border:1px solid rgba(125,211,252,.24);border-radius:24px;background:linear-gradient(110deg,rgba(14,165,233,.12),rgba(11,27,48,.92) 42%,rgba(124,58,237,.1));transition:transform .25s ease,border-color .25s ease}.owned-site-card:hover{transform:translateY(-4px);border-color:rgba(125,211,252,.48)}.owned-site-icon{width:76px;height:76px;display:grid;place-items:center;border-radius:20px;background:rgba(125,211,252,.13);color:#a5f3fc}.owned-site-icon svg{width:37px;height:37px}.owned-site-copy h3{font-size:clamp(1.55rem,3vw,2.2rem);letter-spacing:-.04em;margin:11px 0 8px}.owned-site-copy p{max-width:650px;font-family:"Poppins",Arial,sans-serif;color:#b7c7d9;line-height:1.7}.owned-site-link{white-space:nowrap}@media(max-width:860px){.owned-sites{padding-top:54px}.owned-site-card{grid-template-columns:1fr;gap:18px;padding:26px}.owned-site-icon{width:62px;height:62px}.owned-site-link{width:100%;white-space:normal}}

.social-links{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:24px}.social-links a{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid rgba(148,163,184,.24);border-radius:999px;color:#cbd5e1;text-decoration:none;font-weight:800;transition:.2s ease}.social-links a:hover{color:#fff;border-color:rgba(125,211,252,.55);background:rgba(125,211,252,.1);transform:translateY(-2px)}.social-links svg{width:18px;height:18px}

/* Logo vectorial de AvisosQuellón: se mantiene nítido en cualquier tamaño. */
.owned-site-logo{width:220px;max-width:100%;height:auto;border-radius:14px;box-shadow:0 10px 26px rgba(0,0,0,.16)}@media(max-width:860px){.owned-site-logo{width:min(280px,100%)}}

/* Acceso rápido al inicio después de navegar por una sección. */
.back-to-top{position:fixed;z-index:24;right:22px;bottom:94px;width:46px;height:46px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:rgba(7,18,35,.88);box-shadow:0 12px 28px rgba(0,0,0,.24);color:#d8fbff;cursor:pointer;opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity .22s ease,transform .22s ease,background .22s ease}.back-to-top svg{width:20px;height:20px}.back-to-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.back-to-top:hover{background:#1479d0;color:#fff}@media(max-width:860px){.back-to-top{right:16px;bottom:88px;width:44px;height:44px}}

/* Asistente lateral para reunir los datos de una cotización. */
.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}.project-chat{position:fixed;z-index:28;right:22px;bottom:94px}.project-chat-toggle{min-height:44px;display:flex;align-items:center;gap:7px;padding:0 13px;border:1px solid rgba(102,227,239,.46);border-radius:999px;background:linear-gradient(135deg,#66e3ef,#2ea8d4);box-shadow:0 12px 26px rgba(17,150,189,.25);color:#06131f;font:800 .76rem "Space Grotesk",Arial,sans-serif;cursor:pointer}.project-chat-toggle svg{width:17px;height:17px}.project-chat-panel{position:absolute;right:0;bottom:58px;width:min(360px,calc(100vw - 30px));overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:20px;background:rgba(7,16,31,.97);box-shadow:0 24px 64px rgba(0,0,0,.42);opacity:0;pointer-events:none;transform:translateY(12px) scale(.98);transform-origin:bottom right;transition:.22s ease}.project-chat-panel.is-open{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}.project-chat-header{display:flex;align-items:center;justify-content:space-between;padding:17px 18px;border-bottom:1px solid rgba(255,255,255,.1);background:linear-gradient(115deg,rgba(102,227,239,.18),rgba(8,17,33,.94) 58%)}.project-chat-header strong{display:block;font-size:.98rem}.project-chat-header span{display:block;margin-top:3px;color:#aebdd0;font-size:.76rem}.project-chat-header button{width:30px;height:30px;border:0;border-radius:50%;background:rgba(255,255,255,.09);color:#fff;font-size:1.4rem;line-height:1;cursor:pointer}.project-chat-messages{height:270px;display:flex;flex-direction:column;gap:10px;overflow-y:auto;padding:16px}.chat-message{width:fit-content;max-width:88%;padding:10px 12px;border-radius:14px;line-height:1.48;font-size:.86rem}.chat-message.bot{align-self:flex-start;background:rgba(255,255,255,.08);color:#e4ecf7;border-bottom-left-radius:4px}.chat-message.user{align-self:flex-end;background:rgba(102,227,239,.18);color:#e3fdff;border-bottom-right-radius:4px}.chat-send-summary{display:inline-flex;justify-content:center;margin-top:2px;padding:11px 13px;border-radius:10px;background:#66e3ef;color:#06131f;text-decoration:none;font-size:.84rem;font-weight:900}.project-chat-form{display:flex;gap:9px;padding:13px;border-top:1px solid rgba(255,255,255,.1)}.project-chat-form input{min-width:0;flex:1;border:1px solid rgba(255,255,255,.16);border-radius:10px;background:rgba(255,255,255,.06);color:#fff;padding:11px 12px;font:400 .86rem "Poppins",Arial,sans-serif;outline:none}.project-chat-form input:focus{border-color:#66e3ef}.project-chat-form button{width:42px;border:0;border-radius:10px;background:#66e3ef;color:#06131f;cursor:pointer}.project-chat-form button:disabled{opacity:.45;cursor:not-allowed}.project-chat-form svg{width:18px;height:18px}@media(max-width:860px){.project-chat{right:16px;bottom:87px}.back-to-top{right:16px;bottom:151px}.project-chat-toggle span{display:none}.project-chat-toggle{width:44px;padding:0;justify-content:center}.project-chat-panel{bottom:55px;width:min(350px,calc(100vw - 24px))}}

/* Robot vectorial animado del asistente. */
.chatbot-robot{position:absolute;right:3px;bottom:0;width:92px;padding:0;border:0;background:transparent;cursor:pointer;filter:drop-shadow(0 12px 15px rgba(0,0,0,.26));transform-origin:bottom center;animation:robotFloat 3.1s ease-in-out infinite}.chatbot-robot svg{display:block;width:100%;overflow:visible}.chatbot-robot:hover{filter:drop-shadow(0 15px 18px rgba(102,227,239,.42))}.chatbot-robot:focus-visible{outline:2px solid #66e3ef;outline-offset:5px;border-radius:16px}.robot-antenna,.robot-smile,.robot-arm,.robot-leg{fill:none;stroke:#a9f3ff;stroke-width:6;stroke-linecap:round}.robot-head{fill:#102a46;stroke:#66e3ef;stroke-width:4}.robot-face{fill:#071624}.robot-eye{fill:#66e3ef;animation:robotBlink 4s infinite;transform-origin:center}.robot-light,.robot-core{fill:#ffcc75;filter:drop-shadow(0 0 5px #ffcc75)}.robot-body{fill:#154566;stroke:#7cecf5;stroke-width:3}.robot-arm-wave{transform-origin:91px 85px;animation:robotWave 1.5s ease-in-out infinite}.project-chat:has(.project-chat-panel.is-open) .chatbot-robot{opacity:0;transform:translateY(10px) scale(.9);transition:.2s ease}@keyframes robotFloat{50%{transform:translateY(-8px) rotate(2deg)}}@keyframes robotWave{0%,100%{transform:rotate(10deg)}50%{transform:rotate(-36deg)}}@keyframes robotBlink{0%,44%,48%,100%{transform:scaleY(1)}46%{transform:scaleY(.12)}}@media(max-width:860px){.chatbot-robot{width:76px;right:-9px;bottom:0}}

/* El botón de subir queda separado del asistente lateral. */
.robot-hat-wool{fill:#b94755;stroke:#ffe1a3;stroke-width:2}.robot-hat-stripe,.robot-hat-earflap{fill:none;stroke:#ffe1a3;stroke-width:3;stroke-linecap:round}.robot-hat-pom{fill:#65dce7;stroke:#ffe1a3;stroke-width:1.5}

/* El asistente queda abajo y el acceso al inicio inmediatamente encima. */
.project-chat{bottom:22px}.back-to-top{left:auto;right:22px;bottom:136px}@media(max-width:860px){.project-chat{right:16px;bottom:16px}.back-to-top{left:auto;right:16px;bottom:116px}}

/* Proceso: recorrido de una idea a una solución lista para usar. */
.process-journey{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;counter-reset:journey}.process-journey::before{content:"";position:absolute;top:42px;left:9%;right:9%;height:1px;background:linear-gradient(90deg,transparent,#44d9ee 12%,#ac5cf7 52%,#44d9ee 88%,transparent);opacity:.58}.journey-step{position:relative;z-index:1;min-height:250px;padding:24px 19px 22px;border:1px solid rgba(255,255,255,.14);border-radius:22px;background:linear-gradient(160deg,rgba(16,29,55,.93),rgba(5,12,28,.8));transition:transform .25s ease,border-color .25s ease,background .25s ease}.journey-step:hover{transform:translateY(-7px);border-color:rgba(105,227,241,.64);background:linear-gradient(160deg,rgba(25,48,83,.95),rgba(8,15,35,.86))}.journey-step>span{display:grid;place-items:center;width:42px;height:42px;margin:-3px 0 26px;border-radius:50%;background:#08142a;border:1px solid #62dce9;color:#8ceefa;font-size:.74rem;font-weight:900;letter-spacing:.08em;box-shadow:0 0 0 7px rgba(7,16,36,.95)}.journey-step svg{width:28px;height:28px;color:#8ceefa;margin-bottom:24px}.journey-step h3{font-size:1.22rem;line-height:1.12;letter-spacing:-.025em;margin-bottom:11px}.journey-step p{font-family:"Poppins",Arial,sans-serif;color:#b7c7d9;font-size:.88rem;line-height:1.62}.journey-step:nth-child(2)>span{border-color:#cf8cff;color:#e7b8ff}.journey-step:nth-child(2) svg{color:#e7b8ff}.journey-step:nth-child(3)>span{border-color:#f8bd78;color:#ffdaa7}.journey-step:nth-child(3) svg{color:#ffdaa7}.journey-step:nth-child(4)>span{border-color:#8cdbac;color:#b3f5cc}.journey-step:nth-child(4) svg{color:#b3f5cc}.journey-step:nth-child(5)>span{border-color:#6fd9f5;color:#a8edff}.journey-step:nth-child(5) svg{color:#a8edff}@media(max-width:980px){.process-journey{grid-template-columns:1fr;gap:12px;padding-left:36px}.process-journey::before{top:28px;bottom:28px;left:56px;right:auto;width:1px;height:auto;background:linear-gradient(#44d9ee,#ac5cf7,#44d9ee)}.journey-step{min-height:0;padding:20px 20px 20px 34px;display:grid;grid-template-columns:44px 34px 1fr;gap:15px;align-items:start}.journey-step>span{margin:-1px 0 0 -56px}.journey-step svg{margin:6px 0 0}.journey-step h3{margin-top:1px}.journey-step p{margin:0}}

/* BrumaCode refresh: dirección visual más premium y cercana a la referencia compartida. */
:root{
  --bg:#050b18;
  --panel:rgba(7,16,31,.78);
  --line:rgba(168,182,209,.16);
  --text:#f7fbff;
  --muted:#aab6c8;
  --cyan:#66e3ef;
  --blue:#2d8cff;
  --violet:#6c5ce7;
  --green:#66e3ef;
  --shadow:0 26px 90px rgba(0,0,0,.42)
}
body{background:
  radial-gradient(circle at 76% 34%,rgba(102,227,239,.16),transparent 18%),
  radial-gradient(circle at 86% 42%,rgba(102,227,239,.18),transparent 16%),
  radial-gradient(circle at 15% 8%,rgba(108,92,231,.12),transparent 24%),
  linear-gradient(180deg,#050b18 0%,#07111f 45%,#050b18 100%)}
body::after{background:
  radial-gradient(circle at 50% 100%,rgba(102,227,239,.05),transparent 38%),
  linear-gradient(115deg,rgba(255,255,255,.025),transparent 32%),
  linear-gradient(300deg,rgba(102,227,239,.05),transparent 38%);opacity:.8}
.navbar{background:rgba(5,11,24,.84);border-color:rgba(255,255,255,.12)}
.brand img,.footer-logo{filter:drop-shadow(0 10px 26px rgba(0,0,0,.35))}
.brand img{max-width:240px;max-height:88px}
.hero{padding-top:96px}
.pill{background:rgba(102,227,239,.08);border-color:rgba(102,227,239,.18);color:#c8fbff}
h1{letter-spacing:-.07em}
.hero-copy>p,.section-head p,.step p,.project-card p,.service p,.cta p,footer p,.pos-lead,.owned-site-copy p,.sales-body p{color:#b4bfd0}
.primary{background:linear-gradient(135deg,#66e3ef,#2ea8d4);color:#06131f;box-shadow:0 14px 32px rgba(102,227,239,.2)}
.primary:hover{filter:brightness(1.04);transform:translateY(-3px)}
.secondary{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.12)}
.btn-nav{background:linear-gradient(135deg,#66e3ef,#2ea8d4);border-color:#66e3ef;color:#06131f}
nav a{color:#b9c6d8}
nav a:hover,nav a.is-current{color:#fff}
.section{padding-top:98px}
.section-head span,.eyebrow,.product-tag{color:#bff7ff}
h2{letter-spacing:-.06em}
.step,.service,.project-card,.value-card,.owned-site-card,.sales-product{background:linear-gradient(180deg,rgba(10,19,35,.98),rgba(8,15,27,.88));border-color:rgba(168,182,209,.14)}
.project-card small{color:#66e3ef}
.project-card:hover,.service:hover,.step:hover,.value-card:hover,.owned-site-card:hover,.sales-product:hover{border-color:rgba(102,227,239,.28)}
.cta,.sales-suite,.pos-section{background:linear-gradient(145deg,rgba(102,227,239,.08),rgba(8,15,27,.98) 50%,rgba(102,227,239,.06));border-color:rgba(255,255,255,.12)}
.float-whatsapp{background:linear-gradient(135deg,#66e3ef,#2ea8d4);color:#06131f}
.float-whatsapp:hover{transform:translateY(-3px) scale(1.02)}
.screen-caption,.web-badge,.demo-btn{border-color:rgba(255,255,255,.12)}
.web-badge{background:linear-gradient(135deg,#0e73c7,#7b61ff)}
.demo-btn{background:rgba(8,15,27,.88)}
.laptop{background:linear-gradient(145deg,rgba(102,227,239,.18),rgba(7,16,31,.96) 28%,rgba(102,227,239,.08));border-color:rgba(102,227,239,.18)}
.glow-ring{opacity:.16}
.screen-caption{background:rgba(5,11,24,.82)}
.footer-logo{width:min(240px,78vw)}
@media(max-width:860px){
  .brand img{max-width:190px;max-height:66px}
  .hero{padding-top:62px}
}
@media(max-width:480px){
  .brand img{max-width:160px;max-height:56px}
}

/* Aurora landing direction: closer to the supplied reference while keeping the portfolio content. */
html,body{overflow-x:hidden}
.navbar{width:min(1160px,calc(100% - 48px));padding:12px 18px;border-radius:18px;background:rgba(4,10,23,.72);backdrop-filter:blur(20px)}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;min-width:180px}
.brand-mark{width:42px!important;height:42px!important;max-width:none!important;max-height:none!important;object-fit:cover;object-position:50% 22%;border-radius:50%;filter:drop-shadow(0 4px 14px rgba(102,227,239,.24))}
.brand-name{font-size:1.12rem;font-weight:900;letter-spacing:-.045em;color:#f8fbff}.brand-name span{color:var(--cyan)}
nav{gap:16px}nav a{font-size:.78rem;letter-spacing:0}nav .btn-nav{padding:10px 15px;border-radius:10px;font-size:.78rem;white-space:nowrap}
.hero{position:relative;isolation:isolate;grid-template-columns:minmax(0,.92fr) minmax(360px,1.08fr);min-height:610px;padding:74px 0 96px;gap:28px;overflow:visible}
.hero::before{content:"";position:absolute;z-index:-2;right:-11%;top:8%;width:72%;height:72%;background:radial-gradient(ellipse at 20% 55%,rgba(244,81,132,.76),transparent 27%),radial-gradient(ellipse at 56% 42%,rgba(211,241,99,.88),transparent 32%),radial-gradient(ellipse at 83% 58%,rgba(71,211,201,.7),transparent 29%);filter:blur(48px);opacity:.8;transform:rotate(-8deg);pointer-events:none}
.hero::after{content:"";position:absolute;z-index:-1;right:3%;top:4%;width:54%;height:86%;border-radius:50%;background:radial-gradient(circle,rgba(101,224,218,.13),transparent 65%);filter:blur(38px);pointer-events:none}
.hero-copy{padding-top:38px}.hero-kicker{display:block;margin-bottom:16px;color:#e8edf7;font-size:.98rem;font-weight:500;letter-spacing:.12em}.hero-copy h1{display:grid;max-width:600px;font-size:clamp(4rem,8vw,7rem);line-height:.86;letter-spacing:-.09em}.hero-copy h1 span{color:#f6e5c2}.hero-copy h1 strong{color:#66e3ef;font-weight:800}.hero-copy>p{max-width:500px;font-size:1rem;line-height:1.75;color:#b9c3d3}
.pill{border-color:rgba(102,227,239,.25);background:rgba(7,16,31,.46);box-shadow:0 8px 28px rgba(0,0,0,.14)}
.actions{margin-top:28px}.metrics{margin-top:30px;gap:10px}.metrics div{padding:12px 16px;background:rgba(7,16,31,.44);border-color:rgba(255,255,255,.12);backdrop-filter:blur(10px)}
.hero-visual{position:relative;min-height:500px;display:grid;place-items:center}.hero-visual::before{content:"";position:absolute;width:128%;height:30%;right:-31%;top:44%;border-radius:50%;background:linear-gradient(90deg,rgba(239,73,126,.5),rgba(244,130,75,.62),rgba(102,227,239,.72),rgba(74,210,199,.55));filter:blur(58px);opacity:.62;animation:auroraRibbon 1.8s cubic-bezier(.45,0,.55,1) infinite alternate}
.hero-visual::after{content:"";position:absolute;width:62%;height:76%;right:-17%;top:14%;border-radius:50%;background:radial-gradient(ellipse,rgba(102,227,239,.5),rgba(107,214,175,.16) 42%,transparent 72%);filter:blur(56px);opacity:.6;animation:auroraGlow 1.4s cubic-bezier(.45,0,.55,1) infinite alternate}
.aurora{position:absolute;z-index:0;inset:5% -22% 8% -15%;overflow:visible;filter:blur(36px);transform:rotate(-7deg);pointer-events:none;isolation:isolate}.aurora span{position:absolute;display:block;border-radius:50%;mix-blend-mode:screen;will-change:transform,opacity;transform-origin:center;animation-timing-function:cubic-bezier(.45,0,.55,1);animation-direction:alternate}
.aurora-pink{width:64%;height:35%;left:-10%;top:42%;background:radial-gradient(ellipse,rgba(242,67,123,.92),rgba(236,79,125,.55) 46%,transparent 74%);animation:auroraPink 1.55s cubic-bezier(.45,0,.55,1) infinite alternate}
.aurora-orange{width:54%;height:29%;left:17%;top:48%;background:radial-gradient(ellipse,rgba(255,127,73,.88),rgba(247,126,70,.38) 48%,transparent 75%);animation:auroraOrange 1.2s cubic-bezier(.45,0,.55,1) -.2s infinite alternate}
.aurora-lime{width:82%;height:56%;left:26%;top:18%;background:radial-gradient(ellipse,rgba(102,227,239,.96),rgba(45,168,212,.62) 38%,transparent 72%);animation:auroraLime 1.9s cubic-bezier(.45,0,.55,1) -.3s infinite alternate}
.aurora-cyan{width:62%;height:40%;right:-14%;top:37%;background:radial-gradient(ellipse,rgba(78,210,199,.78),rgba(65,196,194,.35) 45%,transparent 75%);animation:auroraCyan 1.7s cubic-bezier(.45,0,.55,1) -.5s infinite alternate}
.laptop{position:relative;z-index:1;width:min(100%,620px);padding:0;background:transparent;border:0;box-shadow:none;transform:none!important}.laptop .top,.laptop img,.dashboard-overlay,.screen-caption{display:none}.glow-ring{display:none}.web-badge{right:10%;bottom:16%;background:rgba(5,11,24,.74);border-color:rgba(255,255,255,.22);box-shadow:0 16px 40px rgba(0,0,0,.3);backdrop-filter:blur(14px)}
.section{padding-top:88px}.section-head{max-width:760px}.step,.service,.project-card,.value-card,.owned-site-card,.sales-product{border-radius:18px;background:rgba(8,17,33,.72);backdrop-filter:blur(10px)}
@keyframes auroraRibbon{0%{transform:translate3d(-138px,28px,0) rotate(-10deg) scaleX(.78)}50%{transform:translate3d(18px,-24px,0) rotate(9deg) scaleX(1.24)}100%{transform:translate3d(148px,20px,0) rotate(-11deg) scaleX(.86)}}
@keyframes auroraGlow{0%{opacity:.32;transform:translate3d(-110px,26px,0) scale(.68)}50%{opacity:.9;transform:translate3d(38px,-26px,0) scale(1.24)}100%{opacity:.48;transform:translate3d(126px,22px,0) scale(.8)}}
@keyframes auroraPink{0%{transform:translate(-128px,28px) rotate(-13deg) scale(.72);opacity:.46}50%{transform:translate(24px,-22px) rotate(9deg) scale(1.2);opacity:.98}100%{transform:translate(142px,24px) rotate(-7deg) scale(.82);opacity:.58}}
@keyframes auroraOrange{0%{transform:translate(-94px,24px) scale(.64);opacity:.28}50%{transform:translate(48px,-26px) scale(1.3);opacity:.94}100%{transform:translate(-46px,30px) scale(.78);opacity:.42}}
@keyframes auroraLime{0%{transform:translate(-112px,26px) rotate(10deg) scale(.68);opacity:.38}50%{transform:translate(40px,-32px) rotate(-10deg) scale(1.26);opacity:1}100%{transform:translate(142px,20px) rotate(9deg) scale(.8);opacity:.52}}
@keyframes auroraCyan{0%{transform:translate(104px,24px) scale(.66);opacity:.3}50%{transform:translate(-52px,-26px) scale(1.26);opacity:.92}100%{transform:translate(64px,28px) scale(.8);opacity:.48}}
@media(max-width:1100px){.hero{grid-template-columns:1fr;min-height:auto;text-align:center;padding-top:54px}.hero-copy{padding-top:14px}.hero-copy>p{margin-left:auto;margin-right:auto}.hero .actions,.metrics{justify-content:center}.hero-visual{min-height:420px;max-width:760px;width:100%;margin:0 auto}.web-badge{right:12%;bottom:12%}}
@media(max-width:860px){.navbar{width:calc(100% - 24px);padding:10px 14px}.brand{min-width:0}.brand-mark{width:38px!important;height:38px!important}.brand-name{font-size:1rem}.hero{width:calc(100% - 32px);padding:44px 0 60px}.hero-copy h1{font-size:clamp(3rem,13vw,5rem)}.hero-visual{min-height:330px}.hero-visual::before{width:110%;right:-10%;filter:blur(36px)}.aurora{inset:8% -12% 8% -10%;filter:blur(28px)}.web-badge{right:4%;bottom:9%}}
@media(max-width:480px){.navbar{width:calc(100% - 18px)}.brand-name{font-size:.95rem}.hero{width:calc(100% - 24px)}.hero-copy h1{font-size:clamp(2.8rem,15vw,4rem)}.hero-visual{min-height:270px}.web-badge{right:0;bottom:5%;font-size:.78rem;padding:9px 11px}}

/* Navegacion por vistas: cada menu funciona como una pagina interna sin scroll global. */
body.view-mode{min-height:100vh;height:auto;overflow-x:hidden;overflow-y:auto}
body.view-mode main{min-height:0;height:auto;overflow:visible;position:relative}

/* Ajuste mobile: lectura clara, controles tactiles y aurora contenida en pantalla. */
@media(max-width:600px){
  html{font-size:15px}
  .navbar{top:8px;margin-top:8px;width:calc(100% - 20px);min-height:58px;padding:8px 10px;border-radius:17px}
  .brand{gap:8px}.brand-mark{width:34px!important;height:34px!important}.brand-name{font-size:.95rem}
  .menu-btn{width:40px;height:40px;border-radius:12px}
  nav{top:76px;left:10px;right:10px;padding:12px;border-radius:18px;gap:7px}
  nav a{padding:12px;font-size:.86rem;min-height:44px}nav .btn-nav{padding:12px;justify-content:center}
  .hero{width:calc(100% - 28px);min-height:calc(100vh - 78px);padding:38px 0 30px;gap:4px;align-content:center}
  .hero-copy{padding-top:0;text-align:center}.hero-kicker{font-size:.78rem;letter-spacing:.16em;margin-bottom:13px}.hero-copy h1{font-size:clamp(3.7rem,19vw,5.5rem);line-height:.82;margin-bottom:22px}.hero-copy>p{font-size:.95rem;line-height:1.65;margin:0 auto;max-width:420px}
  .actions{flex-direction:column;gap:10px;margin-top:24px}.actions .btn{width:100%;min-height:48px;padding:12px 16px}
  .hero-visual{min-height:245px;width:calc(100% + 28px);margin-left:-14px;overflow:hidden}.hero-visual::before{width:155%;height:34%;right:-40%;top:42%;filter:blur(40px)}.hero-visual::after{width:78%;height:80%;right:-25%;top:12%;filter:blur(42px)}.aurora{inset:8% -36% 5% -26%;filter:blur(29px)}
  .section{width:calc(100% - 28px);padding:50px 0}.section-head{margin-bottom:25px}.section-head span{font-size:.72rem}.section-head h2{font-size:clamp(2.15rem,11vw,3rem);line-height:.98}.section-head p{font-size:.94rem;line-height:1.6}
  .process-flow{gap:10px}.step{min-height:0;padding:20px;border-radius:20px}.step h3{font-size:1.3rem}.step p{font-size:.92rem}.arrow{transform:rotate(90deg);height:24px}.arrow svg{width:25px;height:25px}
  .project-grid,.services,.sales-products,.value-grid{grid-template-columns:1fr;gap:14px}.project-card{border-radius:20px}.project-card img{height:190px}.project-card div{padding:19px}.project-card h3{font-size:1.35rem}.project-card p{font-size:.92rem}.project-features{font-size:.82rem}
  .owned-site-card{padding:21px;border-radius:20px;gap:14px}.owned-site-icon{width:56px;height:56px}.owned-site-copy h3{font-size:1.6rem}.owned-site-copy p{font-size:.92rem}.owned-site-link{width:100%;font-size:.86rem}
  .pos-section,.sales-suite{padding:28px 20px!important;border-radius:22px}.pos-copy h2{font-size:2.1rem}.pos-lead{font-size:.94rem}.sales-image{height:185px}.sales-body{padding:20px}.sales-body h3{font-size:1.3rem}
  .cta{width:calc(100% - 28px);padding:30px 20px;margin:40px auto;border-radius:24px}.cta h2{font-size:2.2rem}.cta p{font-size:.94rem}
  body.view-mode main{min-height:0;height:auto}
  .float-whatsapp{right:14px;bottom:14px;width:52px;height:52px}
}

/* Paleta final: reemplaza los acentos amarillos por el celeste de BrumaCode. */
:root{--green:#66e3ef}
body{background:
  radial-gradient(circle at 76% 34%,rgba(102,227,239,.16),transparent 18%),
  radial-gradient(circle at 86% 42%,rgba(102,227,239,.18),transparent 16%),
  radial-gradient(circle at 15% 8%,rgba(108,92,231,.12),transparent 24%),
  linear-gradient(180deg,#050b18 0%,#07111f 45%,#050b18 100%)}
body::after{background:radial-gradient(circle at 50% 100%,rgba(102,227,239,.05),transparent 38%),linear-gradient(115deg,rgba(255,255,255,.025),transparent 32%),linear-gradient(300deg,rgba(102,227,239,.05),transparent 38%)}
.primary,.btn-nav,.float-whatsapp{background:linear-gradient(135deg,#66e3ef,#2ea8d4);border-color:#66e3ef;color:#06131f;box-shadow:0 14px 32px rgba(102,227,239,.2)}
.primary:hover,.btn-nav:hover,.float-whatsapp:hover{filter:brightness(1.08)}
.project-card small{color:#66e3ef}.project-card:hover,.service:hover,.step:hover,.value-card:hover,.owned-site-card:hover,.sales-product:hover{border-color:rgba(102,227,239,.32)}
.cta,.sales-suite,.pos-section{background:linear-gradient(145deg,rgba(102,227,239,.08),rgba(8,15,27,.98) 50%,rgba(102,227,239,.06))}
.laptop{background:linear-gradient(145deg,rgba(102,227,239,.18),rgba(7,16,31,.96) 28%,rgba(102,227,239,.08))}
.pill{border-color:rgba(102,227,239,.25)}
.hero-visual::before{background:linear-gradient(90deg,rgba(239,73,126,.5),rgba(244,130,75,.62),rgba(102,227,239,.72),rgba(45,168,212,.55))}
.aurora-lime{background:radial-gradient(ellipse,rgba(102,227,239,.96),rgba(45,168,212,.62) 38%,transparent 72%)}

/* Movimiento ambiental adicional: profundidad suave sin distraer del contenido. */
body::before{content:"";position:fixed;z-index:-3;inset:-25%;pointer-events:none;background:radial-gradient(circle at 18% 30%,rgba(102,227,239,.08),transparent 22%),radial-gradient(circle at 82% 68%,rgba(124,58,237,.08),transparent 25%);filter:blur(30px);animation:ambientDrift 18s ease-in-out infinite alternate}
.orbs span{animation:orbDrift 13s ease-in-out infinite alternate}.orbs span:nth-child(2){animation-delay:-4s}.orbs span:nth-child(3){animation-delay:-8s}
@keyframes ambientDrift{from{transform:translate3d(-3%, -2%, 0) rotate(-2deg) scale(.96)}to{transform:translate3d(3%, 2%, 0) rotate(2deg) scale(1.04)}}
@keyframes orbDrift{from{transform:translate3d(-18px,12px,0) scale(.92)}to{transform:translate3d(24px,-18px,0) scale(1.08)}}
@media(max-width:860px){.orbs{display:block;opacity:.22}.orbs span{filter:blur(55px);transform:scale(.7)}}
@media(prefers-reduced-motion:reduce){body::before,.orbs span{animation:none}}

/* Rendimiento: conserva la bruma, pero mueve las capas en compositor. */
.hero-visual::before,.hero-visual::after,.aurora,.aurora span,body::before,.orbs span{will-change:transform,opacity;backface-visibility:hidden;transform-style:preserve-3d}
.aurora{filter:blur(25px)}
.hero-visual::before{filter:blur(42px)}
.hero-visual::after{filter:blur(43px)}
body::before{filter:blur(20px);animation-duration:26s}
.orbs span{filter:blur(34px);animation-duration:18s}
@media(max-width:860px){
  .aurora{filter:blur(21px)}
  .hero-visual::before{filter:blur(32px)}
  .hero-visual::after{filter:blur(34px)}
  body::before{filter:blur(16px);animation-duration:32s}
  .orbs{display:none}
  .navbar,.step,.service,.project-card,.value-card,.owned-site-card,.sales-product{backdrop-filter:none}
}

/* Modo fluido: solo la bruma se mueve; el contenido permanece estable. */
.aurora-orange,.aurora-cyan{display:none}
.aurora-pink{animation-duration:4.8s}
.aurora-lime{animation-duration:5.4s}
.hero-visual::before{animation-duration:5.2s}
.hero-visual::after{animation-duration:4.6s}
.step::before,.arrow,.dash-sidebar span,.dash-kpis div,.dash-chart::before,.dash-chart i,.dash-lines span,.web-badge{animation:none!important}
.aurora span{mix-blend-mode:normal;contain:paint}
@media(max-width:600px){
  body::before{display:none}
  .hero-visual::before{filter:blur(26px);opacity:.55}
  .hero-visual::after{filter:blur(28px);opacity:.5}
  .aurora{filter:blur(18px)}
}

/* Paisaje de Chiloé: permanece discreto detrás de la bruma y el contenido. */
.chiloe-backdrop{position:absolute;z-index:-3;inset:-84px -104px -52px;background-image:linear-gradient(90deg,rgba(3,10,25,.9) 0%,rgba(3,10,25,.68) 34%,rgba(3,10,25,.14) 70%,rgba(3,10,25,.4) 100%),linear-gradient(180deg,rgba(3,10,25,.48) 0%,rgba(3,10,25,.03) 48%,rgba(3,10,25,.46) 100%),url("assets/chiloe-hero-bg.png");background-size:cover;background-position:center right;opacity:.9;pointer-events:none;filter:saturate(1) contrast(1.02)}
@media(max-width:860px){.chiloe-backdrop{inset:-38px -30px -42px;background-position:64% center;opacity:.78}}

/* La bruma acompaña únicamente las montañas del paisaje de Chiloé. */
.hero::before,.hero::after{display:none}.hero-visual{overflow:hidden}.hero-visual::before{width:82%;height:29%;right:-3%;top:33%;border-radius:52% 48% 44% 56%;background:linear-gradient(90deg,rgba(89,185,204,.08),rgba(144,226,223,.46),rgba(114,189,199,.22));filter:blur(35px);opacity:.72;animation:mountainMist 7s ease-in-out infinite alternate}.hero-visual::after{display:none}.aurora{inset:19% -8% 31% 18%;filter:blur(27px);clip-path:ellipse(57% 43% at 61% 50%);transform:none}.aurora-pink{display:none}.aurora-lime{width:93%;height:72%;left:7%;top:12%;background:radial-gradient(ellipse,rgba(157,233,221,.46),rgba(78,176,193,.24) 46%,transparent 74%);animation:mountainMist 8s ease-in-out infinite alternate}.aurora-orange,.aurora-cyan{display:none}@keyframes mountainMist{from{transform:translate3d(-22px,6px,0) scale(.94);opacity:.5}to{transform:translate3d(28px,-8px,0) scale(1.08);opacity:.88}}@media(max-width:860px){.hero-visual::before{width:98%;right:-10%;top:34%;filter:blur(29px)}.aurora{inset:20% -8% 32% 12%;filter:blur(23px)}}

/* Bruma extendida: sin formas circulares, siguiendo el relieve de la montaña. */
.hero-visual{overflow:visible}.hero-visual::before{width:150%;height:36%;right:-27%;top:30%;border-radius:0;background:linear-gradient(90deg,transparent 0%,rgba(102,188,202,.12) 14%,rgba(170,235,225,.5) 43%,rgba(141,215,211,.38) 68%,rgba(77,164,187,.08) 100%);filter:blur(32px);opacity:.78}.aurora{inset:15% -25% 27% -4%;clip-path:none;filter:blur(24px)}.aurora-lime{width:122%;height:66%;left:-4%;top:18%;border-radius:0;background:linear-gradient(90deg,transparent,rgba(149,225,217,.3) 28%,rgba(124,201,204,.26) 64%,transparent);filter:blur(17px)}

/* Presentación principal: clara, concreta y enfocada en la cotización. */
.hero-copy .hero-intro{max-width:545px;margin:0 0 12px;color:#f5f8fc;font-size:1.18rem;font-weight:650;line-height:1.48}.hero-copy .hero-detail{max-width:520px;margin:0;color:#b8c4d5;font-size:.98rem;line-height:1.68}.hero-copy .actions{margin-top:26px}.hero-copy .primary{min-width:190px}@media(max-width:860px){.hero-copy .hero-intro{margin-left:auto;margin-right:auto;font-size:1.05rem}.hero-copy .hero-detail{margin-left:auto;margin-right:auto;font-size:.93rem}}

/* Solo la descripción principal comparte la misma tipografía y peso. */
.hero-copy .hero-intro,.hero-copy .hero-detail{font-family:"Poppins",Arial,sans-serif;font-weight:500;letter-spacing:-.015em}

/* Presentación como la referencia: mensaje principal firme y detalle liviano. */


/* Neblina baja sobre el mar, separada de la capa de las montañas. */
.hero-visual::after{display:block;width:90%;height:13%;right:-2%;top:74%;border-radius:50%;background:linear-gradient(90deg,transparent,rgba(125,218,221,.28) 35%,rgba(196,237,229,.42) 58%,rgba(72,165,185,.16));filter:blur(22px);opacity:.54;animation:seaMist 9s ease-in-out infinite alternate}@keyframes seaMist{from{transform:translateX(-20px) scaleX(.92);opacity:.35}to{transform:translateX(24px) scaleX(1.08);opacity:.65}}@media(max-width:860px){.hero-visual::after{top:73%;width:105%;right:-8%;filter:blur(18px)}}

/* Portafolio: cada proyecto se presenta como una pieza editorial. */
.projects .section-head{display:grid;grid-template-columns:minmax(0,1fr) 260px;column-gap:44px;align-items:end;max-width:none}.projects .section-head span,.projects .section-head h2{grid-column:1}.projects .section-head p{grid-column:2;grid-row:1 / span 2;margin-bottom:2px;padding:0 0 0 19px;border-left:1px solid rgba(102,227,239,.48)}.project-grid{grid-template-columns:1.16fr .92fr .92fr;gap:18px}.project-card{position:relative;border-radius:20px;background:linear-gradient(160deg,rgba(14,28,53,.93),rgba(5,12,27,.94));box-shadow:0 16px 34px rgba(0,0,0,.15)}.project-card:first-child{grid-row:span 1}.project-visual{position:relative;height:205px;overflow:hidden;background:#0a162a}.project-card:first-child .project-visual{height:244px}.project-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(4,10,23,.76))}.project-visual img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .5s ease,filter .5s ease}.project-card:hover .project-visual img{transform:scale(1.06);filter:saturate(1.08)}.project-index,.project-kind{position:absolute;z-index:1;font-weight:900;letter-spacing:.08em}.project-index{top:14px;left:14px;display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.38);border-radius:50%;background:rgba(5,13,28,.72);backdrop-filter:blur(10px);font-size:.74rem}.project-kind{right:13px;bottom:13px;padding:7px 10px;border-radius:999px;background:rgba(5,13,28,.74);border:1px solid rgba(255,255,255,.17);color:#c9faff;font-size:.67rem;text-transform:uppercase}.project-card div:not(.project-visual){padding:23px 22px 25px}.project-card:first-child div:not(.project-visual){padding:25px}.project-card h3{font-size:1.35rem;line-height:1.12;margin:9px 0 10px}.project-card:first-child h3{font-size:1.62rem}.project-card p{font-size:.91rem}.project-features{padding-top:2px;border-top:1px solid rgba(255,255,255,.09)}.card-link{margin-top:19px;color:#c9faff}.project-card:hover{transform:translateY(-5px);border-color:rgba(102,227,239,.52)}@media(max-width:900px){.projects .section-head{display:block}.projects .section-head p{margin-top:16px;padding-left:0;border-left:0}.project-grid{grid-template-columns:1fr}.project-card:first-child .project-visual,.project-visual{height:230px}.project-card:first-child h3{font-size:1.4rem}}

/* Catálogo de productos: una presentación limpia para soluciones listas para usar. */
.sales-suite{position:relative;overflow:hidden;padding:64px!important;border-radius:28px;background:linear-gradient(145deg,rgba(102,227,239,.11),rgba(8,17,33,.96) 38%,rgba(10,19,35,.98));box-shadow:inset 0 1px rgba(255,255,255,.08),0 24px 55px rgba(0,0,0,.16)}.sales-suite::before{content:"SOLUCIONES DISPONIBLES";position:absolute;right:42px;top:34px;color:rgba(190,248,255,.52);font-size:.7rem;font-weight:800;letter-spacing:.16em}.sales-suite .pos-copy{max-width:770px}.sales-suite .pos-copy h2{max-width:670px;margin:14px 0 18px}.sales-suite .pos-lead{max-width:700px}.sales-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:44px}.sales-product{border-radius:18px;background:rgba(4,12,27,.64);border-color:rgba(255,255,255,.12);box-shadow:none}.sales-product:hover{transform:translateY(-5px);border-color:rgba(102,227,239,.55)}.sales-product-featured{border-color:rgba(102,227,239,.52);background:linear-gradient(180deg,rgba(17,42,66,.75),rgba(5,13,28,.88))}.sales-image{height:234px;border-bottom:1px solid rgba(255,255,255,.1)}.sales-image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(4,12,27,.58))}.coach-image img{object-position:center}.sales-body{padding:24px}.sales-body h3{font-size:1.3rem;line-height:1.15;margin:14px 0 10px}.sales-body p{font-size:.91rem;line-height:1.65}.product-tag{background:rgba(90,222,173,.14);color:#a7f3cf;border:1px solid rgba(90,222,173,.24)}.product-button{width:100%;min-height:44px;margin-top:22px;border-radius:10px;font-size:.88rem}.restaurant-image{position:relative;overflow:hidden}.restaurant-image::after{display:none}@media(max-width:980px){.sales-suite{padding:42px 28px!important}.sales-products{grid-template-columns:1fr}.sales-image{height:230px}.sales-suite::before{right:28px;top:24px}}@media(max-width:600px){.sales-suite{padding:32px 20px!important}.sales-suite::before{position:static;display:block;margin-bottom:18px;font-size:.64rem}.sales-products{margin-top:30px}.sales-image{height:190px}.sales-body{padding:21px}}

/* Galería de capturas dentro del detalle de cada proyecto. */
.modal-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.modal-gallery[hidden]{display:none}.modal-thumb{overflow:hidden;padding:0;border:2px solid transparent;border-radius:10px;background:#0b1b30;cursor:pointer;opacity:.7;transition:border-color .2s ease,opacity .2s ease,transform .2s ease}.modal-thumb:hover,.modal-thumb:focus-visible{opacity:1;transform:translateY(-2px)}.modal-thumb.active{border-color:#66e3ef;opacity:1}.modal-thumb img{display:block;width:100%;height:72px;object-fit:cover}.modal-thumb:first-child img{object-position:center}@media(max-width:600px){.modal-gallery{gap:7px}.modal-thumb img{height:54px}}

/* Cuadrícula equilibrada para los cuatro casos de uso del portafolio. */
.projects .project-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.projects .project-card{border-radius:15px}.projects .project-visual,.projects .project-card:first-child .project-visual{height:145px}.projects .project-index{top:10px;left:10px;width:31px;height:31px;font-size:.65rem}.projects .project-kind{right:9px;bottom:9px;padding:5px 8px;font-size:.58rem}.projects .project-card div:not(.project-visual),.projects .project-card:first-child div:not(.project-visual){padding:16px}.projects .project-card small{font-size:.65rem;letter-spacing:.07em}.projects .project-card h3,.projects .project-card:first-child h3{min-height:2.25em;margin:7px 0 13px;font-size:1.05rem;line-height:1.12}.projects .card-link{margin-top:0;font-size:.8rem}@media(max-width:1100px){.projects .project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.projects .project-grid{grid-template-columns:1fr}.projects .project-visual,.projects .project-card:first-child .project-visual{height:180px}.projects .project-card h3,.projects .project-card:first-child h3{min-height:0}}

/* El detalle concentra la información extensa y las capturas. */
.modal{overflow-y:auto}.modal-box{max-height:calc(100vh - 48px);overflow-y:auto;padding:26px;border:1px solid rgba(255,255,255,.14);border-radius:22px;background:#071426;box-shadow:0 28px 80px rgba(0,0,0,.48)}.modal-box>img{max-height:52vh;border-radius:14px}.modal-box #modalReview{font-size:1rem}.modal-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 20px;margin:16px 0 0;padding:16px 0 0;border-top:1px solid rgba(255,255,255,.1);list-style:none;color:#d6e3f1}.modal-features li{display:flex;gap:9px;line-height:1.5}.modal-features li::before{content:"";width:7px;height:7px;flex:0 0 auto;margin-top:8px;border-radius:50%;background:#66e3ef;box-shadow:0 0 10px rgba(102,227,239,.45)}@media(max-width:600px){.modal-box{padding:18px}.modal-box>img{max-height:44vh}.modal-features{grid-template-columns:1fr}}
