:root{color-scheme:dark;--bg:#06101b;--panel:#101e2e;--text:#f6f9ff;--muted:#a7b8cc;--blue:#169fff;--green:#00cf80;--max:1180px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px;overflow-x:clip}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}button{font:inherit}svg{display:block}img{max-width:100%}
a:focus-visible,button:focus-visible{outline:3px solid #61bdff;outline-offset:4px;border-radius:4px}
::selection{background:#1487c8;color:white}
.container{width:min(calc(100% - 64px),var(--max));margin-inline:auto}.section{position:relative}
.skip-link{position:absolute;left:12px;top:-50px;z-index:99;background:#fff;color:#000;padding:8px}.skip-link:focus{top:10px}
.ambient{pointer-events:none;position:absolute;border-radius:50%;filter:blur(100px);opacity:.25;z-index:-1}
.ambient-a{width:min(500px,100vw);height:500px;top:130px;right:0;background:#0958b0}
.ambient-b{width:380px;height:380px;top:900px;left:-200px;background:#0958b0}
.site-header{position:relative;z-index:20;border-bottom:1px solid #85afe61c;background:#040c16e0;backdrop-filter:blur(16px)}
.header-inner{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}
.brand img{filter:drop-shadow(0 0 13px #0094ff30)}
.brand-label{display:flex;flex-direction:column;gap:1px}
.brand-label strong{font-weight:850;font-size:24px;letter-spacing:-1px;line-height:1.02}
.brand-label small{font-size:11px;color:#ccd5e5;letter-spacing:.05em}
.main-nav{display:flex;align-items:center;gap:22px}
.main-nav a{color:#c4cfde;font-size:13px;font-weight:600;transition:color .2s}
.main-nav a:hover,.main-nav a.active{color:#37b4ff}
.main-nav a.active{position:relative}.main-nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:-12px;height:2px;background:var(--blue)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;border-radius:11px;font-size:13px;font-weight:750;padding:16px 22px;white-space:nowrap;transition:transform .2s,box-shadow .2s,border-color .2s}
.btn:hover{transform:translateY(-2px)}.btn svg{width:18px;height:18px}
.btn-green{background:#05c878;color:#fff;box-shadow:0 8px 24px #00c87329}
.btn-primary{background:#168df2;color:#fff;box-shadow:0 10px 28px #0082ff38}
.btn-outline{border:1px solid #218feb;background:#071524;color:white}.btn-outline:hover{border-color:#80caff}
.menu-toggle{display:none}
.hero{padding:82px 0 36px;overflow:hidden;background:radial-gradient(ellipse at 80% 38%,#0b468938,transparent 51%)}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:36px;min-height:405px}
.hero-copy{position:relative;z-index:2}
.eyebrow{font-size:12px;letter-spacing:.18em;color:#2aaeff;font-weight:800;margin:0 0 20px}
.eyebrow-dot{width:7px;height:7px;display:inline-block;border-radius:50%;background:#29acfe;margin-right:7px;box-shadow:0 0 15px #29acfe}
.hero h1{font-size:clamp(43px,5.1vw,69px);line-height:1.07;letter-spacing:-.055em;margin:0 0 24px;max-width:690px;font-weight:850}
.hero h1 span,.section-heading h2 span,.about h2 span,.contact h2 span{color:var(--blue)}
.hero-lead{color:#b6c4d8;font-size:17px;line-height:1.68;max-width:550px;margin:0 0 30px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.hero-actions .btn{min-width:165px}.hero-actions .btn span{font-size:20px;font-weight:500}
.hero-note{color:#7596b2;font-size:11px;letter-spacing:.035em;margin-top:27px;display:flex;align-items:center;gap:9px}
.status-indicator{display:inline-block;width:8px;height:8px;background:#19ce8c;border-radius:50%;box-shadow:0 0 10px #16cf89cc;flex-shrink:0}
.hero-art{position:relative;height:420px;min-width:0;display:flex;align-items:center;justify-content:center;perspective:900px;overflow:clip}
.orb{position:absolute;border-radius:50%;filter:blur(14px)}
.orb-one{width:380px;height:250px;background:radial-gradient(ellipse,#0653ac8c,transparent 67%);top:38px;right:6%}
.orb-two{width:320px;height:120px;background:radial-gradient(ellipse,#1fafff58,transparent 67%);bottom:2px;right:15%}
.art-grid{position:absolute;inset:0;opacity:.4;background-image:linear-gradient(#1a578f40 1px,transparent 1px),linear-gradient(90deg,#1a578f40 1px,transparent 1px);background-size:32px 32px;mask-image:radial-gradient(ellipse,black,transparent 68%);transform:rotateX(56deg) scale(1.4)}
.laptop{position:relative;width:92%;max-width:510px;transform:rotate(-3deg) translateY(18px);filter:drop-shadow(0 22px 30px #0008)}
.laptop-screen{width:86%;aspect-ratio:1.48;margin:0 auto;background:radial-gradient(circle at 50% 30%,#112e4b,#030a14 67%);border:10px solid #192d43;border-radius:18px 18px 6px 6px;box-shadow:inset 0 0 0 1px #4386ba55,0 0 45px #0a79b355;display:flex;align-items:center;justify-content:center;flex-direction:column;overflow:hidden;position:relative}
.laptop-screen:before{content:"";position:absolute;inset:0;border:1px solid #104e7d}
.laptop-screen img{margin-bottom:10px;width:77px;height:77px;z-index:2}
.laptop-screen strong{font-size:31px;font-weight:870;letter-spacing:-.05em;z-index:2}
.laptop-screen span{font-size:11px;color:#6cc8ff;z-index:2}
.screen-sheen{position:absolute;width:130%;height:45%;left:-15%;top:-35%;background:linear-gradient(120deg,transparent,#d5f2ff12,transparent);transform:rotate(-20deg)}
.circuit{position:absolute;width:150px;height:150px;border-top:1px solid #1673bc88;border-right:1px solid #1673bc88;transform:rotate(22deg);opacity:.6}
.circuit-top{right:-60px;top:-53px}.circuit-bottom{left:-68px;bottom:-70px}
.laptop-base{height:18px;background:linear-gradient(180deg,#768da4 0,#30485f 30%,#142639 65%,#061321 100%);clip-path:polygon(8% 0,92% 0,100% 90%,97% 100%,3% 100%,0 90%);border-radius:0 0 30px 30px;position:relative;box-shadow:0 10px 6px #0008}
.laptop-notch{position:absolute;left:41%;width:18%;top:1px;height:4px;background:#bbd2e7a0;border-radius:0 0 8px 8px}
.art-tag{position:absolute;z-index:2;background:#0e2135e3;backdrop-filter:blur(12px);border:1px solid #23517a;border-radius:9px;padding:11px 15px;font-size:10px;font-weight:800;letter-spacing:.08em;box-shadow:0 10px 25px #0005}
.art-tag-top{right:0;top:65px;color:#61c2ff}.art-tag-top span{margin-left:8px}
.art-tag-bottom{left:0;bottom:35px;display:flex;align-items:center;gap:9px;color:#dce9f8}
.benefit-row{margin-top:44px;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;border-top:1px solid #21406780;padding-top:26px}
.benefit{display:flex;align-items:center;gap:13px;min-width:0}.icon-bubble{font-size:24px;color:#2caaff;background:#102d4e;display:flex;justify-content:center;align-items:center;width:46px;height:46px;border-radius:50%;flex-shrink:0}
.benefit strong{display:block;font-size:12px}.benefit small{display:block;color:#93a9c3;font-size:11px;line-height:1.5;margin-top:4px}
.services{padding:90px 0 75px;background:linear-gradient(180deg,#081725,#091623);border-block:1px solid #1c375450}
.section-heading{margin-bottom:36px;max-width:750px}.section-heading.centered{text-align:center;margin-inline:auto}
.section-heading h2,.about h2,.contact h2{font-size:clamp(34px,3.8vw,49px);line-height:1.12;letter-spacing:-.04em;margin:0 0 13px}
.section-heading p:not(.eyebrow){color:#99acc4;font-size:15px;line-height:1.65;margin:0}
.section-heading .eyebrow{margin-bottom:13px}
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}
.service-card{min-width:0;border:1px solid var(--border);border-radius:16px;padding:25px 22px 22px;min-height:317px;display:flex;flex-direction:column;background:linear-gradient(137deg,var(--tint),#101b2a 80%);transition:transform .25s,border-color .25s,box-shadow .25s}
.service-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px #0003}
.service-card.blue{--border:#1a5990;--accent:#269cff;--tint:#0c2a47}
.service-card.green{--border:#136f5b;--accent:#05df94;--tint:#073c36}
.service-card.violet{--border:#63418a;--accent:#b168ff;--tint:#291d46}
.service-card.orange{--border:#82532f;--accent:#ff9b36;--tint:#32271e}
.service-icon{width:50px;height:55px;color:var(--accent);display:flex;align-items:center}
.service-icon svg{width:43px;height:43px;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
.service-card h3{font-size:18px;letter-spacing:-.02em;margin:15px 0 12px}
.service-card p{font-size:13px;line-height:1.65;color:#bac7d9;margin:0 0 23px}
.service-card>a{display:inline-flex;align-items:center;justify-content:space-between;align-self:start;color:var(--accent);font-size:12px;font-weight:780;border:1px solid var(--accent);border-radius:999px;padding:10px 13px;margin-top:auto;gap:9px;transition:background .2s}
.service-card>a:hover{background:#ffffff11}
.coverage-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:25px;padding:27px 30px;background:#edf5ff;color:#11243a;border-radius:16px}
.coverage-strip>div{display:flex;align-items:start;gap:15px}.strip-symbol{color:#168ef3;font-weight:700;font-size:30px;line-height:1;min-width:35px}
.coverage-strip strong{font-size:13px}.coverage-strip p{font-size:11px;line-height:1.6;color:#445773;margin:5px 0 0}
.projects{padding:92px 0 86px;background:radial-gradient(ellipse at 60% 35%,#0f284533,transparent 65%)}
.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.project{border:1px solid #25394c;border-radius:18px;overflow:hidden;background:#0e1a28}
.project-visual{height:260px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
.project-nutri{background:radial-gradient(circle at 50% 50%,#115a5a,#0b2430 62%,#071a26)}
.project-converter{background:radial-gradient(circle at 50% 50%,#1b5694,#0d2c52 57%,#0a1c35)}
.project-badge{position:absolute;top:18px;left:19px;background:#03111dbb;border:1px solid #ffffff28;border-radius:999px;padding:8px 12px;color:#deefff;font-size:10px;font-weight:700;z-index:2}
.app-preview{height:170px;width:280px;background:#f5fafb;border-radius:11px;box-shadow:0 16px 60px #0009;transform:rotate(-4deg) translateY(17px);display:flex;overflow:hidden}
.app-sidebar{width:46px;background:#135e66;padding:23px 12px;display:flex;flex-direction:column;gap:14px}
.app-sidebar i{display:block;width:19px;height:8px;border-radius:4px;background:#8cdbd1}
.app-body{flex:1;padding:22px}.app-title{width:130px;height:13px;border-radius:8px;background:#b5ced5}
.app-charts{height:63px;display:flex;align-items:end;gap:11px;margin-top:16px}
.app-charts span{width:22px;border-radius:3px 3px 0 0;background:#28a896}
.app-charts span:nth-child(1){height:28px}.app-charts span:nth-child(2){height:42px}.app-charts span:nth-child(3){height:33px}.app-charts span:nth-child(4){height:58px}.app-charts span:nth-child(5){height:48px}
.app-lines{margin-top:10px}.app-lines i{display:block;background:#c8dbe1;border-radius:4px;width:100%;height:7px;margin-bottom:5px}.app-lines i:nth-child(2){width:67%}
.converter-preview{background:#08172e;border:1px solid #3673ba;border-radius:24px;padding:31px 42px;display:flex;flex-direction:column;align-items:center;transform:rotate(4deg) translateY(16px);box-shadow:0 20px 60px #0006}
.converter-icon{width:76px;height:76px;border-radius:22px;display:flex;align-items:center;justify-content:center;background:linear-gradient(130deg,#148cf1,#26d8f9);font-size:54px;line-height:1;font-weight:700}
.converter-bars{display:flex;gap:9px;margin-top:25px}.converter-bars span{width:60px;height:12px;background:#1d477d;border-radius:20px}.converter-bars span:nth-child(2){width:38px;background:#3fa7ff}
.converter-caption{font-size:9px;letter-spacing:.2em;color:#8fc9f5;margin-top:16px}
.project-info{padding:25px 27px 28px}.project-info h3{font-size:21px;margin:0 0 10px}.project-info p{color:#b2c2d4;font-size:13px;line-height:1.65;margin:0 0 20px}.project-info>span{font-size:10px;font-weight:800;letter-spacing:.13em;color:#47afff}
.about{padding:70px 0 90px;border-block:1px solid #1c375450;background:#0a1726}.about-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:100px;align-items:center}
.about h2{margin-bottom:20px}.about p:not(.eyebrow){color:#aebfd1;line-height:1.75;font-size:15px;max-width:600px}
.about-panel{border:1px solid #1a5a8c;background:linear-gradient(130deg,#0e2e4a,#0b1c30);padding:35px;border-radius:20px;box-shadow:0 20px 55px #0002}
.about-panel-icon{font-size:55px;color:#199fff;font-weight:800}.about-panel p{font-size:16px!important;margin:14px 0 10px}.about-panel strong{font-size:20px;line-height:1.4;display:block}
.contact{padding:70px 0;background:radial-gradient(ellipse at 40% 80%,#0a397044,transparent 70%)}
.contact-box{display:flex;align-items:center;justify-content:space-between;gap:32px;border:1px solid #23507b;border-radius:20px;padding:38px 42px;background:linear-gradient(90deg,#0b2742,#071524)}
.contact h2{font-size:38px}.contact .eyebrow{margin-bottom:14px}.contact p:not(.eyebrow){color:#afc0d4;margin:0;font-size:14px}
.contact-actions{display:flex;flex-direction:column;align-items:center;gap:12px;min-width:290px}
.contact-pill{border:1px solid #27789c;color:#c7d8e7;background:#072c3a;padding:15px 18px;border-radius:10px;display:flex;align-items:center;gap:11px;font-size:12px;font-weight:600}
.contact-sub{color:#859db5;font-size:11px}
.site-footer{border-top:1px solid #1a3955;background:#050e18}
.footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-block:29px}
.footer-top .brand-label strong{font-size:19px}.footer-top .brand-label small{font-size:9px}.footer-top nav{display:flex;gap:24px}
.footer-top nav a,.footer-location{font-size:12px;color:#94a7bf}.footer-top nav a:hover{color:white}
.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #1b2e3f;padding:15px 0 23px;font-size:10px;color:#71869e}
@media(max-width:1080px){
 .header-cta{display:none}.header-inner{gap:16px}.main-nav{gap:22px}.hero-grid{gap:10px}
 .hero h1{font-size:clamp(44px,5.2vw,61px)}.services-grid{grid-template-columns:repeat(2,1fr)}
 .service-card{min-height:278px}.about-layout{gap:45px}
}
@media(max-width:760px){
 .container{width:min(calc(100% - 38px),var(--max))}.header-inner{min-height:74px}.brand-label strong{font-size:22px}
 .menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;border:1px solid #254b6e;background:#0a1b2e;border-radius:9px;align-items:center;cursor:pointer;margin-left:auto}
 .menu-toggle span{height:2px;width:19px;background:#b6e1fb}
 .main-nav{display:none;position:absolute;left:0;right:0;top:74px;background:#071625;border-bottom:1px solid #224365;padding:16px 20px 20px;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 10px 30px #0008}
 .main-nav.open{display:flex}.main-nav a{font-size:14px;padding:13px 18px;border-radius:7px}.main-nav a.active:after{display:none}.main-nav a:hover{background:#152d43}
 .hero{padding:54px 0 30px}.hero-grid{display:flex;flex-direction:column;gap:20px;min-height:0}.hero-copy{text-align:left}
 .hero h1{font-size:clamp(40px,10vw,60px);max-width:600px}.hero-lead{font-size:15px}
 .hero-art{height:325px;width:100%;max-width:520px}.art-tag-top{right:6px;top:40px}.art-tag-bottom{left:0;bottom:12px}.laptop{width:88%}
 .benefit-row{margin-top:16px;grid-template-columns:repeat(2,1fr);row-gap:22px}
 .services{padding:70px 0 65px}.service-card{min-height:287px}.coverage-strip{grid-template-columns:1fr;gap:20px}
 .projects{padding:65px 0}.projects-grid{grid-template-columns:1fr}.about{padding:60px 0}.about-layout{grid-template-columns:1fr;gap:20px}.about-panel{padding:28px}
 .contact{padding:50px 0}.contact-box{flex-direction:column;align-items:stretch;padding:27px}.contact h2{font-size:34px}.contact-actions{align-items:start;min-width:0}
 .footer-top{flex-wrap:wrap}.footer-top nav{order:3;flex-basis:100%;justify-content:space-between;gap:12px}.footer-location{margin-left:auto}
}
@media(max-width:490px){
 .container{width:calc(100% - 32px)}.hero h1{font-size:42px}.hero .eyebrow{font-size:10px}
 .hero-actions{flex-direction:column}.hero-actions .btn{width:100%}.hero-art{height:285px}
 .laptop-screen{border-width:6px}.laptop-screen img{width:50px;height:50px}.laptop-screen strong{font-size:25px}
 .art-tag{padding:8px 9px;font-size:8px}.benefit-row{grid-template-columns:1fr 1fr;gap:18px 7px}
 .benefit{gap:8px;align-items:start}.icon-bubble{width:34px;height:34px;font-size:17px}.benefit strong{font-size:11px}.benefit small{font-size:10px}
 .services-grid{grid-template-columns:1fr}.service-card{min-height:265px}.coverage-strip{padding:22px 19px}
 .project-visual{height:230px}.footer-top nav{flex-wrap:wrap;justify-content:flex-start;gap:12px 20px}
 .footer-bottom{flex-direction:column;gap:6px}.contact-pill{font-size:11px;padding:11px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* LUVA-DEV 2.0 | Interfaz moderna y catálogo */
.scroll-progress{position:fixed;inset:0 0 auto;height:3px;z-index:110;background:linear-gradient(90deg,#168df2,#27d7ce,#05c878);transform:scaleX(0);transform-origin:left;pointer-events:none}
.site-header{position:sticky;top:0;box-shadow:0 12px 35px #01081323}
.hero{background:radial-gradient(ellipse at 80% 35%,#195ba344,transparent 53%),radial-gradient(ellipse at 5% 86%,#0d5e3d23,transparent 58%)}
.hero-chips{display:flex;flex-wrap:wrap;gap:8px;margin:-10px 0 26px}
.hero-chips span{border:1px solid #295374;background:#0d2943;color:#b8e8fa;border-radius:999px;font-size:11px;padding:8px 11px;font-weight:700}
.btn{position:relative;overflow:hidden}
.btn:after{content:"";position:absolute;top:0;left:-130%;width:60%;height:100%;background:linear-gradient(90deg,transparent,#fff3,transparent);transform:skewX(-20deg);transition:left .6s;pointer-events:none}
.btn:hover:after{left:140%}
.hero-art .laptop{animation:luva-float 7s ease-in-out infinite}
.hero-art .art-tag{animation:luva-tag 6s ease-in-out infinite}
.hero-art .art-tag-bottom{animation-delay:-3s}
.orb-one,.orb-two{animation:luva-orb 12s ease-in-out infinite alternate}
.service-card{position:relative;overflow:hidden}
.service-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 100% 0%,var(--accent),transparent 55%);opacity:.08;transition:opacity .3s;pointer-events:none}
.service-card:hover:before{opacity:.20}
.project{transition:transform .3s,border-color .3s,box-shadow .3s}
.project:hover{transform:translateY(-5px);border-color:#3e8aab;box-shadow:0 20px 45px #0003}
.catalogs{padding:100px 0 115px;border-block:1px solid #23605b;overflow:hidden;background:radial-gradient(ellipse at 78% 35%,#1369513b,transparent 57%),linear-gradient(125deg,#071624,#081f2b)}
.catalog-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:65px}
.catalog-copy h2{font-size:clamp(38px,4.4vw,57px);letter-spacing:-.055em;line-height:1.1;margin:0 0 22px}
.catalog-copy h2 span{color:#3be1b1}
.catalog-lead{color:#b6c9d8;line-height:1.72;font-size:16px;margin:0 0 28px}
.catalog-features{display:flex;flex-direction:column;gap:18px;margin-bottom:25px}
.catalog-features>div{display:flex;align-items:start;gap:15px}
.catalog-features>div>span{min-width:38px;height:38px;border:1px solid #1a7c65;border-radius:10px;display:grid;place-items:center;background:#0c3937;color:#52e2b5;font-size:11px;font-weight:850}
.catalog-features strong{display:block;font-size:14px;margin-bottom:6px}
.catalog-features p{font-size:12px;line-height:1.65;color:#a3b8ca;margin:0}
.catalog-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:27px}
.catalog-tags span{font-size:11px;color:#a6e6d4;border-radius:999px;border:1px solid #21675c;background:#0d3235;padding:7px 10px}
.catalog-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px}
.catalog-actions>a:not(.btn){font-size:12px;font-weight:800;color:#b9d1e3}
.catalog-actions>a:not(.btn):hover{color:#fff}
.catalog-fineprint{font-size:11px;color:#819aab;line-height:1.65;margin:18px 0 0}
.catalog-showcase{position:relative;max-width:560px;width:100%;min-width:0;margin:auto}
.showcase-glow{position:absolute;inset:5% -12%;background:radial-gradient(ellipse,#10987a66,transparent 65%);filter:blur(66px)}
.demo-window{background:#fff;position:relative;color:#273747;border-radius:20px;overflow:hidden;border:1px solid #b9e3dc;box-shadow:0 38px 80px #0009,0 0 0 7px #effff00c;transform:rotate(1.5deg);transition:transform .4s,box-shadow .4s}
.demo-window:hover{transform:rotate(0deg) translateY(-5px);box-shadow:0 45px 95px #000a}
.demo-toolbar{height:34px;background:#edf2f4;display:flex;align-items:center;justify-content:space-between;padding:0 15px;color:#8596a5;font-size:11px}
.demo-dots{display:flex;gap:4px}
.demo-dots i{width:7px;height:7px;border-radius:50%;background:#ff9a9d}
.demo-dots i:nth-child(2){background:#f8c66c}.demo-dots i:nth-child(3){background:#65d1a6}
.demo-url{font-size:10px;background:#fff;border-radius:5px;padding:4px 37px}
.demo-content{padding:20px}
.demo-brand{display:flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.06em;margin-bottom:15px}
.demo-brand>span{width:26px;height:26px;display:grid;place-items:center;background:#1a3d43;color:#fff;border-radius:8px}
.demo-brand>small{margin-left:auto;font-size:19px;color:#81919a}
.demo-banner{position:relative;overflow:hidden;border-radius:12px;padding:23px;background:linear-gradient(110deg,#102f3c,#276f64);color:#fff;min-height:135px;transition:background .3s}
.demo-banner:after{content:"✧";position:absolute;right:0;top:-49px;color:#ffffff1b;font-size:155px;pointer-events:none}
.demo-banner small{font-size:9px;font-weight:850;letter-spacing:.14em;color:#b7f5db}
.demo-banner h3{font-size:clamp(21px,2.4vw,29px);line-height:1.12;letter-spacing:-.04em;margin:9px 0;max-width:275px;position:relative;z-index:1}
.demo-banner p{margin:0;font-size:10px;color:#e2f9ef}
.demo-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:20px 0 11px}
.demo-heading strong{font-size:14px}
.demo-heading small{font-size:9px;color:#8495a2}
.demo-tabs{display:flex;gap:7px;margin:0 0 14px}
.demo-tabs button{cursor:pointer;font-size:10px;font-weight:800;padding:7px 13px;border:1px solid transparent;border-radius:999px;background:#eef3f5;color:#657887;transition:transform .2s,background .2s}
.demo-tabs button:hover{transform:translateY(-2px)}
.demo-tabs button.selected{background:#174e47;color:#fff}
.demo-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.demo-product{min-width:0}
.demo-visual{height:130px;border-radius:10px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.tint-1{background:linear-gradient(135deg,#f5eadd,#cdbba8)}
.tint-2{background:linear-gradient(135deg,#e6f4f0,#a8c8c3)}
.tint-3{background:linear-gradient(135deg,#f3e1e2,#d4b5b5)}
.demo-object{display:block;position:relative;width:50px;height:72px;border:2px solid #ffffff80;border-radius:9px 9px 12px 12px;background:linear-gradient(90deg,#b29a79,#f2dfbf 42%,#ae906b);box-shadow:10px 13px 16px #0002;transition:width .3s,height .3s,border-radius .3s}
.tint-2 .demo-object{background:linear-gradient(90deg,#467e80,#b5d7cd 40%,#477d7e)}
.tint-3 .demo-object{background:linear-gradient(90deg,#9c6b73,#edc6c4 42%,#97656e)}
.demo-object:before{content:"";position:absolute;top:-15px;left:calc(50% - 12px);width:24px;height:14px;border-radius:2px;background:#243942}
.demo-object:after{content:"✦";position:absolute;inset:22px 7px;display:grid;place-items:center;background:#ffffff86;color:#53675b;font-size:13px}
.demo-product>strong{display:block;margin:9px 0 3px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:11px}
.demo-product>small{color:#128365;font-size:11px;font-weight:850}
.demo-bottom{display:flex;justify-content:space-between;align-items:center;gap:9px;margin-top:17px;padding-top:13px;border-top:1px solid #e5edf1;font-size:10px}
.demo-bottom span:first-child{color:#148d67}
.demo-bottom span:last-child{color:#fff;background:#0eae78;font-weight:750;padding:9px 10px;border-radius:7px}
.demo-sticker{position:absolute;bottom:31px;right:-17px;display:flex;align-items:center;gap:9px;padding:12px 13px;background:#0b2b3b;border:1px solid #23806e;border-radius:12px;box-shadow:0 12px 35px #0009;transform:rotate(-3deg);pointer-events:none}
.demo-sticker>span{display:grid;place-items:center;background:#13e6a2;color:#063c31;width:34px;height:34px;border-radius:9px;font-size:21px}
.demo-sticker strong{display:block;font-size:11px}
.demo-sticker small{display:block;font-size:10px;color:#a9c0cd;margin-top:4px}
.demo-caption{font-size:10px;color:#829dad;text-align:center;margin:24px 0 0}
.contact-number{font-size:15px;font-weight:800;color:#9ae8c6}
.whatsapp-float{position:fixed;bottom:20px;right:22px;z-index:85;display:flex;align-items:center;gap:9px;padding:13px 17px;border-radius:999px;border:1px solid #7aefbea8;background:#03ba75;box-shadow:0 9px 32px #00a96c77;font-size:12px;font-weight:850;transition:transform .2s,box-shadow .2s}
.whatsapp-float svg{width:22px;height:22px}
.whatsapp-float:hover{transform:translateY(-4px);box-shadow:0 14px 38px #00a96ca0}
.js-motion .reveal{opacity:0;transform:translateY(24px);transition:opacity .75s,transform .75s cubic-bezier(.2,.8,.2,1)}
.js-motion .reveal.is-visible{opacity:1;transform:translateY(0)}
.demo-products.swapping{animation:demo-swap .3s ease}
@keyframes luva-float{0%,100%{transform:rotate(-3deg) translateY(18px)}50%{transform:rotate(-2deg) translateY(7px)}}
@keyframes luva-tag{0%,100%{translate:0 0}50%{translate:0 -9px}}
@keyframes luva-orb{0%{translate:-12px 0}100%{translate:22px -16px}}
@keyframes demo-swap{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}

/* Variaciones visuales de la vitrina al cambiar de categoría */
.demo-window[data-demo="moda"] .demo-banner{background:linear-gradient(115deg,#493352,#947287)}
.demo-window[data-demo="moda"] .demo-tabs button.selected{background:#613e60}
.demo-window[data-demo="moda"] .demo-object{width:70px;height:58px;border-radius:14px 14px 7px 7px}
.demo-window[data-demo="moda"] .demo-object:before{height:20px;width:30px;top:-19px;left:calc(50% - 15px);border:5px solid #45404c;border-bottom:0;border-radius:16px 16px 0 0;background:transparent}
.demo-window[data-demo="moda"] .demo-object:after{inset:17px 15px}
.demo-window[data-demo="regalos"] .demo-banner{background:linear-gradient(115deg,#714438,#b68c66)}
.demo-window[data-demo="regalos"] .demo-tabs button.selected{background:#865440}
.demo-window[data-demo="regalos"] .demo-object{width:68px;height:64px;border-radius:4px;background:linear-gradient(120deg,#c98567,#e2b78e)}
.demo-window[data-demo="regalos"] .demo-object:before{width:13px;height:100%;top:0;left:calc(50% - 6px);border-radius:0;background:#fbdfab}
.demo-window[data-demo="regalos"] .demo-object:after{content:"";inset:40% 0 auto;height:12px;background:#fbdfab}
@media(max-width:1080px){
 .catalog-layout{gap:31px}
 .catalog-copy h2{font-size:clamp(35px,4.2vw,52px)}
 .demo-sticker{right:-7px}
}
@media(max-width:760px){
 .catalogs{padding:70px 0 87px}
 .catalog-layout{grid-template-columns:1fr;gap:46px}
 .catalog-showcase{max-width:510px}
 .catalog-copy h2{font-size:clamp(35px,7vw,53px)}
 .demo-banner h3{font-size:26px}
 .whatsapp-float{right:14px;bottom:14px}
}
@media(max-width:490px){
 .hero-chips{gap:6px}
 .hero-chips span{font-size:10px;padding:7px 9px}
 .catalogs{padding:62px 0 77px}
 .catalog-lead{font-size:14px}
 .catalog-actions .btn{width:100%}
 .catalog-actions>a:not(.btn){padding:4px}
 .demo-content{padding:13px}
 .demo-banner{min-height:119px;padding:17px}
 .demo-banner h3{font-size:22px}
 .demo-visual{height:94px}
 .demo-products{gap:6px}
 .demo-object,.demo-window[data-demo="moda"] .demo-object,.demo-window[data-demo="regalos"] .demo-object{scale:.76}
 .demo-product>strong,.demo-product>small{font-size:10px}
 .demo-bottom span:last-child{font-size:9px;padding:8px}
 .demo-sticker{right:-4px;bottom:27px;padding:8px 9px}
 .demo-sticker>span{width:26px;height:26px;font-size:17px}
 .demo-sticker strong,.demo-sticker small{font-size:9px}
 .contact-actions .btn{width:100%}
 .whatsapp-float{padding:13px;border-radius:50%}
 .whatsapp-float span{display:none}
}
@media(prefers-reduced-motion:reduce){
 .hero-art .laptop,.hero-art .art-tag,.orb-one,.orb-two,.demo-products.swapping{animation:none!important}
 .js-motion .reveal{opacity:1;transform:none}
}

/* Share control for clean, canonical homepage links */
.hero-note{flex-wrap:wrap;row-gap:11px}
.share-home{color:#70d7f1;border:1px solid #255777;padding:7px 11px;border-radius:999px;background:#0b2938;font-size:11px;letter-spacing:0;font-weight:750;transition:background .2s,border-color .2s,color .2s}
.share-home:hover{background:#10445a;border-color:#43d4e5;color:#fff}
@media(max-width:490px){.share-home{margin-left:0}}
