:root{--violet:#2a195e;--yellow:#fbe153;--orange:#fd684c;--pink:#ef4a88;--blue:#4544bd}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fffdf7;color:var(--violet);font-family:'DM Sans',sans-serif;overflow-x:hidden}img{max-width:100%}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}[hidden]{display:none!important}.container{width:min(1260px,calc(100% - 76px));margin:auto}.font-display,h1,h2,h3{font-family:'Archivo Black',sans-serif;letter-spacing:-.065em}h1,h2,h3,p{margin-top:0}.topbar{background:var(--violet);color:#fff;text-align:center;padding:9px 18px;font-size:11px;letter-spacing:.09em;font-weight:800}.navbar{position:sticky;top:0;z-index:30;background:#fffdf7;border-bottom:3px solid var(--violet)}.navinner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{font:30px 'Archivo Black';letter-spacing:-.1em;display:flex;align-items:center;gap:11px;flex-shrink:0}.brandicon{width:39px;height:39px;display:grid;place-items:center;background:var(--orange);border:2px solid var(--violet);box-shadow:4px 4px 0 var(--violet);border-radius:3px;font-size:26px;transform:rotate(-7deg);color:white}.brand small{font:800 9px 'DM Sans';letter-spacing:.2em;display:block;margin-top:-1px}.nav{display:flex;align-items:center;gap:31px;font-weight:800;font-size:12px}.nav a:hover{color:#f04c67}.pill{border:2px solid var(--violet);background:var(--violet);color:white;padding:14px 21px;border-radius:50px;font-weight:900;font-size:12px;display:inline-flex;align-items:center;justify-content:center;gap:12px;transition:transform .18s,box-shadow .18s}.pill:hover{transform:translate(-3px,-3px);box-shadow:5px 5px 0 var(--orange)}.pill.light{background:var(--yellow);color:var(--violet)}.pill.white{background:white;color:var(--violet)}.navtoggle{display:none;background:white;color:var(--violet);border:2px solid var(--violet);padding:9px 12px;font-weight:900;border-radius:8px}.hero{background:var(--yellow);border-bottom:3px solid var(--violet);position:relative;overflow:hidden}.hero-in{display:grid;grid-template-columns:50% 50%;min-height:615px;align-items:center;position:relative}.hero-copy{position:relative;z-index:2;padding:65px 0 72px}.scribble{display:inline-block;background:white;border:2px solid var(--violet);padding:8px 14px;border-radius:60px;transform:rotate(-2deg);font-size:11px;font-weight:900;letter-spacing:.04em;box-shadow:4px 4px 0 var(--violet)}.hero h1{font-size:clamp(57px,7.4vw,105px);line-height:.97;margin:33px 0 23px;max-width:750px;letter-spacing:-.09em}.hero h1 span{color:var(--orange);text-shadow:3px 3px 0 var(--violet)}.hero-desc{font-size:16px;line-height:1.7;max-width:460px;font-weight:600}.hero-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.hero-art{position:relative;height:590px;align-self:end}.hero-art img{height:100%;width:128%;max-width:none;object-fit:contain;margin-left:-10%;filter:drop-shadow(0 24px 18px #2a195e31)}.sticker{position:absolute;right:-12px;top:58px;width:118px;height:118px;border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center;background:#fff;border:3px solid var(--violet);font:16px 'Archivo Black';line-height:1.1;transform:rotate(17deg);box-shadow:7px 7px 0 #2a195e}.star{position:absolute;left:0;bottom:79px;color:var(--orange);font-size:77px;transform:rotate(12deg)}.marquee{background:var(--violet);color:white;overflow:hidden;padding:18px 0;white-space:nowrap;font:18px 'Archivo Black';letter-spacing:.035em}.marquee span{display:inline-block;margin:0 20px}.marquee i{color:var(--yellow);font-style:normal}.section{padding:90px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:33px}.label{font-size:11px;font-weight:900;letter-spacing:.15em;text-transform:uppercase;color:#fa684b}.section h2{font-size:clamp(38px,5vw,66px);line-height:1.07;margin:13px 0 0}.mini-intro{font-size:14px;line-height:1.7;max-width:315px;font-weight:600}.bento{display:grid;grid-template-columns:1.2fr .85fr .85fr;grid-template-rows:360px 290px;gap:17px}.tile{position:relative;overflow:hidden;border:3px solid var(--violet);border-radius:18px;background:#efe7ff;display:flex;flex-direction:column;justify-content:space-between;min-width:0;transition:transform .2s}.tile:hover{transform:translateY(-5px)}.tile.main{grid-row:span 2;background:#ddd9ff}.tile.coral{background:#ffd6d0}.tile.yellow{background:#fff1a0}.tile.green{background:#cceace}.tile.blue{background:#d5e5ff}.tile-body{padding:23px 24px 0;position:relative;z-index:2}.tile .tag{font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;background:white;border:2px solid var(--violet);border-radius:30px;padding:7px 11px;display:inline-block}.tile h3{font-size:clamp(24px,2.5vw,38px);line-height:1.09;margin:17px 0 0;max-width:360px}.tile.main h3{font-size:48px}.tile img{display:block;max-width:100%;height:53%;width:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 10px 10px #0002)}.tile.main img{height:58%}.arrow-corner{position:absolute;right:17px;top:17px;font-size:22px;font-weight:900}.what{background:#fff6ee;border-top:3px solid var(--violet);border-bottom:3px solid var(--violet)}.services{display:grid;grid-template-columns:1fr 1fr;gap:0 42px}.service{display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:18px;padding:23px 0;border-bottom:2px solid var(--violet)}.service-num{font:20px 'Archivo Black';color:var(--orange)}.service h3{font-size:21px;margin-bottom:5px}.service p{font-size:12px;line-height:1.7;margin:0;max-width:390px}.service .go{font:27px 'Archivo Black'}.lab{background:var(--violet);color:white;overflow:hidden}.lab-grid{display:grid;grid-template-columns:45% 55%;gap:40px;align-items:center}.lab h2{font-size:clamp(40px,5vw,64px);max-width:490px}.lab .label{color:var(--yellow)}.lab p{line-height:1.8;color:#e4ddff;font-size:14px;max-width:400px}.lab-preview{background:#fff4d5;color:var(--violet);border:3px solid #fff;border-radius:26px;padding:22px;transform:rotate(2deg);box-shadow:12px 12px 0 #e96b90}.demo-stage{height:338px;background:#f8e7ca;border-radius:18px;position:relative;overflow:hidden;display:grid;place-items:center}.demo-stage:before{content:'';width:330px;height:150px;background:#b7b09335;border-radius:50%;position:absolute;bottom:-65px;filter:blur(20px)}.demo-box{position:relative;width:min(90%,420px);height:300px;--selected-ink:#4c45bb;background-image:url('assets/product-mailer.svg');background-size:contain;background-repeat:no-repeat;background-position:center}.demo-box:after{content:'';position:absolute;top:46%;left:19%;width:50%;height:25%;background:var(--selected-ink);mix-blend-mode:multiply;opacity:.6;clip-path:polygon(0 0,98% 44%,98% 100%,0 57%);pointer-events:none}.lab-optionbar{padding:22px 9px 3px}.lab-optionbar h3{font-size:15px;margin-bottom:10px}.swatches{display:flex;gap:13px;align-items:center;flex-wrap:wrap}.swatches button{width:35px;height:35px;border:3px solid white;border-radius:100%;outline:2px solid transparent;box-shadow:0 1px 8px #0002}.swatches button.selected{outline-color:var(--violet)}.sample-selection{font-size:12px;font-weight:800;padding-top:14px}.lab-colors-note{font-size:11px!important;color:#5e5479!important;margin:5px 0 0}.cta-poster{margin-top:0;background:var(--orange);border-top:3px solid var(--violet);border-bottom:3px solid var(--violet);padding:65px 0}.cta-poster .inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.cta-poster h2{font-size:clamp(38px,4.7vw,64px);margin:0;max-width:680px;color:var(--violet)}.cta-poster .pill{background:var(--violet);flex-shrink:0}.quote{background:#fffdf8}.quote-layout{display:grid;grid-template-columns:40% 60%;gap:56px;align-items:start}.quote-layout>div:first-child{padding-top:20px}.quote h2{font-size:clamp(40px,5vw,65px)}.quote-desc{font-size:15px;line-height:1.7;max-width:405px}.contactlinks{display:flex;flex-direction:column;gap:13px;margin-top:30px}.contactlinks a{font-weight:900;font-size:14px;text-decoration:underline;text-decoration-color:#f17a87;text-underline-offset:5px}.quotecard{background:#fef0e8;border:3px solid var(--violet);border-radius:21px;box-shadow:10px 10px 0 var(--violet);padding:34px}.quotecard h3{font-size:27px;margin-bottom:27px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:13px 17px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:15px}.field label{font-size:12px;font-weight:900}.field input,.field select,.field textarea{padding:13px;border:2px solid var(--violet);border-radius:8px;background:#fff;color:var(--violet);font-size:13px;outline-offset:2px}.quotecard .pill{width:100%;font-size:13px}.copy{border:0;background:none;font-size:12px;text-decoration:underline;color:var(--violet);font-weight:900;display:block;margin:15px auto}.quote-note,.status{font-size:11px;line-height:1.6;margin-bottom:0}.footer{background:var(--violet);color:white;padding:38px 0;font-size:12px}.footer-in{display:flex;justify-content:space-between;gap:25px}.footer a{text-decoration:underline}.footer-logo{font:25px 'Archivo Black'}
@media(max-width:1060px){.nav{gap:17px}.bento{grid-template-columns:1fr 1fr;grid-template-rows:380px 275px 275px}.tile.main{grid-row:span 2}.tile.blue{grid-column:span 2}.hero h1{font-size:clamp(55px,7vw,86px)}.hero-art img{width:120%;margin-left:-7%}}@media(max-width:820px){.container{width:calc(100% - 40px)}.nav{display:none;position:absolute;top:76px;left:0;right:0;background:#fffdf7;padding:24px;box-shadow:0 17px 20px #1d125a2b;border-bottom:3px solid var(--violet);flex-direction:column;align-items:stretch}.nav.is-open{display:flex}.navtoggle{display:block}.navinner>.pill{margin-left:auto}.hero-in{grid-template-columns:1fr}.hero-copy{padding:52px 0 8px}.hero h1{max-width:650px}.hero-art{height:440px}.hero-art img{width:100%;margin:0}.sticker{right:15px;top:6px}.star{left:10px;bottom:15px}.section{padding:65px 0}.section-head{display:block}.mini-intro{max-width:550px;margin-top:18px}.services{grid-template-columns:1fr}.lab-grid,.quote-layout{grid-template-columns:1fr;gap:36px}.lab-preview{max-width:650px;margin:auto}.cta-poster .inner{display:block}.cta-poster .pill{margin-top:25px}}@media(max-width:560px){.topbar{font-size:9px}.navbar .pill{font-size:10px;padding:11px}.brand{font-size:24px}.brand small{font-size:8px}.hero h1{font-size:56px}.hero-art{height:320px}.sticker{height:88px;width:88px;font-size:12px;right:0;top:8px}.star{font-size:45px}.marquee{font-size:13px}.section h2{font-size:43px}.bento{display:flex;flex-direction:column}.tile{height:310px}.tile.main{height:450px}.tile.main h3{font-size:39px}.tile img,.tile.main img{height:50%}.service{grid-template-columns:36px 1fr 15px;gap:7px}.service h3{font-size:17px}.lab-preview{padding:15px}.demo-stage{height:290px}.demo-box{height:245px}.quotecard{padding:21px;box-shadow:6px 6px 0 var(--violet)}.fields{grid-template-columns:1fr}.footer-in{flex-direction:column}.cta-poster h2{font-size:43px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}


/* Identidad oficial JOMA, verificada con el sitio corporativo. */
.joma-official-mark{height:65px;width:auto;max-width:130px;object-fit:contain;display:block}
.joma-logo-fallback{font-family:Arial,sans-serif;font-size:22px;line-height:1;letter-spacing:.025em;font-weight:900;color:#2e3192}
.joma-logo-fallback small{display:block;font-size:9px;letter-spacing:.23em;color:#e52186;margin-top:5px}
.joma-logo-fallback[hidden]{display:none!important}
.joma-brand-tag{font:700 9px Arial,sans-serif;color:#2e3192;letter-spacing:.09em;text-transform:uppercase;opacity:.9}
.joma-real-photo{object-fit:contain!important;padding:9px;background:#fff}
.joma-portfolio-disclosure{font-size:11px;color:#66718a;margin:20px 0 0;line-height:1.65}
.joma-chat-float{position:fixed;right:22px;bottom:20px;z-index:45;display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid #ffffff80;border-radius:999px;padding:12px 19px;background:#2e3192;color:#fff!important;font:700 12px Arial,sans-serif;box-shadow:0 7px 28px #14155548;transition:transform .2s}
.joma-chat-float:hover{transform:translateY(-3px);background:#e52186}
.joma-chat-float svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:600px){.joma-official-mark{height:58px;max-width:105px}.joma-chat-float{right:12px;bottom:12px;padding:12px 14px;font-size:11px}}
