/* Kit común de Evolven Outdoors — extraído del home F3 A (f3a-syncopate.html).
   Todas las páginas interiores lo usan: mismo chrome, mismos componentes, misma tipografía. */
/* tokens: ver tokens.css */
*{box-sizing:border-box;margin:0;padding:0}
html{scrollbar-color:#3A4A4D var(--deep);scrollbar-width:thin}
body{font-family:var(--b);background:var(--char);color:var(--tx);font-size:13px;line-height:1.85;letter-spacing:.06em;text-transform:uppercase;-webkit-font-smoothing:antialiased;caret-color:var(--sand)}
body.lock{overflow:hidden}
::selection{background:var(--sand);color:var(--char)}
::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--deep)}::-webkit-scrollbar-thumb{background:#33454A;border-radius:10px;border:2px solid var(--deep)}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit}
button{background:none;border:0;cursor:pointer}
:focus-visible{outline:2px solid var(--sand);outline-offset:3px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--g)}
.u{text-transform:none}
.trk{font-family:var(--d);text-transform:uppercase;font-weight:700;letter-spacing:var(--ls,.2em)}
.num{font-variant-numeric:tabular-nums}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.mut{color:var(--tx-2)}

/* ---------- botones y controles ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;height:54px;padding:0 28px;border-radius:999px;background:var(--btn);color:#fff;font-weight:700;font-size:12px;white-space:nowrap;transition:background-color .2s,transform .15s var(--ease),box-shadow .2s}
.btn:hover{background:var(--btn-d)}.btn:active{transform:scale(.97)}
.btn[disabled]{background:#3A4A4D;color:#8F9A9B;cursor:not-allowed}
.btn--g{background:transparent;box-shadow:inset 0 0 0 1px rgba(240,232,221,.55);color:var(--tx)}
.btn--g:hover{background:rgba(240,232,221,.1)}
.btn--s{height:42px;padding:0 20px;font-size:11px;gap:10px}
.btn--ink{background:var(--ink);color:var(--cream)}.btn--ink:hover{background:#000}
.chip{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 16px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--tx-2);box-shadow:inset 0 0 0 1px var(--line-2);white-space:nowrap;transition:background-color .2s,color .2s,box-shadow .2s}
.chip:hover{color:var(--tx);box-shadow:inset 0 0 0 1px rgba(240,232,221,.6)}
.chip[aria-pressed=true],.chip[aria-checked=true]{background:var(--sand);color:var(--char);box-shadow:none}
.chip span{font-weight:400;letter-spacing:0;opacity:.75}
.field{display:grid;gap:8px}
.field label,.lbl{font-size:11px;font-weight:700;letter-spacing:.18em;color:var(--tx-2)}
.inp{height:52px;border-radius:999px;border:1px solid rgba(240,232,221,.32);background:rgba(6,13,14,.55);padding:0 22px;font-size:13px;text-transform:none;letter-spacing:.02em;color:var(--tx);transition:border-color .2s,box-shadow .2s}
textarea.inp{height:auto;min-height:120px;border-radius:16px;padding:16px 20px;line-height:1.6;resize:vertical}
.inp::placeholder{color:#9C907F}
.inp:focus{outline:none;border-color:var(--sand);box-shadow:0 0 0 3px rgba(231,205,173,.2)}
.inp[aria-invalid=true]{border-color:#E08A6E}
.err{font-size:11px;color:#F0A58C;letter-spacing:.08em;min-height:1em}
.ico{width:18px;height:18px;flex:none;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

/* ---------- header (igual al home) ---------- */
.hd{position:fixed;z-index:60;top:0;left:0;right:0;height:var(--hd);transition:background-color .4s var(--ease),transform .5s var(--ease)}
.hd.solid{background:rgba(13,25,27,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--line)}
.hd.hide{transform:translateY(-102%)}
.hd__in{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:100%;max-width:var(--maxw);margin:0 auto;padding:0 var(--g)}
.hd nav{display:flex;gap:34px;font-family:var(--d);font-size:11px;font-weight:700;letter-spacing:.24em;text-transform:uppercase}
.hd nav a{padding:6px 0;box-shadow:inset 0 -1px 0 transparent;transition:box-shadow .3s var(--ease)}
.hd nav a:hover,.hd nav a[aria-current=page]{box-shadow:inset 0 -1px 0 var(--sand)}
.hd nav.r{justify-content:flex-end;align-items:center}
.hd__logo img{width:190px;height:auto;display:block}
.lang{font-family:var(--b);letter-spacing:0;text-transform:none;font-size:12px;color:var(--tx-2)}.lang b{color:var(--tx)}
.burger{display:none;width:44px;height:44px;border-radius:50%;position:relative;justify-self:end}
.burger i,.burger i::before{position:absolute;left:12px;right:12px;height:1.5px;background:var(--tx);content:""}
.burger i{top:21px}.burger i::before{left:0;right:0;top:-6px;width:60%}
.mm{position:fixed;inset:0;z-index:80;background:var(--deep);display:flex;flex-direction:column;padding:96px 18px 28px;opacity:0;visibility:hidden;transition:opacity .35s var(--ease),visibility 0s .35s}
.mm.open{opacity:1;visibility:visible;transition:opacity .35s var(--ease)}
.mm a.big{font-family:var(--d);font-weight:700;font-size:26px;letter-spacing:.2em;padding:14px 0;border-bottom:1px solid var(--line)}
.mm__foot{margin-top:auto;display:grid;gap:4px;font-size:11px;color:var(--tx-2)}
.mm .x{top:16px;right:16px}

