/* Pitutea.me — identidad: libreta de encargos + sello de goma. Tokens primero; todo lo demás deriva de aquí. */
:root{
  --color-ink:#14213D;--color-ink-2:#51607A;--color-mute:#8A96AA;--color-line:#DCE3E8;--color-line-2:#C4CED6;
  --color-paper:#FFFFFF;--color-paper-2:#F5F8FA;--color-grid:rgba(20,33,61,.055);
  --color-cyan:#00B8D9;--color-cyan-2:#0A7D96;--color-cyan-soft:#DDF6FB;
  --color-stamp:#FFC857;--color-stamp-ink:#5B3A00;--color-ok:#1B8A4C;--color-ok-soft:#DFF4E6;--color-bad:#C8321E;--color-bad-soft:#FBE3DF;--color-blue-soft:#E4EAF8;
  --font-display:"Bricolage Grotesque","Segoe UI",system-ui,sans-serif;--font-body:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-mono:ui-monospace,"Cascadia Mono",Consolas,monospace;
  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4.5rem;
  --radius-s:6px;--radius:12px;--radius-l:18px;--shadow:0 1px 0 rgba(20,33,61,.06),0 10px 24px -14px rgba(20,33,61,.25);
  --ease:cubic-bezier(.2,.7,.2,1);--dur:.35s;
}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font:16px/1.55 var(--font-body);color:var(--color-ink);background:var(--color-paper) linear-gradient(var(--color-grid) 1px,transparent 1px) 0 0/100% 28px,linear-gradient(90deg,var(--color-grid) 1px,transparent 1px) 0 0/28px 100%;background-attachment:fixed}
a{color:var(--color-cyan-2);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}
:focus-visible{outline:3px solid var(--color-cyan);outline-offset:2px;border-radius:var(--radius-s)}
h1,h2,h3,h4{font-family:var(--font-display);line-height:1.1;margin:.2em 0 .5em;font-weight:700;letter-spacing:-.015em}h1{font-size:2rem}h2{font-size:1.45rem;margin-top:1.6em}h3{font-size:1.1rem}h4{font-size:.95rem;margin:1em 0 .4em;letter-spacing:0}
img{max-width:100%;display:block}p{margin:.4em 0 .9em}small,.tiny{font-size:.82rem;color:var(--color-ink-2)}.muted{color:var(--color-mute)}.mt{margin-top:var(--space-4)}
.wrap{width:min(1200px,100% - 2rem);margin-inline:auto}.wrap--wide{width:min(1320px,100% - 2rem)}main.wrap{min-height:60vh;padding:var(--space-5) 0 var(--space-7)}
/* botones: bloque sólido, sin pastilla */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4em;min-height:44px;background:var(--color-cyan);color:var(--color-ink)!important;font-family:var(--font-display);font-weight:700;border:2px solid var(--color-ink);border-radius:var(--radius-s);padding:.5em 1.2em;cursor:pointer;font-size:.95rem;text-decoration:none!important;box-shadow:3px 3px 0 var(--color-ink);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),background var(--dur)}
.btn:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--color-ink)}.btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--color-ink)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:3px 3px 0 var(--color-ink)}
.btn--sm{min-height:36px;padding:.3em .9em;font-size:.85rem;box-shadow:2px 2px 0 var(--color-ink)}.btn--lg{padding:.7em 1.6em;font-size:1.05rem}.btn--block{width:100%}
.btn--ghost{background:var(--color-paper);box-shadow:none;border-color:var(--color-line-2)}.btn--ghost:hover{border-color:var(--color-ink);box-shadow:none;transform:none;background:var(--color-paper-2)}
button.link{background:none;border:0;padding:0;color:var(--color-cyan-2);cursor:pointer;font:inherit;min-height:0}button.link:hover{text-decoration:underline}
/* cabecera */
.top{background:var(--color-ink);color:#fff;position:relative;z-index:5}.top__row{display:flex;align-items:center;gap:var(--space-5);height:68px}
.logo{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-display);font-weight:800;font-size:1.6rem;letter-spacing:-.045em;color:#fff!important;text-decoration:none!important;white-space:nowrap;line-height:1}
.logo__mark{width:30px;height:30px;flex-shrink:0;transition:transform var(--dur) var(--ease)}
.logo__word{font-variation-settings:"opsz" 96;letter-spacing:-.05em}
.logo__me{position:relative;font-size:.6em;font-weight:800;letter-spacing:.04em;background:var(--color-cyan);color:var(--color-ink);padding:.22em .45em .18em;border-radius:4px;border:2px solid var(--color-ink);box-shadow:2px 2px 0 rgba(255,255,255,.35);transform:rotate(-6deg) translateY(-.35em);margin-left:.1em;transition:transform var(--dur) var(--ease)}
.logo:hover .logo__me{transform:rotate(-10deg) translateY(-.45em) scale(1.06)}.logo:hover .logo__mark{transform:rotate(-10deg)}
.foot .logo__me{box-shadow:2px 2px 0 rgba(255,255,255,.25)}
.search{flex:1;display:flex;max-width:620px;border:2px solid transparent;border-radius:var(--radius-s);overflow:hidden;transition:border-color var(--dur)}.search:focus-within{border-color:var(--color-cyan)}
.search input{flex:1;border:0;padding:.6em .9em;font:inherit;font-size:.95rem;min-width:0;background:#fff;color:var(--color-ink)}.search input:focus{outline:none}.search button{border:0;background:var(--color-cyan);color:var(--color-ink);font-family:var(--font-display);font-weight:700;padding:0 1.1em;cursor:pointer;min-width:44px}
.top__nav{margin-left:auto;display:flex;align-items:center;gap:var(--space-4);white-space:nowrap}.top__nav>a{color:#fff;font-weight:600;font-size:.92rem;min-height:44px;display:inline-flex;align-items:center}.top__nav>a:hover{color:var(--color-cyan);text-decoration:none}
.top__nav .btn{box-shadow:none;border-color:var(--color-cyan)}.top__nav .btn:hover{transform:none;background:#fff}
.bell{position:relative}.bell i{position:absolute;top:4px;right:-10px;background:var(--color-bad);color:#fff;font:700 .68rem/1 var(--font-body);padding:3px 5px;border-radius:9px;font-style:normal}
.menu{position:relative}.menu summary{list-style:none;display:flex;align-items:center;gap:.5em;cursor:pointer;color:#fff;font-weight:600;font-size:.92rem;min-height:44px}.menu summary::-webkit-details-marker{display:none}
.menu__box{position:absolute;right:0;top:100%;background:#fff;color:var(--color-ink);border:2px solid var(--color-ink);border-radius:var(--radius-s);box-shadow:4px 4px 0 var(--color-ink);min-width:210px;padding:.4rem;z-index:50;display:flex;flex-direction:column}.menu__box a,.menu__box button{padding:.55em .8em;border-radius:4px;color:var(--color-ink);text-align:left;background:none;border:0;font:inherit;cursor:pointer;width:100%}.menu__box a:hover,.menu__box button:hover{background:var(--color-cyan-soft);text-decoration:none}
.cats{background:var(--color-ink);border-top:1px solid rgba(255,255,255,.12)}.cats__row{display:flex;overflow-x:auto;scrollbar-width:none}.cats__row::-webkit-scrollbar{display:none}
.cats__item{position:relative;flex-shrink:0}.cats__item>a{display:flex;align-items:center;min-height:42px;padding:0 .9em;color:#D5DCE8;font-size:.85rem;font-weight:600;white-space:nowrap;border-bottom:3px solid transparent}.cats__item>a:hover{color:#fff;text-decoration:none;border-bottom-color:var(--color-cyan)}
.cats__drop{display:none;position:absolute;left:0;top:100%;background:#fff;border:2px solid var(--color-ink);border-top:0;border-radius:0 0 var(--radius-s) var(--radius-s);box-shadow:4px 4px 0 var(--color-ink);min-width:250px;padding:.4rem 0;z-index:40}.cats__drop a{display:block;padding:.45em 1em;color:var(--color-ink);font-size:.88rem}.cats__drop a:hover{background:var(--color-cyan-soft);text-decoration:none}
@media(hover:hover){.cats__item:hover .cats__drop{display:block}}
/* avisos */
.flash{padding:.8em 1em;border-radius:var(--radius-s);margin-bottom:var(--space-4);font-weight:600;background:var(--color-cyan-soft);color:#064B5B;border:2px solid var(--color-cyan)}.flash--error{background:var(--color-bad-soft);color:#7A1E12;border-color:var(--color-bad)}
/* sello de goma: la firma */
.stamp{display:inline-block;font-family:var(--font-display);font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;line-height:1;padding:.4em .6em;border:2px solid currentColor;border-radius:4px;color:var(--color-ink);transform:rotate(-3deg);opacity:.92}
.stamp--held{color:var(--color-stamp-ink);background:var(--color-stamp)}.stamp--ok{color:var(--color-ok)}.stamp--bad{color:var(--color-bad)}.stamp--cyan{color:var(--color-cyan-2)}.stamp--gray{color:var(--color-mute)}.stamp--blue{color:#2F4BB3}
.stamp--in{animation:stamp-in .5s var(--ease) both}
@keyframes stamp-in{0%{opacity:0;transform:rotate(-3deg) scale(1.8)}60%{opacity:1;transform:rotate(-3deg) scale(.96)}100%{opacity:.92;transform:rotate(-3deg) scale(1)}}
/* portada */
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--space-7);align-items:center;padding:var(--space-6) 0 var(--space-5)}
.hero__eyebrow{font-family:var(--font-mono);font-size:.8rem;color:var(--color-cyan-2);letter-spacing:.04em;margin:0 0 .6em}
.hero h1{font-size:clamp(2.1rem,4.2vw,3.4rem);margin:0 0 .4em;letter-spacing:-.03em}.hero h1 em{font-style:normal;background:linear-gradient(transparent 62%,var(--color-stamp) 62%)}
.hero p{font-size:1.1rem;color:var(--color-ink-2);max-width:50ch}
.hero__search{display:flex;gap:var(--space-2);margin:var(--space-5) 0 var(--space-3);max-width:560px}.hero__search input{flex:1;border:2px solid var(--color-ink);border-radius:var(--radius-s);padding:.7em 1em;font:inherit;background:#fff;min-width:0}
.hero__tags a{display:inline-block;margin:.25rem .4rem .25rem 0;padding:.35em .8em;border-radius:999px;background:#fff;border:1px solid var(--color-line-2);font-size:.85rem;color:var(--color-ink-2);min-height:32px}.hero__tags a:hover{border-color:var(--color-ink);color:var(--color-ink);text-decoration:none}
/* recibo animado (firma del hero) */
.receipt{position:relative;background:#fff;border:2px solid var(--color-ink);border-radius:var(--radius-s);box-shadow:6px 6px 0 var(--color-ink);padding:var(--space-5);font-family:var(--font-mono);font-size:.86rem;color:var(--color-ink);max-width:420px;margin-inline:auto}
.receipt__head{display:flex;justify-content:flex-start;gap:1em;align-items:baseline;padding-right:120px;border-bottom:2px dashed var(--color-line-2);padding-bottom:.6em;margin-bottom:.8em}.receipt__head b{font-family:var(--font-display);font-size:1.05rem;letter-spacing:-.02em}
.receipt__row{display:flex;justify-content:space-between;gap:1em;padding:.3em 0}.receipt__row span:last-child{font-variant-numeric:tabular-nums}
.receipt__total{border-top:2px dashed var(--color-line-2);margin-top:.6em;padding-top:.6em;font-weight:700}
.receipt__steps{list-style:none;padding:0;margin:1em 0 0;display:grid;gap:.45em}.receipt__steps li{display:flex;align-items:center;gap:.6em;color:var(--color-mute)}.receipt__steps li::before{content:"";width:10px;height:10px;border:2px solid currentColor;border-radius:50%;flex-shrink:0}
.receipt__stamps{position:absolute;inset:0;pointer-events:none}
.receipt__stamps .stamp{position:absolute;right:18px;top:18px;font-size:.95rem;padding:.5em .7em;opacity:0}
@media(prefers-reduced-motion:no-preference){
  .receipt__stamps .s1{animation:stamp-in .5s var(--ease) .6s forwards,stamp-out .4s var(--ease) 3.3s forwards}
  .receipt__stamps .s2{animation:stamp-in .5s var(--ease) 3.5s forwards,stamp-out .4s var(--ease) 6.3s forwards}
  .receipt__stamps .s3{animation:stamp-in .5s var(--ease) 6.5s forwards}
  .receipt__steps li:nth-child(1){animation:step-on .2s linear .7s both}.receipt__steps li:nth-child(2){animation:step-on .2s linear 3.6s both}.receipt__steps li:nth-child(3){animation:step-on .2s linear 6.6s both}
  .receipt__row,.receipt__total{opacity:0;animation:rise .5s var(--ease) both}.receipt__row:nth-child(2){animation-delay:.1s}.receipt__row:nth-child(3){animation-delay:.2s}.receipt__row:nth-child(4){animation-delay:.3s}.receipt__total{animation-delay:.4s}
}
/* con movimiento reducido: la misma secuencia pero solo con fundidos (sin escala ni desplazamiento) */
@media(prefers-reduced-motion:reduce){
  .receipt__stamps .s1{animation:fade-in .6s linear .6s forwards,stamp-out .4s linear 3.3s forwards}
  .receipt__stamps .s2{animation:fade-in .6s linear 3.5s forwards,stamp-out .4s linear 6.3s forwards}
  .receipt__stamps .s3{animation:fade-in .6s linear 6.5s forwards}
  .receipt__steps li:nth-child(1){animation:step-on .2s linear .7s both}.receipt__steps li:nth-child(2){animation:step-on .2s linear 3.6s both}.receipt__steps li:nth-child(3){animation:step-on .2s linear 6.6s both}
}
@keyframes fade-in{to{opacity:.92}}
@keyframes stamp-out{to{opacity:0}}@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes step-on{to{color:var(--color-ink)}}
.hero__stats{display:flex;gap:var(--space-5);margin-top:var(--space-5);font-family:var(--font-display)}.hero__stats div{display:flex;flex-direction:column}.hero__stats b{font-size:1.6rem;letter-spacing:-.02em;color:var(--color-ink);font-variant-numeric:tabular-nums}.hero__stats span{color:var(--color-mute);font-size:.82rem;font-family:var(--font-body)}
.how{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);margin:var(--space-6) 0}.how div{background:#fff;border:2px solid var(--color-ink);border-radius:var(--radius-s);padding:var(--space-5);position:relative}.how i{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--color-ink);color:var(--color-cyan);font:800 1rem var(--font-display);font-style:normal;margin-bottom:.5rem}.how h3{margin:.2em 0}.how p{color:var(--color-ink-2);margin:0;font-size:.93rem}
.sec__head{display:flex;align-items:end;justify-content:space-between;gap:var(--space-4);margin:var(--space-6) 0 var(--space-4)}.sec__head h1,.sec__head h2{margin:0}
.catgrid__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}.catgrid__item{background:#fff;border:1px solid var(--color-line-2);border-radius:var(--radius-s);padding:var(--space-4) var(--space-4);color:var(--color-ink);display:flex;flex-direction:column;gap:.2rem;transition:border-color var(--dur),transform var(--dur) var(--ease)}.catgrid__item:hover{border-color:var(--color-ink);text-decoration:none;transform:translateY(-2px)}.catgrid__item b{font-family:var(--font-display)}.catgrid__item span{color:var(--color-mute);font-size:.82rem}
.cta{margin-top:var(--space-7);background:var(--color-ink);color:#fff;border-radius:var(--radius-s);padding:var(--space-6);display:flex;align-items:center;justify-content:space-between;gap:var(--space-6)}.cta h2{margin:0 0 .3em;color:#fff}.cta p{margin:0;color:#B8C2D6}
/* fichas de servicio */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4)}
.card{background:#fff;border:1.5px solid var(--color-line-2);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:border-color var(--dur),transform var(--dur) var(--ease),box-shadow var(--dur)}.card:hover{border-color:var(--color-ink);transform:translateY(-3px);box-shadow:var(--shadow)}
.card__img{aspect-ratio:4/3;background:var(--color-paper-2);overflow:hidden;position:relative;display:block}.card__img img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}.card:hover .card__img img{transform:scale(1.03)}
.card__hot{position:absolute;left:.6rem;top:.6rem;font-family:var(--font-display);font-weight:800;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;padding:.4em .6em;border:2px solid var(--color-stamp-ink);border-radius:4px;background:var(--color-stamp);color:var(--color-stamp-ink);transform:rotate(-3deg)}.card--hot{border-color:var(--color-ink)}
.card__body{padding:var(--space-3) var(--space-4) var(--space-2);flex:1}.card__seller{display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:var(--color-ink-2);margin-bottom:.4rem}.card__seller a{display:flex;align-items:center;gap:.4rem;color:var(--color-ink)}
.card__title{font-size:1rem;margin:0 0 .4rem;font-weight:600;line-height:1.3;letter-spacing:-.01em}.card__title a{color:var(--color-ink)}.card__title a:hover{color:var(--color-cyan-2);text-decoration:none}
.card__meta{display:flex;justify-content:space-between;align-items:center;font-size:.82rem;color:var(--color-mute)}
.card__foot{display:flex;justify-content:space-between;align-items:baseline;padding:var(--space-2) var(--space-4) var(--space-3);border-top:1px dashed var(--color-line-2)}.card__from{font-size:.78rem;color:var(--color-mute)}
.price{font-family:var(--font-display);color:var(--color-ink);font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.price--lg{font-size:1.8rem}
.avatar{border-radius:50%;object-fit:cover;flex-shrink:0}.avatar--txt{display:inline-grid;place-items:center;width:var(--s,40px);height:var(--s,40px);background:var(--color-cyan-soft);color:var(--color-cyan-2);font-weight:700;font-family:var(--font-display);font-size:calc(var(--s,40px)*.38)}
.stars{white-space:nowrap;font-size:.85rem}.stars__s{color:#E0A800;letter-spacing:-1px}.stars b{color:var(--color-ink)}
.lvl{display:inline-block;font-size:.66rem;font-weight:700;padding:.2em .5em;border-radius:3px;background:var(--color-paper-2);border:1px solid var(--color-line-2);color:var(--color-ink-2);text-transform:uppercase;letter-spacing:.05em;font-family:var(--font-display)}.lvl--2{background:var(--color-cyan-soft);border-color:var(--color-cyan);color:var(--color-cyan-2)}.lvl--3{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-cyan)}.lvl--pro{background:var(--color-cyan);border-color:var(--color-ink);color:var(--color-ink)}
.tag{display:inline-block;font-family:var(--font-display);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.3em .55em;border-radius:4px;border:1.5px solid currentColor;color:var(--color-ink-2);vertical-align:middle;transform:rotate(-2deg)}.tag--cyan{color:var(--color-cyan-2)}.tag--green{color:var(--color-ok)}.tag--red{color:var(--color-bad)}.tag--blue{color:#2F4BB3}.tag--gray{color:var(--color-mute)}
.tag--held{background:var(--color-stamp);color:var(--color-stamp-ink);border-color:var(--color-stamp-ink)}
.empty{background:#fff;border:2px dashed var(--color-line-2);border-radius:var(--radius-s);padding:var(--space-6);text-align:center;color:var(--color-mute)}
.pager{display:flex;gap:.3rem;margin:var(--space-5) 0;justify-content:center}.pager a,.pager b{min-width:44px;min-height:44px;display:inline-grid;place-items:center;border-radius:var(--radius-s);background:#fff;border:1.5px solid var(--color-line-2)}.pager b{background:var(--color-ink);color:#fff;border-color:var(--color-ink)}
.chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:.5rem 0 var(--space-4)}.chips a,.chips span{padding:.35em .8em;border-radius:999px;background:#fff;border:1px solid var(--color-line-2);font-size:.85rem;color:var(--color-ink-2)}.chips a.on,.chips a:hover{border-color:var(--color-ink);color:var(--color-ink);text-decoration:none}.chips--sm a,.chips--sm span{font-size:.78rem}
.crumbs{font-family:var(--font-mono);font-size:.8rem;color:var(--color-mute);margin-bottom:var(--space-3)}
/* explorar */
.explore{display:grid;grid-template-columns:250px 1fr;gap:var(--space-5);align-items:start}
.filters{background:#fff;border:1.5px solid var(--color-line-2);border-radius:var(--radius-s);padding:var(--space-4);position:sticky;top:var(--space-4)}.filters h4{margin:.8em 0 .3em}.filters select,.filters input{width:100%}
.row{display:flex;gap:var(--space-2)}.row>*{flex:1;min-width:0}.two{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5);align-items:start}
/* formularios */
label{display:block;font-weight:600;font-size:.9rem;margin:.7em 0}label small{font-weight:400;color:var(--color-mute)}
input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{width:100%;min-height:44px;border:1.5px solid var(--color-line-2);border-radius:var(--radius-s);padding:.55em .8em;font:inherit;background:#fff;margin-top:.25em;color:var(--color-ink);transition:border-color var(--dur)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-ink);box-shadow:0 0 0 3px var(--color-cyan-soft)}textarea{resize:vertical;min-height:88px}
input[type=file]{margin-top:.3em;font-size:.9rem}
.form--job h3{margin-top:1.2em}.extras .row{margin-bottom:.4rem}.form--narrow{max-width:520px}
label.check{display:flex;gap:.5em;align-items:flex-start;font-weight:400;font-size:.9rem}label.check input{margin-top:.3em;width:18px;height:18px}
code{background:var(--color-paper-2);padding:.1em .4em;border-radius:4px;font-family:var(--font-mono);font-size:.95em;word-break:break-all}
/* cajas */
.box{background:#fff;border:1.5px solid var(--color-line-2);border-radius:var(--radius-s);padding:var(--space-5);margin-bottom:var(--space-4)}.box h3{margin-top:0}
.box--seller{display:flex;gap:var(--space-4);align-items:flex-start}.box--seller p{color:var(--color-ink-2);font-size:.93rem}.box--admin{border:2px solid var(--color-ink)}.box--express{border:2px solid var(--color-ink)}.box--note{border-left:4px solid var(--color-cyan);font-size:.9rem}.box--note .tag{margin:.2rem .2rem 0 0}
.box--buy{border:2px solid var(--color-ink);box-shadow:6px 6px 0 var(--color-ink)}
.box__price{display:flex;justify-content:space-between;align-items:baseline;border-bottom:2px dashed var(--color-line-2);padding-bottom:.6rem;margin-bottom:.6rem}.box__price span{color:var(--color-mute);font-size:.85rem}
.box__row{color:var(--color-ink-2);font-size:.92rem;margin-bottom:.8rem}.box__total{display:flex;justify-content:space-between;align-items:baseline;font-weight:700;margin:.8rem 0;font-size:1.05rem}
.extra{display:flex;align-items:center;gap:.6rem;padding:.5em 0;border-bottom:1px dashed var(--color-line-2);font-weight:400;font-size:.9rem;margin:0;min-height:44px}.extra span{flex:1}.extra b{color:var(--color-cyan-2)}.extra input{width:18px;height:18px}
.job{display:grid;grid-template-columns:1fr 360px;gap:var(--space-6);align-items:start}.job__img{border:1.5px solid var(--color-line-2);border-radius:var(--radius-s);margin:var(--space-4) 0 var(--space-5);max-height:460px;object-fit:cover;width:100%}
.job__seller{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin:.5rem 0 var(--space-4);color:var(--color-ink-2);font-size:.92rem}.job__seller a{display:flex;align-items:center;gap:.5rem;color:var(--color-ink)}
.job__side{position:sticky;top:var(--space-4)}.prose{color:#1F2A44;line-height:1.65}.prose--page{max-width:800px;background:#fff;padding:var(--space-6);border:1.5px solid var(--color-line-2);border-radius:var(--radius-s)}.prose--page h2{margin-top:1.4em}
.list{display:flex;flex-direction:column;gap:.4rem}.list__item{display:flex;justify-content:space-between;gap:var(--space-4);background:#fff;border:1px solid var(--color-line-2);border-radius:var(--radius-s);padding:.6em .9em;color:var(--color-ink);font-size:.9rem;min-height:44px;align-items:center}.list__item:hover{border-color:var(--color-ink);text-decoration:none}
.review{display:flex;gap:.8rem;padding:.9rem 0;border-bottom:1px dashed var(--color-line-2)}.review p{margin:.3em 0 0;color:#1F2A44}
.auth{max-width:460px;margin:var(--space-6) auto}.auth--wide{max-width:720px}.auth .box{padding:var(--space-6);border:2px solid var(--color-ink);box-shadow:6px 6px 0 var(--color-ink)}.auth h1{margin-top:0}
.summary{display:grid;grid-template-columns:1fr auto;gap:.3rem 1rem;align-items:baseline;padding:.8rem 0;border-top:2px dashed var(--color-line-2);border-bottom:2px dashed var(--color-line-2);font-variant-numeric:tabular-nums}
/* cuenta / admin */
.subnav{display:flex;gap:.3rem;flex-wrap:wrap;background:#fff;border:1.5px solid var(--color-line-2);border-radius:var(--radius-s);padding:.4rem;margin-bottom:var(--space-5)}.subnav a{min-height:40px;display:inline-flex;align-items:center;padding:0 .9em;border-radius:4px;color:var(--color-ink-2);font-weight:600;font-size:.9rem}.subnav a.on,.subnav a:hover{background:var(--color-ink);color:#fff;text-decoration:none}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:var(--space-3);margin-bottom:var(--space-4)}.kpis div{background:#fff;border:1.5px solid var(--color-line-2);border-radius:var(--radius-s);padding:var(--space-4)}.kpis b{display:block;font-family:var(--font-display);font-size:1.5rem;color:var(--color-ink);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.kpis span{color:var(--color-mute);font-size:.82rem}
.tbl{width:100%;border-collapse:collapse;background:#fff;border:1.5px solid var(--color-line-2);border-radius:var(--radius-s);overflow:hidden;font-size:.9rem}.tbl th,.tbl td{padding:.7em .8em;text-align:left;border-bottom:1px solid var(--color-line);vertical-align:top}.tbl th{background:var(--color-paper-2);font-family:var(--font-display);font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-ink-2)}.tbl--sm td{padding:.45em .6em}.tbl tr.off td{opacity:.5}.acts{white-space:nowrap}.acts form{display:inline}.pos{color:var(--color-ok);font-weight:700}.neg{color:var(--color-bad);font-weight:700}
.feed{list-style:none;padding:0;margin:0}.feed li{background:#fff;border:1px solid var(--color-line-2);border-radius:var(--radius-s);padding:.7em .9em;margin-bottom:.4rem;display:flex;justify-content:space-between;gap:var(--space-4)}.feed li.new{border-left:4px solid var(--color-cyan)}.feed a{color:var(--color-ink)}.feed small{color:var(--color-mute);white-space:nowrap}
/* pedido */
.order{display:grid;grid-template-columns:1fr 340px;gap:var(--space-5);align-items:start}
.timeline{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;padding:0;margin:0 0 var(--space-5)}.timeline li{position:relative;padding:.6rem .4rem .6rem 0;border-top:4px solid var(--color-line);font-size:.85rem;color:var(--color-mute);font-family:var(--font-display)}.timeline li b{display:block;color:inherit}.timeline li small{font-family:var(--font-mono);font-size:.72rem}.timeline li.done{border-color:var(--color-cyan);color:var(--color-ink)}
.chat{background:#fff;border:1.5px solid var(--color-line-2);border-radius:var(--radius-s);padding:var(--space-4);display:flex;flex-direction:column;gap:.8rem;max-height:70vh;overflow:auto}
.chat__sys{text-align:center;font-size:.82rem;color:var(--color-mute);font-family:var(--font-mono);background:var(--color-paper-2);border-radius:4px;padding:.4em .8em}
.chat__msg{display:flex;gap:.7rem}.chat__msg>div{background:var(--color-paper-2);border-radius:var(--radius-s);padding:.6rem .9rem;max-width:85%}.chat__msg.me{flex-direction:row-reverse}.chat__msg.me>div{background:var(--color-cyan-soft)}.chat__msg.delivery>div{border:2px solid var(--color-cyan)}.chat__msg.dispute>div{border:2px solid var(--color-bad)}.chat__msg p{margin:.3em 0 0}.att{display:inline-block;margin-top:.4rem;font-weight:600}
.chat__form{margin-top:.8rem;background:#fff;border:1.5px solid var(--color-line-2);border-radius:var(--radius-s);padding:.8rem}.chat__form .row{margin-top:.5rem;align-items:center}.chat__form .row input{flex:2}.chat__form .row button{flex:0 0 auto}
.rate{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:.1rem;font-size:1.8rem;margin:.3rem 0}.rate input{display:none}.rate label{cursor:pointer;color:#D1D5DB;margin:0}.rate input:checked~label,.rate label:hover,.rate label:hover~label{color:#E0A800}
/* solicitudes */
.reqs{display:flex;flex-direction:column;gap:.7rem}.req{display:flex;justify-content:space-between;gap:var(--space-5);background:#fff;border:1.5px solid var(--color-line-2);border-radius:var(--radius-s);padding:var(--space-4) var(--space-5);color:var(--color-ink);transition:border-color var(--dur)}.req:hover{border-color:var(--color-ink);text-decoration:none}.req p{color:var(--color-ink-2);margin:.3em 0;font-size:.92rem}.req__budget{text-align:right;white-space:nowrap}.req__budget span{display:block;font-size:.75rem;color:var(--color-mute)}.req__budget b{font-family:var(--font-display);font-size:1.2rem}.req__budget small{display:block}
.offer{display:flex;gap:.8rem;background:#fff;border:1.5px solid var(--color-line-2);border-radius:var(--radius-s);padding:var(--space-4);margin-bottom:.8rem}.offer>div:nth-child(2){flex:1}.offer.accepted{border:2px solid var(--color-ok)}.offer.declined{opacity:.6}.offer__side{text-align:right;white-space:nowrap}.offer__side b{display:block;font-size:1.2rem}.offer__side small{display:block;color:var(--color-mute);margin-bottom:.5rem}
/* pie */
.foot{background:var(--color-ink);color:#C5CEDD;margin-top:var(--space-8);padding:var(--space-7) 0 var(--space-4);font-size:.9rem}.foot__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:var(--space-6)}.foot h4{color:#fff;margin:.2em 0 .6em}.foot a{display:block;color:#C5CEDD;margin:.3em 0;min-height:28px}.foot a:hover{color:var(--color-cyan)}.foot p{color:#8A96AA}.foot__pay{font-size:.8rem}.foot__copy{border-top:1px solid rgba(255,255,255,.12);margin-top:var(--space-6);padding-top:var(--space-4);color:#7D8BA3;font-size:.8rem;font-family:var(--font-mono)}
@media(max-width:980px){.grid{grid-template-columns:repeat(3,1fr)}.job,.order{grid-template-columns:1fr}.job__side{position:static}.explore{grid-template-columns:1fr}.filters{position:static}.hero{grid-template-columns:1fr}.receipt{margin-inline:0}.foot__grid{grid-template-columns:1fr 1fr}.cta{flex-direction:column;align-items:flex-start}}
@media(max-width:680px){.grid{grid-template-columns:repeat(2,1fr)}.top__row{flex-wrap:wrap;height:auto;padding:.6rem 0}.search{order:3;flex-basis:100%;max-width:none}.top__nav{margin-left:auto}.top__nav>a:not(.btn){display:none}.how,.catgrid__grid,.two{grid-template-columns:1fr}.hero__stats{flex-wrap:wrap;gap:var(--space-4)}.hero h1{font-size:2rem}.timeline{grid-template-columns:repeat(2,1fr)}.tbl{display:block;overflow-x:auto}.req{flex-direction:column}.req__budget{text-align:left}.foot__grid{grid-template-columns:1fr}}
@media(max-width:420px){.grid{grid-template-columns:1fr}.wrap{width:min(1200px,100% - 1.25rem)}}
@media(prefers-reduced-motion:reduce){*{transition-duration:.01ms!important}.stamp--in{animation:none;opacity:.92}.card:hover,.catgrid__item:hover,.btn:hover{transform:none}}

/* ---- pasada 2: portada que vende ---- */
.rotator{display:inline-grid;text-align:left;color:var(--color-cyan-2)}.rotator>span{grid-area:1/1;opacity:0;animation:rotate-word 12.5s infinite}.rotator>span:nth-child(2){animation-delay:2.5s}.rotator>span:nth-child(3){animation-delay:5s}.rotator>span:nth-child(4){animation-delay:7.5s}.rotator>span:nth-child(5){animation-delay:10s}
@keyframes rotate-word{0%{opacity:0;transform:translateY(.25em)}4%,18%{opacity:1;transform:none}22%,100%{opacity:0;transform:translateY(-.25em)}}
@media(prefers-reduced-motion:reduce){@keyframes rotate-word{0%{opacity:0}5%,18%{opacity:1}23%,100%{opacity:0}}.rotator>span{transform:none!important}}
.ticker{margin:var(--space-2) 0 var(--space-5);border-top:2px solid var(--color-ink);border-bottom:2px solid var(--color-ink);background:#fff;overflow:hidden;white-space:nowrap}
.ticker__track{display:inline-flex;gap:var(--space-6);padding:.55rem 0;animation:ticker 60s linear infinite}.ticker:hover .ticker__track{animation-play-state:paused}
.ticker__item{color:var(--color-ink);font-size:.9rem;display:inline-flex;align-items:center;gap:.5em}.ticker__item .stamp{font-size:.62rem;padding:.3em .45em}.ticker__item small{color:var(--color-mute);font-family:var(--font-mono)}.ticker__item:hover{text-decoration:none;color:var(--color-cyan-2)}
@keyframes ticker{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.ticker{white-space:normal}.ticker__track{animation:none;flex-wrap:wrap;gap:var(--space-3) var(--space-5)}.ticker__item:nth-child(n+5){display:none}}
.trust{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);margin:var(--space-5) 0}.trust div{display:grid;grid-template-columns:auto 1fr;gap:.2em .8em;align-items:center;padding:var(--space-3) var(--space-4);background:var(--color-paper-2);border-radius:var(--radius-s)}.trust svg{width:30px;height:30px;grid-row:span 2;color:var(--color-cyan-2)}.trust b{font-family:var(--font-display)}.trust span{font-size:.85rem;color:var(--color-ink-2)}
.testi__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}.testi__card{margin:0;background:#fff;border:2px solid var(--color-ink);border-radius:var(--radius-s);box-shadow:5px 5px 0 var(--color-ink);padding:var(--space-5);transform:rotate(var(--tilt,0deg));transition:transform var(--dur) var(--ease)}.testi__card:hover{transform:rotate(0) translateY(-3px)}
.testi__card blockquote{margin:0 0 var(--space-4);font-family:var(--font-display);font-size:1.15rem;line-height:1.3;letter-spacing:-.01em}.testi__card figcaption{display:flex;gap:.7em;align-items:center;font-size:.9rem}.testi__card small{color:var(--color-mute)}
.catgrid__item{min-height:110px;justify-content:flex-end;position:relative;overflow:hidden}.catgrid__item--img{color:#fff;border-color:transparent;background:var(--img) center/cover}.catgrid__item--img::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,33,61,.1),rgba(20,33,61,.85));transition:opacity var(--dur)}.catgrid__item--img:hover::before{opacity:.9}.catgrid__item--img b,.catgrid__item--img span{position:relative;color:#fff}.catgrid__item--img span{color:#D5DCE8}
.calc{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6);align-items:center;margin-top:var(--space-7);background:var(--color-cyan-soft);border-radius:var(--radius-s);padding:var(--space-6)}.calc__list{padding-left:1.2em;color:var(--color-ink-2);margin-bottom:var(--space-5)}.calc__list li{margin:.25em 0}
.calc__box{background:#fff;border:2px solid var(--color-ink);border-radius:var(--radius-s);box-shadow:6px 6px 0 var(--color-ink);padding:var(--space-5)}.calc__box label{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.3em .8em}.calc__box output{font-family:var(--font-display);font-weight:800;color:var(--color-cyan-2);font-variant-numeric:tabular-nums}
.calc__box input[type=range]{flex-basis:100%;width:100%;accent-color:var(--color-cyan);min-height:32px;margin:0}
.calc__result{margin-top:var(--space-4);padding-top:var(--space-4);border-top:2px dashed var(--color-line-2);display:grid;gap:.1em}.calc__result span{font-size:.85rem;color:var(--color-ink-2)}.calc__result b{font-family:var(--font-display);font-size:2.2rem;letter-spacing:-.03em;font-variant-numeric:tabular-nums;transition:color var(--dur)}.calc__result small{color:var(--color-mute)}
.reveal{opacity:0;transition:opacity .6s var(--ease),transform .6s var(--ease)}.reveal.is-in{opacity:1;transform:none}
@media(prefers-reduced-motion:no-preference){.reveal{transform:translateY(16px)}}
.no-js .reveal{opacity:1;transform:none}
@media(max-width:980px){.calc,.testi__grid,.trust{grid-template-columns:1fr}}
