*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:Montserrat,'Helvetica Neue',Arial,sans-serif;color:#131313;-webkit-font-smoothing:antialiased;background:#fbfaf7}
.paperbg{background:#f6f3ec url(img/papel-blanco.jpg) center top/700px}
a{color:#131313}a:hover{color:#5e6168}
.cap{font-size:10px;font-weight:500;letter-spacing:3px;text-transform:uppercase}
.mute{color:#5e6168}
.ul{text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px;background:none;border-top:0;border-left:0;border-right:0;cursor:pointer;color:inherit;font-family:inherit}
.read{font-weight:300;font-size:14px;line-height:1.75;color:#5e6168;margin:10px 0 0}
.small{font-size:12px}.center{text-align:center}
.h{margin:0;font-size:18px;font-weight:300;letter-spacing:6px;text-transform:uppercase}
.topbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding:20px 32px;border-bottom:1px solid #e3ded4;background:rgba(251,250,247,.9)}
.brand{text-decoration:none;display:flex;align-items:center;gap:10px}
.brand img{height:44px;width:auto;display:block}
.brand span{font-weight:300;font-size:17px;letter-spacing:8px}.brand small{font-size:8.5px;letter-spacing:5px;text-transform:uppercase;color:#5e6168;font-weight:500}
.steps{display:flex;flex-wrap:wrap;gap:22px}.steps span{font-size:9.5px;font-weight:500;letter-spacing:3px;text-transform:uppercase;color:#9a958c}.steps span.on{color:#131313}
.picker{display:flex;gap:10px;overflow-x:auto;padding:16px 32px;border-bottom:1px solid #e3ded4;scrollbar-width:thin}
.picker a{flex:0 0 auto;text-decoration:none;border:1px solid #d9d3c8;padding:10px 16px;display:flex;flex-direction:column;gap:4px;min-height:44px;background:rgba(255,255,255,.4)}
.picker a.on{border-color:#131313;background:#fff}.picker small{font-size:10px;color:#5e6168;font-weight:300}
.notice{margin:18px 32px 0;padding:14px 18px;border:1px solid #d9d3c8;background:#fff;font-size:13px;font-weight:300}
.builder{display:grid;grid-template-columns:minmax(300px,380px) minmax(320px,1fr) minmax(300px,370px);gap:0;align-items:start;max-width:1440px;margin:0 auto}
.col{padding:36px 32px}
.form{border-right:1px solid #e3ded4;min-height:calc(100vh - 140px)}
.summary{border-left:1px solid #e3ded4}
.summary .h{margin-bottom:18px}
.stage{position:sticky;top:0;max-height:100vh;display:flex;flex-direction:column;align-items:center;gap:18px;min-height:calc(100vh - 140px);justify-content:center;background:rgba(236,232,224,.55)}
.phone{width:331px;height:717px;border-radius:46px;border:10px solid #0d0d10;overflow:hidden;box-shadow:0 34px 70px rgba(40,30,20,.22);background:#0d0d10;position:relative}
.phone iframe{width:390px;height:844px;border:0;transform:scale(.8);transform-origin:0 0;background:#faf9f5}
fieldset{border:0;padding:0;margin:30px 0 0}legend{padding:0;margin-bottom:16px;color:#5e6168}
.fld{display:block;margin:0 0 20px}
.lbl{display:block;font-size:9px;font-weight:500;letter-spacing:2.5px;text-transform:uppercase;color:#5e6168;margin-bottom:4px}
.fld input,.fld textarea,.fld select{width:100%;border:0;border-bottom:1px solid #b9b2a4;background:transparent;font:300 16px/1.5 Montserrat,sans-serif;color:#131313;padding:8px 0;border-radius:0;outline:none;-webkit-appearance:none;appearance:none}
.fld input:focus,.fld textarea:focus,.fld select:focus{border-bottom-color:#131313}
.fld small{display:block;font-size:11.5px;color:#5e6168;font-weight:300;margin-top:6px;line-height:1.5}
.drop{display:flex;align-items:center;justify-content:center;min-height:56px;border:1px dashed #b9b2a4;cursor:pointer;font-size:12px;font-weight:400;padding:10px;text-align:center}
.drop input{position:absolute;opacity:0;width:1px;height:1px}
.drop:focus-within{outline:2px solid #131313;outline-offset:2px}
.pkgs{display:flex;flex-direction:column;gap:10px;margin:18px 0 22px}
.pkg{display:block;cursor:pointer}.pkg input{position:absolute;opacity:0}
.pkg-in{display:block;border:1px solid #d9d3c8;padding:16px;background:rgba(255,255,255,.55)}
.pkg input:checked+.pkg-in{border-color:#131313;background:#fff;box-shadow:inset 0 0 0 1px #131313}
.pkg input:focus-visible+.pkg-in{outline:2px solid #131313;outline-offset:2px}
.pkg-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.price{font-size:20px;font-weight:300}
.pkg-li{display:block;font-size:11.5px;line-height:1.6;color:#5e6168;font-weight:300;margin-top:8px}
.total{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid #d9d3c8;padding-top:16px;margin-top:6px}
.big{font-size:34px;font-weight:200}
.check{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;font-weight:300;line-height:1.5;margin:4px 0 18px;cursor:pointer}
.check input{width:18px;height:18px;margin:1px 0 0;accent-color:#131313;flex:0 0 auto}
.btn{min-height:52px;width:100%;display:flex;align-items:center;justify-content:center;font:500 10.5px Montserrat,sans-serif;letter-spacing:3px;text-transform:uppercase;text-decoration:none;border:1px solid #131313;background:transparent;color:#131313;cursor:pointer;padding:0 20px}
.btn.solid{background:#131313;color:#fbfaf7}.btn:disabled{opacity:.6;cursor:progress}
.btn:focus-visible,.ul:focus-visible,.picker a:focus-visible{outline:2px solid #131313;outline-offset:3px}
.err{color:#8a2b1e;font-size:13px;min-height:18px;margin:12px 0 0;line-height:1.5}
.floatbtn{display:none}
.sheet{position:fixed;inset:0;z-index:80;background:#fbfaf7;display:flex;flex-direction:column}
.sheet[hidden]{display:none}
.sheet-bar{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid #e3ded4}
.sheet iframe{flex:1;border:0;width:100%}
@media (max-width:1180px){.builder{grid-template-columns:minmax(300px,1fr) minmax(300px,380px)}.stage{display:none}.floatbtn{display:flex;position:fixed;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));width:auto;z-index:40;box-shadow:0 10px 30px rgba(0,0,0,.2)}}
@media (max-width:760px){.builder{grid-template-columns:1fr}.form{border-right:0;min-height:0}.summary{border-left:0;border-top:1px solid #e3ded4;position:static;padding-bottom:110px}.col{padding:28px 20px}.topbar{padding:16px 20px}.steps{display:none}.picker{padding:12px 20px}}
/* páginas simples */
.page{max-width:720px;margin:0 auto;padding:60px 24px 90px}
.card{background:#fff;border:1px solid #e3ded4;padding:34px 28px}
.title{font-size:28px;font-weight:300;letter-spacing:1px;margin:0;line-height:1.35}
.row{display:flex;flex-wrap:wrap;gap:12px}.row .btn{flex:1 1 200px}
.copy{display:flex;gap:8px;align-items:stretch}.copy input{flex:1;min-width:0;border:1px solid #d9d3c8;padding:0 12px;font:300 14px Montserrat,sans-serif;min-height:48px;background:#fbfaf7}
.copy .btn{width:auto;flex:0 0 auto}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:0;border-top:1px solid #131313}
.kpis>div{padding:18px 16px 18px 0}.kpis>div+div{border-left:1px solid #e3ded4;padding-left:16px}
.kpi{font-size:44px;font-weight:200;line-height:1;margin-top:10px}
.tbl{width:100%;border-collapse:collapse;min-width:560px}
.tbl th{text-align:left;font-size:9px;font-weight:500;letter-spacing:2.5px;text-transform:uppercase;color:#5e6168;padding:12px 10px;border-bottom:1px solid #131313}
.tbl td{font-size:14px;font-weight:300;padding:14px 10px;border-bottom:1px solid #ebe6dc;vertical-align:top}
.scroll{overflow-x:auto}
.tag{display:inline-block;font-size:9px;font-weight:500;letter-spacing:2px;text-transform:uppercase;padding:5px 9px;border:1px solid currentColor}
.ok{color:#2f6b4a}.no{color:#8a2b1e}.pend{color:#8a7a5a}
.tabs{display:flex;gap:24px;flex-wrap:wrap;border-bottom:1px solid #e3ded4;margin:30px 0 0}
.tabs a{text-decoration:none;font-size:10px;font-weight:500;letter-spacing:3px;text-transform:uppercase;padding:12px 0;color:#5e6168}
.tabs a.on{color:#131313;border-bottom:1px solid #131313}
.mini{min-height:36px;padding:0 12px;width:auto;display:inline-flex;font-size:9px}