/* lo que queda pegado arriba baja cuando el header está a la vista: nunca se tapan */
.ix,[data-stick]{transition:top .5s var(--ease)}
body.hd-vis .ix,body.hd-vis [data-stick]{top:var(--hd)}

/* ---------- índice de líneas (igual al home) ---------- */
.ix{position:sticky;top:0;z-index:40;height:var(--ix);background:rgba(11,21,23,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--line)}
.ix__in{position:relative;display:flex;align-items:stretch;justify-content:space-between;height:100%;max-width:var(--maxw);margin:0 auto;padding:0 var(--g);overflow-x:auto;scrollbar-width:none}
.ix__in::-webkit-scrollbar{display:none}
.ix button{flex:none;display:flex;align-items:center;gap:10px;padding:0 4px;font-family:var(--d);font-size:11px;font-weight:700;letter-spacing:.22em;color:var(--tx-3);white-space:nowrap;transition:color .3s var(--ease)}
.ix button span{font-weight:400;letter-spacing:0;color:#8F8476;font-variant-numeric:tabular-nums}
.ix button:hover,.ix button[aria-current=true]{color:var(--tx)}
.ix button[aria-current=true] span{color:var(--sand)}
.ix__bar{position:absolute;left:0;bottom:0;width:100px;height:2px;background:var(--sand);transform-origin:0 0;transition:transform .5s var(--ease)}

/* ---------- tarjeta de colección ---------- */
.cc{position:relative;display:block;width:100%;text-align:left;border-radius:14px;overflow:hidden;background:var(--deep);cursor:pointer;isolation:isolate}
.cc__ph{position:relative;aspect-ratio:var(--ar,4/3);overflow:hidden;background:#0B1517}
.cc__ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease),opacity .4s}
.cc:hover .cc__ph img{transform:scale(1.045)}
.cc__ph .alt{position:absolute;inset:0;opacity:0;object-fit:contain;background:#E9E4DC;padding:6%}
.cc.prod .cc__ph .alt{opacity:1}
.cc__b{display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:baseline;padding:14px 16px 16px}
.cc__b b{font-family:var(--d);font-size:15px;letter-spacing:.2em}
.cc__b .r{font-size:11px;color:var(--tx-3);letter-spacing:.12em}
.cc__b small{grid-column:1/-1;font-size:11px;color:var(--tx-2);line-height:1.5}
.cc__b em{grid-column:1/-1;font-style:normal;font-size:11px;color:var(--sand);letter-spacing:.1em;font-variant-numeric:tabular-nums}
.tag-i{position:absolute;z-index:2;left:10px;top:10px;padding:4px 10px;border-radius:999px;background:rgba(7,16,18,.78);font-size:10px;font-weight:700;letter-spacing:.16em;color:var(--sand)}

/* ---------- cajón: ficha y mi lista ---------- */
.scrim{position:fixed;inset:0;z-index:70;background:rgba(5,11,12,.6);opacity:0;pointer-events:none;transition:opacity .35s var(--ease)}
.drawer{position:fixed;z-index:71;top:0;right:0;bottom:0;width:min(520px,100vw);background:var(--char-2);overflow:auto;overscroll-behavior:contain;transform:translateX(102%);visibility:hidden;transition:transform .55s var(--ease),visibility 0s .55s;box-shadow:-30px 0 60px -30px rgba(0,0,0,.7)}
.open-d .scrim{opacity:1;pointer-events:auto}.open-d .drawer{transform:none;visibility:visible;transition:transform .55s var(--ease),visibility 0s}
.x{position:absolute;top:14px;right:14px;z-index:3;width:44px;height:44px;border-radius:50%;background:rgba(13,25,27,.85)}
.x::before,.x::after{content:"";position:absolute;left:13px;right:13px;top:21px;height:1.5px;background:var(--tx);transform:rotate(45deg)}
.x::after{transform:rotate(-45deg)}
.fi__fig{position:relative;aspect-ratio:4/3;overflow:hidden;background:#0b1416}
.fi__fig img{width:100%;height:100%;object-fit:cover}
.fi__fig img.prod{object-fit:contain;background:#E9E4DC;padding:5%}
.fi__tabs{position:absolute;z-index:2;left:14px;bottom:14px;display:flex;gap:6px}
.fi__tabs button{height:32px;padding:0 14px;border-radius:999px;background:rgba(7,16,18,.78);font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--tx-2)}
.fi__tabs button[aria-pressed=true]{background:var(--sand);color:var(--char)}
.fi__b{padding:26px 30px 120px}
.fi__ref{font-size:11px;color:var(--tx-3);letter-spacing:.16em;margin-top:6px}
.fi__b h3{font-family:var(--d);font-weight:700;font-size:30px;letter-spacing:.2em;line-height:1.15}
.fi__t{font-size:11.5px;color:var(--tx-2);margin-top:6px}
.fi__h{font-size:11px;font-weight:700;letter-spacing:.2em;color:var(--sand);margin-top:26px}
.fi__pz{list-style:none;margin-top:8px;border-top:1px solid var(--line)}
.fi__pz li{display:grid;grid-template-columns:34px 1fr auto;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:11px;align-items:baseline}
.fi__pz li b{color:var(--sand);font-variant-numeric:tabular-nums}
.fi__pz li span{color:var(--tx-2);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.fi__mat{font-size:11px;color:var(--tx);margin-top:8px;line-height:1.7}
.fi__kv{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:10px;background:var(--line);border-radius:12px;overflow:hidden}
.fi__kv div{background:var(--char-2);padding:12px 14px}
.fi__kv dt{font-size:11px;color:var(--tx-3);letter-spacing:.16em}
.fi__kv dd{font-size:14px;font-weight:700;margin-top:4px;font-variant-numeric:tabular-nums}
.fi__note{font-size:11px;color:var(--tx-3);margin-top:12px;line-height:1.6}
.fi__act{position:sticky;bottom:0;display:flex;gap:10px;padding:14px 30px 18px;background:linear-gradient(180deg,rgba(19,36,39,0),var(--char-2) 30%);margin-top:-100px}
.fi__act .btn{flex:1 1 0;min-width:0;padding:0 16px}
.fi__nav{display:flex;justify-content:space-between;margin-top:22px;font-size:11px;color:var(--tx-2)}
.fi__nav button:hover{color:var(--tx)}

/* mi lista: botón flotante y panel */
.dock{position:fixed;z-index:55;right:22px;bottom:22px;display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:rgba(13,25,27,.86);color:var(--tx);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:inset 0 0 0 1px rgba(240,232,221,.34),0 14px 30px -14px rgba(0,0,0,.8);transform:translateY(calc(100% + 40px));transition:transform .5s var(--ease),box-shadow .2s}
.dock.on{transform:none}.dock.on.away{transform:translateY(calc(100% + 40px))}
.dock:hover{box-shadow:inset 0 0 0 1px var(--sand),0 14px 30px -14px rgba(0,0,0,.8)}
.dock svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.dock i{position:absolute;top:-5px;right:-5px;min-width:21px;height:21px;padding:0 5px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--sand);color:var(--char);font-style:normal;font-size:10px;font-weight:700;letter-spacing:0;font-variant-numeric:tabular-nums}
.dock.bump i{animation:bump .5s var(--ease)}
@keyframes bump{40%{transform:scale(1.25)}}
.ls{padding:30px 30px 40px}
.ls h3{font-family:var(--d);font-size:22px;letter-spacing:.2em}
.ls__empty{margin-top:20px;font-size:11.5px;color:var(--tx-2)}
.ls__it{display:grid;grid-template-columns:72px 1fr auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.ls__it img{width:72px;height:54px;border-radius:8px;object-fit:cover}
.ls__it b{display:block;font-size:12px;letter-spacing:.18em}
.ls__it small{display:block;font-size:11px;color:var(--tx-2);line-height:1.5}
.step{display:inline-flex;align-items:center;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line-2)}
.step button{width:32px;height:32px;font-size:15px;color:var(--tx-2)}.step button:hover{color:var(--tx)}
.step output{min-width:22px;text-align:center;font-size:12px;font-variant-numeric:tabular-nums}
.meter{margin-top:22px;display:grid;gap:14px}
.meter__r{display:grid;gap:6px}
.meter__r div{display:flex;justify-content:space-between;font-size:11px;color:var(--tx-2)}
.meter__r div b{color:var(--tx);font-variant-numeric:tabular-nums}
.meter__bar{position:relative;height:12px;border-radius:999px;background:rgba(240,232,221,.08);overflow:hidden}
.meter__bar i{position:absolute;inset:0;border-radius:999px;background:var(--cel);transform-origin:0 50%;transform:scaleX(0);transition:transform .6s var(--ease),background-color .3s}
.meter__bar i.over{background:#E08A6E}
.meter__v{font-size:11px;color:var(--sand);margin-top:6px;line-height:1.6}

/* ---------- configurador de pérgolas ---------- */
.pc{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px;align-items:start}
.pc__plan{position:relative;border-radius:16px;background:var(--deep);box-shadow:inset 0 0 0 1px var(--line);padding:18px}
.pc__plan svg{display:block;width:100%;height:auto;overflow:visible}
.pc__plan .lv{stroke:rgba(240,232,221,.35);stroke-width:1.2}
.pc__plan .fr{fill:rgba(130,192,203,.06);stroke:var(--tx);stroke-width:2}
.pc__plan .po{fill:var(--tx)}
.pc__plan .dim{stroke:var(--sand);stroke-width:1}
.pc__plan .dimt{fill:var(--sand);font-family:var(--d);font-size:13px;font-weight:700;letter-spacing:.14em}
.pc__plan .sd{stroke:transparent;stroke-width:22;cursor:pointer}
.pc__plan .sdv{stroke:var(--btn);stroke-width:6;stroke-linecap:round;opacity:0;transition:opacity .25s}
.pc__plan .sdv.on{opacity:1}
.pc__plan .sdh{stroke:rgba(231,205,173,.5);stroke-width:6;stroke-dasharray:2 8;stroke-linecap:round;opacity:0;transition:opacity .2s}
.pc__plan .sd:hover+.sdh,.pc__plan.zip .sdh{opacity:1}
.pc__plan .sdh.hidden{opacity:0!important}
.pc__ph{margin-top:14px;border-radius:12px;overflow:hidden;aspect-ratio:16/7}
.pc__ph img{width:100%;height:100%;object-fit:cover}
.pc__cap{position:absolute;left:30px;top:24px;font-size:11px;color:var(--tx-3);letter-spacing:.16em}
.pc__grp{padding:18px 0;border-bottom:1px solid var(--line)}
.pc__grp:first-child{padding-top:0}
.pc__grp .lbl{display:block;margin-bottom:12px}
.pc__tipos{display:grid;gap:8px}
.pc__tipo{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;align-items:center;padding:12px 16px;border-radius:12px;text-align:left;box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .2s,background-color .2s}
.pc__tipo::before{content:"";grid-row:span 2;width:14px;height:14px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--tx-3)}
.pc__tipo b{font-size:12px;letter-spacing:.2em}.pc__tipo small{font-size:11px;color:var(--tx-2)}
.pc__tipo[aria-checked=true]{background:rgba(231,205,173,.08);box-shadow:inset 0 0 0 1px var(--sand)}
.pc__tipo[aria-checked=true]::before{box-shadow:inset 0 0 0 4px var(--sand)}
.pc__med{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.pc__m{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 4px;border-radius:10px;box-shadow:inset 0 0 0 1px var(--line);font-size:11px;color:var(--tx-2);font-variant-numeric:tabular-nums;transition:box-shadow .2s,color .2s}
.pc__m i{display:block;border:1.5px solid currentColor;border-radius:2px}
.pc__m[aria-checked=true]{color:var(--sand);box-shadow:inset 0 0 0 1px var(--sand)}
.pc__zip{display:flex;flex-wrap:wrap;gap:8px}
.pc__lados{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.pc__out{margin-top:18px}
.pc__out dl{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;font-size:11px}
.pc__out dt{color:var(--tx-2)}.pc__out dd{text-align:right;font-variant-numeric:tabular-nums}
.pc__out .btn{width:100%;margin-top:18px}

/* ---------- bloque de descarga del catálogo ---------- */
.dl{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:80px;align-items:center}
.book{position:relative;width:min(380px,80%);margin:0 auto;aspect-ratio:210/297;perspective:1600px}
.book__pg{position:absolute;inset:0;border-radius:3px 10px 10px 3px;background:#CFC4B4;transform:translate(7px,6px);box-shadow:0 40px 60px -30px rgba(0,0,0,.8)}
.book__pg:nth-child(2){transform:translate(3.5px,3px);background:#E6DCCD}
.book__cv{position:absolute;inset:0;border-radius:3px 10px 10px 3px;overflow:hidden;background:var(--char);transform-origin:0 50%;transform:rotateY(-14deg);box-shadow:inset 6px 0 10px -6px rgba(0,0,0,.6),0 30px 50px -24px rgba(0,0,0,.8);transition:transform 1s var(--ease)}
.book:hover .book__cv{transform:rotateY(-24deg)}
.book__cv img{position:absolute;inset:0;width:100%;height:62%;object-fit:cover}
.book__cv::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,25,27,0) 40%,var(--char) 62%)}
.book__t{position:absolute;z-index:2;left:8%;right:8%;bottom:8%}
.book__t img{position:static;width:62%;height:auto;object-fit:contain}
.book__t b{display:block;font-family:var(--d);font-size:clamp(14px,1.5vw,19px);letter-spacing:.3em;margin-top:18px;color:var(--tx)}
.book__t span{display:block;font-size:10px;letter-spacing:.2em;color:var(--sand);margin-top:6px}
.dl h2{font-size:clamp(1.4rem,2.6vw,2.4rem);--ls:.3em;line-height:1.2}
.dl p{font-size:12.5px;color:var(--tx-2);max-width:52ch;margin-top:18px}
.dl__f{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:30px;max-width:620px}
.dl__f .lbl{grid-column:1/-1}
.dl__f .err{grid-column:1/-1}
.dl__ok{display:none;margin-top:30px;max-width:620px;padding:22px 24px;border-radius:14px;background:rgba(130,192,203,.08);box-shadow:inset 0 0 0 1px rgba(130,192,203,.35)}
.dl.done .dl__f{display:none}.dl.done .dl__ok{display:block}
.dl__ok b{display:block;font-size:13px;letter-spacing:.18em}
.dl__ok small{display:block;font-size:11px;color:var(--tx-2);margin-top:6px;text-transform:none;letter-spacing:.02em}
.dl__ok .btn{margin-top:16px}
.dl__li{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:26px;font-size:11px;color:var(--tx-2)}
.dl__li span{display:inline-flex;align-items:center;gap:8px}
.dl__li span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--cel)}

/* ---------- footer telón (igual al home) ---------- */
main{position:relative;z-index:2;background:var(--char);box-shadow:0 40px 60px -20px rgba(0,0,0,.7)}
body.curtain main{margin-bottom:var(--fh,100svh)}
.fx{position:relative;z-index:1;min-height:100svh;overflow:hidden;background:#060d0e;color:var(--tx);display:flex;flex-direction:column}
body.curtain .fx{position:fixed;left:0;right:0;bottom:0;height:var(--fh,100svh)}
.fx__bg{position:absolute;inset:0}
.fx__bg img{width:100%;height:100%;object-fit:cover;object-position:50% 70%;transform:scale(1.1);will-change:transform}
.fx__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,13,14,.97) 0%,rgba(6,13,14,.9) 40%,rgba(6,13,14,.74) 62%,rgba(6,13,14,.4) 78%,rgba(6,13,14,.92) 100%)}
.fx__in{position:relative;z-index:2;display:flex;flex-direction:column;flex:1;padding-top:64px}
.fx__in>.wrap{width:100%}
.fx__top{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:72px;align-items:end}
.fx h2{font-family:var(--b);font-weight:700;font-size:clamp(1.4rem,2.1vw,2.2rem);line-height:1.2;letter-spacing:.04em;max-width:20ch}
.fx__top p{font-size:12.5px;color:#D9CDBD;max-width:54ch;margin-top:16px}
.fx .ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:24px}
.cat{padding:24px;border-radius:14px;background:rgba(19,36,39,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1px rgba(240,232,221,.14)}
.cat h3{font-family:var(--d);font-size:14px;font-weight:700;letter-spacing:.28em}
.cat p{font-size:11.5px;color:#D2C6B6;margin-top:8px}
.cat form{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:16px}
.cat .lbl,.cat .err{grid-column:1/-1}
.cat .btn{height:52px;padding:0 22px}
.cat.done form{display:none}.cat .ok{display:none;margin-top:14px}.cat.done .ok{display:block}
.fx__cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;margin-top:44px;padding-top:24px;border-top:1px solid var(--line)}
.fx__cols h4{font-family:var(--d);font-size:11.5px;font-weight:700;letter-spacing:.3em;color:var(--sand)}
.fx__cols ul{list-style:none;margin-top:12px;display:grid;gap:3px}
.fx__cols a,.fx__cols li{font-size:11.5px;color:#ECE3D6}
.fx__cols a{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .35s var(--ease)}
.fx__cols a:hover{background-size:100% 1px}
.fx__word{position:relative;margin-top:auto;padding:24px 2vw 0;display:flex;justify-content:space-between;font-family:var(--d);font-weight:700;font-size:13vw;line-height:.78;color:var(--sand);letter-spacing:-.01em;overflow:hidden;user-select:none}
.fx__word span{display:block;will-change:transform}
.fx__word svg{display:block;fill:currentColor}
.fx__legal{position:relative;z-index:2;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 28px;padding:18px var(--g) 22px;max-width:var(--maxw);margin:0 auto;width:100%;font-size:11px;color:#BFB3A3}
.fx__legal a:hover{color:var(--tx)}
.fx__logo{width:150px;height:auto}
.up{display:inline-flex;align-items:center;gap:10px;font-weight:700;color:var(--tx)}
.up i{width:32px;height:32px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(240,232,221,.5);position:relative}
.up i::before{content:"";position:absolute;left:50%;top:55%;width:8px;height:8px;border-top:1.5px solid currentColor;border-left:1.5px solid currentColor;transform:translate(-50%,-50%) rotate(45deg)}

/* ---------- revelado ---------- */
.rv{transition:opacity 1s var(--ease),transform 1s var(--ease)}
.rv.arm{opacity:0;transform:translateY(22px)}

@media (max-width:1000px){
  .hd nav.l{display:none}.hd__in{grid-template-columns:auto 1fr auto}.hd nav.r{display:none}.burger{display:block}
  .ix__in{justify-content:flex-start;gap:26px}
  .fx__top{grid-template-columns:1fr;gap:40px}
  .fx__cols{grid-template-columns:1fr 1fr}
  .pc{grid-template-columns:1fr;gap:28px}
  .dl{grid-template-columns:1fr;gap:48px}
}
@media (max-width:700px){
  :root{--hd:64px;--ix:42px;--g:18px}
  .hd__logo img{width:150px}
  .fx__in{padding-top:72px}
  .fx__cols{gap:26px}
  .cat form,.dl__f{grid-template-columns:1fr}
  .fi__b{padding:22px 20px 120px}.fi__act{padding:14px 20px 18px}.ls{padding:26px 20px 36px}
  .dock{right:12px;bottom:12px}
  .cc__b{grid-template-columns:1fr;padding:10px 12px 12px}.cc__b b{font-size:12px;letter-spacing:.14em}
  .pc__med{grid-template-columns:repeat(4,minmax(0,1fr))}
  .pc__plan{padding:12px}.pc__cap{position:static;display:block;margin-bottom:6px}.pc__plan .dimt{font-size:26px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}.rv.arm{opacity:1;transform:none}}

/* sitio: logo centrado en todos los anchos */
@media (max-width:1000px){.hd__in{grid-template-columns:1fr auto 1fr}.hd__logo{grid-column:2;grid-row:1}.hd nav.r,.burger{grid-column:3;grid-row:1;justify-self:end}}
