/* OnTape — home. Tokens in DESIGN.md. */
@font-face{font-family:"Manrope";src:url("fonts/manrope-latin.woff2") format("woff2-variations"),url("fonts/manrope-latin.woff2") format("woff2");font-weight:200 800;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Manrope";src:url("fonts/manrope-latin-ext.woff2") format("woff2-variations");font-weight:200 800;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"JUST Sans";src:url("fonts/JUST-Sans-Bold.woff2") format("woff2");font-weight:700;font-display:swap}

:root{
  --paper:#f6f5f1;--sheet:#fff;--ink:#272623;--ink-2:#5c5b57;--navy:#252d60;
  --marker:#ffd700;--marker-hover:#f2cc00;--marker-wash:#fff6bf;
  --rule:#dedbd2;--rule-strong:#272623;--ok:#1f6b3a;--err:#a3261b;
  --display:"JUST Sans","Manrope",system-ui,sans-serif;
  --text:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);
  --gutter:clamp(20px,4vw,40px);
  --shadow:0 1px 2px rgba(39,38,35,.06),0 14px 36px -14px rgba(39,38,35,.22);
  --r:4px;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:80px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition-duration:.01ms!important;animation-duration:.01ms!important}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--text);font-size:1rem;line-height:1.55;font-weight:500;caret-color:var(--navy);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
::selection{background:var(--marker);color:var(--ink)}
img{max-width:100%;display:block}
a{color:var(--navy);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--navy);outline-offset:2px;border-radius:2px}
button{font:inherit;color:inherit}
h1,h2,h3,p,dl,dd,ul,figure{margin:0}
p,dd,li{text-wrap:pretty}
ul{padding:0;list-style:none}
html{scrollbar-color:#cfcbc0 transparent;scrollbar-width:thin}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:50;background:var(--ink);color:#fff;padding:10px 14px;border-radius:var(--r)}
.skip:focus{top:12px}
.wrap{max-width:1240px;margin:0 auto;padding-inline:var(--gutter)}
.num{text-align:right;font-variant-numeric:tabular-nums}

/* type */
.display{font-family:var(--display);font-weight:700;font-size:clamp(2.25rem,3.9vw,3.75rem);line-height:1;letter-spacing:-.02em;text-wrap:balance}
.h2{font-family:var(--display);font-weight:700;font-size:clamp(1.75rem,2.6vw,2.5rem);line-height:1.05;letter-spacing:-.015em;text-wrap:balance}
.h3{font-size:1.25rem;font-weight:700;line-height:1.25}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border-radius:999px;border:0;font-weight:700;font-size:1rem;text-decoration:none;cursor:pointer;transition:background-color .2s var(--ease),transform .2s var(--ease)}
.btn--primary{background:var(--marker);color:var(--ink)}
.btn--primary:hover{background:var(--marker-hover)}
.btn--primary:active{transform:translateY(1px)}
.btn--ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
@media (hover:hover){.btn--ghost:hover{background:rgba(39,38,35,.05)}}
.btn--block{width:100%}
.btn--lg{min-height:56px;padding:0 32px;font-size:1.0625rem}
.textlink{background:none;border:0;padding:0;color:var(--navy);font-weight:700;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;cursor:pointer;min-height:44px;display:inline-flex;align-items:center}
.textlink:hover{text-decoration-thickness:2px}

/* top bar */
.topbar{position:sticky;top:0;z-index:20;background:rgba(246,245,241,.94);backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid var(--rule)}
.topbar__in{display:flex;align-items:center;gap:24px;min-height:68px}
.brand{display:flex;align-items:baseline;gap:12px;text-decoration:none;color:var(--ink)}
.brand__logo{display:block;height:36px;width:auto}
.brand{align-items:center}
.foot__logo{display:block;height:44px;width:auto}
.brand__tag{font-size:.8125rem;font-weight:600;color:var(--ink-2)}
.topbar__ship{font-size:.875rem;color:var(--ink-2);font-weight:600;padding-left:24px;border-left:1px solid var(--rule)}
.topbar__nav{margin-left:auto;display:flex;align-items:center;gap:20px}
.topbar__link{color:var(--ink);font-weight:600;text-decoration:none;font-size:.9375rem}
.topbar__link:hover{text-decoration:underline}
.topbar__wa{display:inline-flex;align-items:center;gap:8px;color:var(--ink);font-weight:700;text-decoration:none;font-variant-numeric:tabular-nums;min-height:44px}
.topbar__wa svg{width:20px;height:20px;fill:none;stroke:var(--ink);stroke-width:1.6;stroke-linejoin:round}
.quote-btn{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 8px 0 18px;border-radius:999px;border:0;background:var(--ink);color:#fff;font-weight:700;cursor:pointer}
.quote-btn__count{min-width:28px;height:28px;padding:0 8px;border-radius:999px;background:var(--marker);color:var(--ink);display:inline-grid;place-items:center;font-variant-numeric:tabular-nums;font-size:.875rem}
.quote-btn__count.is-bump{animation:bump .36s var(--ease)}
@keyframes bump{0%{transform:translateY(-5px)}100%{transform:none}}

/* hero */
.hero{padding-block:clamp(32px,6vw,72px) clamp(64px,8vw,112px)}
.hero__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-rows:auto 1fr;grid-template-areas:"copy sheet" "facts sheet";column-gap:clamp(32px,5vw,72px);row-gap:32px;align-items:start}
.hero__copy{grid-area:copy}.sheet{grid-area:sheet}
.hero__facts{grid-area:facts;display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.hero__facts .facts{align-self:stretch}
.hero__copy{display:flex;flex-direction:column;gap:24px;padding-top:12px}
.hero__lead{font-size:1.1875rem;line-height:1.5;color:var(--ink);max-width:34ch;font-weight:500}
.facts{border-top:2px solid var(--rule-strong)}
.facts div{display:grid;grid-template-columns:7.5rem 1fr;gap:16px;padding:13px 0;border-bottom:1px solid var(--rule)}
.facts dt{font-size:.875rem;font-weight:700;color:var(--ink-2)}
.facts dd{font-weight:600;font-size:.9375rem;line-height:1.4}

/* price sheet */
.sheet{background:var(--sheet);border-radius:var(--r);box-shadow:var(--shadow);display:flex;flex-direction:column;outline:0}
.sheet__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 16px;padding:24px 28px 16px}
.sheet__title{font-family:var(--display);font-weight:700;font-size:1.5rem;letter-spacing:-.01em}
.sheet__meta{font-size:.8125rem;color:var(--ink-2);font-weight:600}
.tabs{display:flex;gap:4px;padding:0 20px;border-bottom:1px solid var(--rule);overflow-x:auto}
.tab{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 12px;background:none;border:0;font-weight:700;color:var(--ink-2);cursor:pointer;white-space:nowrap}
.tab:hover{color:var(--ink)}
.tab[aria-selected="true"]{color:var(--ink)}
.tab[aria-selected="true"]::after{content:"";position:absolute;left:8px;right:8px;bottom:-1px;height:3px;background:var(--ink)}
.tab__n{font-size:.75rem;font-weight:700;color:var(--ink-2);font-variant-numeric:tabular-nums}
.sheet__scroll{overflow-x:auto}
.prices{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.prices th{font-size:.8125rem;font-weight:700;color:var(--navy);text-align:left;padding:12px 12px;border-bottom:1px solid var(--rule)}
.prices th:first-child,.prices td:first-child{padding-left:28px}
.prices th:last-child,.prices td:last-child{padding-right:20px}
.prices th.num{text-align:right}
.prices .qty-h{text-align:center;width:1%}
.prices td{padding:10px 12px;border-bottom:1px solid var(--rule);vertical-align:middle}
.prices tbody tr:last-child td{border-bottom:0}
.prices tbody tr{position:relative;background:linear-gradient(90deg,var(--marker-wash) 0 0) no-repeat 0 0/0% 100%;transition:background-size .32s var(--ease)}
.prices tbody tr.is-on{background-size:100% 100%}
.ref{display:flex;flex-direction:column;gap:2px}
.ref__w{font-weight:800;font-size:1.0625rem;line-height:1.2;position:relative}
.ref__w small{font-weight:600;font-size:.8125rem;color:var(--ink-2);margin-left:6px}
.ref__s{font-size:.8125rem;color:var(--ok);font-weight:700}
.ref__box{color:var(--ink-2);font-weight:600}
.price--ask{color:var(--ink-2);font-weight:600}
.ref__m{display:none;font-size:.8125rem;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
.len{font-weight:600;white-space:nowrap}
.price{font-weight:700;white-space:nowrap}
.stepper{display:inline-flex;align-items:center;border:1.5px solid var(--rule);border-radius:999px;background:#fff}
.is-on .stepper{border-color:var(--ink)}
.stepper button{width:44px;height:44px;border:0;background:none;border-radius:999px;display:grid;place-items:center;cursor:pointer;color:var(--ink)}
.stepper button:hover:not(:disabled){background:rgba(39,38,35,.06)}
.stepper button:disabled{color:#b9b6ad;cursor:default}
.stepper svg{width:16px;height:16px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round}
.stepper input{width:2.75rem;height:44px;border:0;text-align:center;font:inherit;font-weight:800;font-variant-numeric:tabular-nums;background:transparent;color:var(--ink);-moz-appearance:textfield}
.stepper input::-webkit-outer-spin-button,.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.sheet__note{font-size:.8125rem;color:var(--ink-2);padding:14px 28px;border-top:1px solid var(--rule)}
.quotebar{position:sticky;bottom:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;padding:16px 20px 16px 28px;background:var(--ink);color:#fff;border-radius:0 0 var(--r) var(--r)}
.quotebar__sum{font-weight:600;font-size:.9375rem;font-variant-numeric:tabular-nums}
.quotebar__sum strong{color:#fff;font-weight:800}

/* lines */
.lines{padding-block:clamp(72px,9vw,120px) clamp(48px,6vw,80px);border-top:1px solid var(--rule)}
.lines .h2{margin-bottom:32px}
.lines__list{border-top:2px solid var(--rule-strong)}
.line{display:grid;grid-template-columns:200px minmax(0,1fr) auto;gap:32px;align-items:center;padding:24px 0;border-bottom:1px solid var(--rule)}
.line__img{aspect-ratio:4/3;background:#ecebe5;border-radius:var(--r);overflow:hidden;position:relative}
.line__img::before{content:"Foto pendiente";position:absolute;inset:0;display:grid;place-items:center;padding:12px;text-align:center;font-size:.75rem;font-weight:600;color:var(--ink-2)}
.line__img img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover}
.line__img.is-missing img{display:none}
.line--noimg .line__body{grid-column:1/3}
.line__body{display:flex;flex-direction:column;gap:6px;max-width:60ch}
.line__body p{color:var(--ink)}
.line__specs{font-weight:700;font-size:.9375rem;color:var(--navy)!important;font-variant-numeric:tabular-nums}
.line__end{display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right}
.line__from{font-family:var(--display);font-weight:700;font-size:1.75rem;line-height:1;white-space:nowrap}
.line__from span{display:block;font-family:var(--text);font-size:.8125rem;font-weight:600;color:var(--ink-2);margin-bottom:4px}
.lines__soon{margin-top:20px;font-size:.9375rem;color:var(--ink-2);font-weight:600}

/* logistics */
.logistics{background:var(--navy);color:#fff;padding-block:clamp(72px,9vw,120px)}
.logistics__grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:40px clamp(40px,6vw,96px);align-items:start}
.logistics__copy{display:flex;flex-direction:column;gap:20px}
.logistics__copy p{font-size:1.0625rem;line-height:1.65;max-width:52ch;color:#e4e6f1}
.ship{width:100%;border-collapse:collapse;border-top:2px solid #fff}
.ship caption{text-align:left;font-size:.875rem;font-weight:700;color:#c9cce0;padding-bottom:12px}
.ship thead th{font-size:.8125rem;color:#c9cce0;text-align:left;font-weight:700;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.18)}
.ship tbody th,.ship td{padding:18px 0;border-bottom:1px solid rgba(255,255,255,.18);text-align:left}
.ship tbody th{font-weight:600;font-size:1.0625rem}
.ship td{font-family:var(--display);font-weight:700;font-size:clamp(1.25rem,2vw,1.625rem);color:#fff;line-height:1.1}
.ship tbody th,.ship thead th:first-child{padding-right:24px}
.logistics__points{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 40px;padding-top:32px;border-top:1px solid rgba(255,255,255,.18)}
.logistics__points li{color:#e4e6f1;font-size:.9375rem;line-height:1.6}
.logistics__points strong{display:block;color:#fff;font-size:1.0625rem;margin-bottom:4px}

/* contact */
.contact{padding-block:clamp(72px,9vw,128px)}
.contact__grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:start}
.contact__copy{display:flex;flex-direction:column;gap:16px;position:sticky;top:100px}
.contact__copy p{font-size:1.0625rem;max-width:40ch}
.contact__alt{color:var(--ink-2)}
.contact__alt a{font-weight:700}
.form{background:var(--sheet);border-radius:var(--r);box-shadow:var(--shadow);padding:clamp(24px,3.5vw,40px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}
.form__summary{grid-column:1/-1;padding:16px 20px;background:var(--marker-wash);border-radius:var(--r)}
.form__summary-title{font-weight:800;font-size:.875rem;margin-bottom:6px}
.form__summary li{font-size:.9375rem;font-variant-numeric:tabular-nums}
.field{display:flex;flex-direction:column;gap:6px}
.field--full{grid-column:1/-1}
.field label{font-weight:700;font-size:.875rem}
.opt{font-weight:500;color:var(--ink-2)}
.field input,.field select,.field textarea{font:inherit;font-weight:500;color:var(--ink);background:#fff;border:1.5px solid #8f8c84;border-radius:var(--r);min-height:48px;padding:10px 14px;width:100%;transition:border-color .2s var(--ease)}
.field textarea{resize:vertical;min-height:96px}
.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23272623' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:18px;padding-right:40px}
.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--ink)}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:3px solid var(--navy);outline-offset:1px;border-color:var(--navy)}
.field input::placeholder{color:#6f6c66}
.field [aria-invalid="true"]{border-color:var(--err)}
.field__err{font-size:.8125rem;color:var(--err);font-weight:600;min-height:0}
.field__err:empty{display:none}
.form__end{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding-top:4px}
.form__fine{font-size:.8125rem;color:var(--ink-2);max-width:36ch}
.form__ok{grid-column:1/-1;font-weight:700;color:var(--ok)}

/* footer */
.foot{background:var(--ink);color:#d9d7d0;padding-block:56px 40px}
.foot__in{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px}
.foot__line{margin-top:10px;font-size:.9375rem}
.foot__links{display:grid;grid-template-columns:repeat(2,auto);gap:4px 32px;align-content:start}
.foot__links a{color:#fff;font-weight:600;min-height:40px;display:inline-flex;align-items:center}
.foot__legal{grid-column:1/-1;padding-top:24px;border-top:1px solid rgba(255,255,255,.14);font-size:.8125rem;color:#b4b1a9}

/* WhatsApp float */
.wa-float{display:none;position:fixed;transition:opacity .25s var(--ease),transform .25s var(--ease);right:16px;bottom:16px;z-index:30;width:56px;height:56px;border-radius:999px;background:var(--ink);place-items:center;box-shadow:0 8px 24px -8px rgba(39,38,35,.5)}
.wa-float svg{width:28px;height:28px;fill:none;stroke:var(--marker);stroke-width:1.6;stroke-linejoin:round}

/* cart drawer */
.scrim{position:fixed;inset:0;background:rgba(39,38,35,.4);z-index:40}
.cart{position:fixed;top:0;right:0;bottom:0;z-index:41;width:min(440px,100%);background:var(--sheet);display:flex;flex-direction:column;box-shadow:-20px 0 48px -20px rgba(39,38,35,.4);animation:slide .32s var(--ease)}
@keyframes slide{from{transform:translateX(24px);opacity:.6}to{transform:none;opacity:1}}
.cart__head{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 16px 24px;border-bottom:1px solid var(--rule)}
.cart__title{font-family:var(--display);font-weight:700;font-size:1.5rem}
.icon-btn{width:44px;height:44px;border:0;background:none;border-radius:999px;display:grid;place-items:center;cursor:pointer}
.icon-btn:hover{background:rgba(39,38,35,.06)}
.icon-btn svg{width:20px;height:20px;stroke:var(--ink);stroke-width:2;stroke-linecap:round;fill:none}
.cart__body{flex:1;overflow:auto;padding:8px 24px}
.cart__list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center;padding:16px 0;border-bottom:1px solid var(--rule)}
.cart__name{font-weight:700;line-height:1.3}
.cart__meta{grid-column:1;font-size:.8125rem;color:var(--ink-2);font-variant-numeric:tabular-nums}
.cart__list .stepper{grid-row:1/3;grid-column:2}
.cart__empty{padding:32px 0;display:flex;flex-direction:column;align-items:flex-start;gap:4px;color:var(--ink-2)}
.cart__foot{padding:20px 24px 24px;border-top:2px solid var(--rule-strong);display:flex;flex-direction:column;gap:12px}
.cart__total{display:flex;justify-content:space-between;gap:12px;font-weight:800;font-size:1.125rem;font-variant-numeric:tabular-nums}
.cart__fine{font-size:.8125rem;color:var(--ink-2)}

/* responsive */
@media (max-width:1080px){
  .topbar__ship,.topbar__link{display:none}
  .hero__grid{grid-template-columns:minmax(0,1fr);grid-template-rows:none;grid-template-areas:"copy" "sheet" "facts"}
  .hero__lead{max-width:48ch}
  .logistics__grid,.contact__grid{grid-template-columns:minmax(0,1fr)}
  .contact__copy{position:static}
}
@media (max-width:720px){
  .topbar__in{gap:12px;min-height:60px}
  .brand__logo{display:block;height:36px;width:auto}
.brand{align-items:center}
.foot__logo{display:block;height:44px;width:auto}
.brand__tag{display:none}
  .topbar__wa span{display:none}
  .topbar__nav{gap:8px}
  .hero{padding-top:24px}
  .hero__copy{gap:16px;padding-top:0}
  .hero__grid{row-gap:24px}
  .hero__lead{font-size:1.0625rem}
  .facts div{grid-template-columns:6rem 1fr;gap:12px;padding:10px 0}
  .sheet{margin-inline:calc(var(--gutter) * -1);border-radius:0}
  .sheet__head{padding:20px 20px 12px}
  .tabs{padding:0 12px}
  .prices th:first-child,.prices td:first-child{padding-left:20px}
  .prices th:last-child,.prices td:last-child{padding-right:12px}
  .prices td,.prices th{padding-inline:8px}
  .prices .len-h,.prices td.len{display:none}
  .ref__w small{display:none}
  .ref__m{display:block}
  .stepper button{width:40px}
  .stepper input{width:2.25rem}
  .sheet__note{padding:12px 20px}
  .quotebar{padding:12px 20px;border-radius:0}
  .quotebar .btn{width:100%}
  .line{grid-template-columns:96px minmax(0,1fr);gap:16px 20px;align-items:start}
  .line--noimg .line__body{grid-column:1/-1}
  .line--noimg .line__end{grid-column:1/-1}
  .line__end{grid-column:2;flex-direction:row;align-items:center;justify-content:space-between;text-align:left;width:100%}
  .line__from{font-size:1.375rem}
  .line__from span{display:inline;margin:0 6px 0 0}
  .logistics__points{grid-template-columns:minmax(0,1fr);border-top:0;padding-top:8px}
  .ship tbody th{font-size:1rem}
  .form{grid-template-columns:minmax(0,1fr);margin-inline:calc(var(--gutter) * -1);border-radius:0}
  .foot__in{grid-template-columns:minmax(0,1fr)}
  .foot__links{grid-template-columns:minmax(0,1fr)}
  .wa-float{display:grid}
  .wa-hide .wa-float{opacity:0;transform:translateY(12px);pointer-events:none}
  .foot{padding-bottom:96px}
}
