
*{box-sizing:border-box}
/* Las reglas con display explícito (.pair, .stepper…) ganan al display:none que el
   navegador aplica a [hidden]: hay que forzarlo o los bloques ocultos se ven. */
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;background:#F6F3EC;color:#100E0B;font-family:Archivo,sans-serif;
 -webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:#100E0B;text-decoration:none}
a:hover{color:#8A6A55}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
input,textarea,select{font:inherit;color:inherit}
::selection{background:#100E0B;color:#F6F3EC}
main{padding-top:74px}
:target,[id]{scroll-margin-top:100px}

/* ---------- animaciones ---------- */
@keyframes rise{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
@keyframes riseSm{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes wipeUp{from{clip-path:inset(105% 0 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes heroScale{from{transform:scale(1.16)}to{transform:scale(1)}}
@keyframes lineGrow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes curtain{0%{transform:translateY(100%)}42%{transform:translateY(0)}
 58%{transform:translateY(0)}100%{transform:translateY(-100%)}}
@keyframes pulseDot{0%,100%{opacity:.25}50%{opacity:1}}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}
@keyframes wipeReveal{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 64% 0 0)}}
@keyframes wipeHandle{from{left:100%}to{left:36%}}

/* revelado al hacer scroll: degrada a visible si no hay animation-timeline */
.rv{animation:riseSm .8s cubic-bezier(.16,1,.3,1) both}
@supports (animation-timeline: view()){
  .rv{animation-timeline:view();animation-range:entry 0% entry 45%}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001s!important;animation-delay:0s!important;
   transition-duration:.001s!important}
}

/* ---------- contenedor y tipografía ---------- */
.wrap{max-width:1560px;margin:0 auto;padding:0 4vw}
.serif{font-family:'Instrument Serif',serif;font-weight:400}
.it{font-style:italic}
.kick{margin:0 0 18px;font:500 10px/1 Archivo,sans-serif;letter-spacing:.24em;
 text-transform:uppercase;color:#9A9285}
.h1{margin:0;font-family:'Instrument Serif',serif;font-weight:400;
 font-size:clamp(38px,5.8vw,100px);line-height:.97;letter-spacing:-.024em}
.h1 .it{color:#8A6A55}
.h2{margin:0;font-family:'Instrument Serif',serif;font-weight:400;
 font-size:clamp(34px,4.4vw,72px);line-height:1;letter-spacing:-.024em}
.h2s{margin:0;font-family:'Instrument Serif',serif;font-weight:400;
 font-size:clamp(28px,3.2vw,48px);line-height:1.06;letter-spacing:-.018em}
.h3{margin:0;font-family:'Instrument Serif',serif;font-weight:400;
 font-size:23px;line-height:1.2;letter-spacing:-.01em}
.lead{margin:0;font-family:'Instrument Serif',serif;font-weight:400;
 font-size:clamp(19px,1.9vw,27px);line-height:1.46;letter-spacing:-.012em;color:#3A362F}
.body{margin:0;font:300 17px/1.7 Archivo,sans-serif;color:#4A453C}
.small{margin:0;font:300 14.5px/1.6 Archivo,sans-serif;color:#5A554C}
.num{font-variant-numeric:tabular-nums}
.sec{padding-bottom:clamp(78px,9vw,124px)}
.head{padding:clamp(70px,8vw,120px) 0 clamp(34px,4vw,56px)}

/* ---------- rejilla de filete compartido ----------
   El filete se dibuja con box-shadow en cada celda, no con un fondo bajo la rejilla:
   así las filas incompletas no dejan huecos grises. */
.grid-line{display:grid;gap:1px;background:#F6F3EC}
.grid-line>*{background:#F6F3EC;padding:30px;
 box-shadow:0 0 0 1px rgba(16,14,11,.12)}
.g2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.g4{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));
 gap:1px;background:#F6F3EC}
.card{background:#F6F3EC;padding:32px 30px 34px;min-height:270px;
 display:flex;flex-direction:column;transition:background .4s cubic-bezier(.16,1,.3,1);
 box-shadow:0 0 0 1px rgba(16,14,11,.12)}
.card:hover{background:#EFE9DE}
.card .n{font:400 13px/1 'Instrument Serif',serif;color:#B9A88F;letter-spacing:.04em}
.card .d{margin:12px 0 0;font:300 14.5px/1.6 Archivo,sans-serif;color:#8A8378}
.card .arr{margin-top:auto;padding-top:22px;font:300 13px/1 Archivo,sans-serif;color:#8A6A55}

/* ---------- botones ---------- */
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:999px;
 font:400 13.5px/1 Archivo,sans-serif;white-space:nowrap;transition:opacity .3s,background .3s}
.btn-ink{background:#100E0B;color:#F6F3EC}
.btn-ink:hover{color:#F6F3EC;opacity:.86}
.btn-out{border:1px solid rgba(16,14,11,.22)}
.btn-out:hover{background:rgba(16,14,11,.05);color:#100E0B}
.btn-bone{background:#F6F3EC;color:#100E0B}
.btn-bone:hover{color:#100E0B;opacity:.9}
.btn-ghost{border:1px solid rgba(246,243,236,.3);color:#F6F3EC}
.btn-ghost:hover{color:#F6F3EC;background:rgba(246,243,236,.08)}
.dot{width:5px;height:5px;border-radius:50%;background:#EFD8CB;flex:none}

/* ---------- cabecera ---------- */
.hdr{position:fixed;top:0;left:0;right:0;z-index:800;background:rgba(246,243,236,.82);
 backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
 border-bottom:1px solid rgba(16,14,11,.1)}
.hdr-in{max-width:1560px;margin:0 auto;padding:0 4vw;height:74px;display:flex;
 align-items:center;justify-content:space-between;gap:18px}
.logo{display:flex;align-items:baseline;gap:9px;flex-shrink:0}
.logo span{font:400 23px/1 'Instrument Serif',serif;letter-spacing:-.01em}
.logo .it{color:#8A6A55}
.nav{display:flex;align-items:center;gap:2px;min-width:0;overflow:hidden}
.nav a,.nav button{position:relative;padding:9px 15px;font:400 13px/1 Archivo,sans-serif;
 letter-spacing:.01em;white-space:nowrap}
.nav .on::after{content:"";position:absolute;left:15px;right:15px;bottom:2px;height:1px;
 background:#100E0B;transform-origin:left;animation:lineGrow .5s cubic-bezier(.16,1,.3,1) both}
.hdr-cta{display:flex;align-items:center;gap:10px;flex-shrink:0}
.hdr-cta .btn{padding:12px 17px;font-size:13px}
/* El botón de menú solo aparece cuando la nav se oculta: sin él, en móvil no
   habría forma de abrir el megamenú. */
.btn-menu{display:none}
@media(max-width:900px){
  .nav{display:none}
  .btn-menu{display:inline-flex}
  .hdr-cta .btn-out.btn-calc{display:none}
}
@media(max-width:560px){
  .hdr-cta .btn-ink{padding:12px 15px}
  .hdr-cta .btn-ink .dot{display:none}
}
@media(max-width:900px){.mega-in{padding:30px 4vw 40px;gap:30px}}

/* megamenú */
.mega{display:none;border-top:1px solid rgba(16,14,11,.1);background:#F6F3EC;
 max-height:calc(100vh - 74px);overflow:auto}
.mega.open{display:block;animation:riseSm .4s cubic-bezier(.16,1,.3,1) both}
.mega-in{max-width:1560px;margin:0 auto;padding:44px 4vw 52px;display:grid;
 grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:44px}
.mega a{display:block;padding:7px 0;font:400 17px/1.3 'Instrument Serif',serif;
 letter-spacing:-.008em}
.mega .chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));
 gap:4px 18px}
.mega .chips a{padding:5px 0;font:300 14px/1.4 Archivo,sans-serif;color:#5A554C}

/* ---------- pie ---------- */
.ftr{background:#100E0B;color:#F6F3EC;padding:clamp(60px,7vw,96px) 0 40px}
.ftr a{color:rgba(246,243,236,.72)}
.ftr a:hover{color:#EFD8CB}
.ftr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:40px}
.ftr h4{margin:0 0 18px;font:500 10px/1 Archivo,sans-serif;letter-spacing:.24em;
 text-transform:uppercase;color:rgba(246,243,236,.45)}
.ftr li{list-style:none;margin:0 0 9px;font:300 14.5px/1.5 Archivo,sans-serif}
.ftr ul{margin:0;padding:0}
.ftr-bot{margin-top:clamp(48px,6vw,76px);padding-top:26px;
 border-top:1px solid rgba(246,243,236,.14);display:flex;flex-wrap:wrap;gap:18px;
 justify-content:space-between;font:300 13px/1.5 Archivo,sans-serif;
 color:rgba(246,243,236,.55)}

/* ---------- bandas de color ---------- */
.band{padding:clamp(56px,6.5vw,92px) 0}
.band-ink{background:#100E0B;color:#F6F3EC}
.band-ink .h2,.band-ink .h1{color:#F6F3EC}
.band-ink .it{color:#EFD8CB}
.band-ink .body{color:rgba(246,243,236,.72)}
.band-sage{background:#CFDCCC;color:#16241A}
.band-clay{background:#EFD8CB;color:#3D2418}
.band-sky{background:#C9D9E2;color:#1B2E3B}
.band-paper{background:#EFE9DE}

/* ---------- FAQ ---------- */
.faq-wrap{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);
 gap:clamp(30px,5vw,80px)}
@media(max-width:860px){.faq-wrap{grid-template-columns:1fr}}
.faq-stick{position:sticky;top:100px;align-self:start}
.faq details{border-top:1px solid rgba(16,14,11,.12)}
.faq details:last-of-type{border-bottom:1px solid rgba(16,14,11,.12)}
.faq summary{list-style:none;cursor:pointer;display:flex;gap:20px;align-items:flex-start;
 justify-content:space-between;padding:22px 0;font:400 19px/1.35 'Instrument Serif',serif;
 letter-spacing:-.01em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:300 20px/1 Archivo,sans-serif;color:#8A6A55;flex:none;
 margin-top:2px}
.faq details[open] summary::after{content:"\2212"}
.faq .a{margin:0;padding:0 44px 24px 0;font:300 16px/1.7 Archivo,sans-serif;color:#4A453C;
 animation:riseSm .5s cubic-bezier(.16,1,.3,1) both}

/* ---------- listas numeradas con filete ---------- */
.numlist{margin:0;padding:0;list-style:none;border-top:1px solid rgba(16,14,11,.12)}
.numlist li{display:grid;grid-template-columns:52px 1fr;gap:18px;padding:22px 0;
 border-bottom:1px solid rgba(16,14,11,.12);font:300 16.5px/1.66 Archivo,sans-serif;
 color:#4A453C}
.numlist .n{font:400 15px/1.4 'Instrument Serif',serif;color:#B9A88F}
.stick-h{position:sticky;top:100px;align-self:start}
.two{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);
 gap:clamp(30px,5vw,80px)}
@media(max-width:860px){.two{grid-template-columns:1fr}}

/* ---------- chips ---------- */
.chips-row{display:flex;flex-wrap:wrap;gap:9px}
.chip{position:relative;display:inline-flex;align-items:center;padding:10px 17px;
 border-radius:999px;border:1px solid rgba(16,14,11,.16);
 font:300 13.5px/1 Archivo,sans-serif;transition:background .3s}
.chip:hover{background:#EFE9DE;color:#100E0B}
.chip.on{background:#100E0B;color:#F6F3EC;border-color:#100E0B}

/* ---------- imágenes ---------- */
.figure{position:relative;overflow:hidden;background:#E4DACA}
.figure img{width:100%;height:100%;object-fit:cover}
.bleed{width:100%;height:clamp(320px,52vw,660px);object-fit:cover;background:#E4DACA}

/* ---------- tabla de precios ---------- */
.ptable{border-top:1px solid rgba(16,14,11,.2)}
.prow{display:flex;align-items:baseline;justify-content:space-between;gap:24px;
 padding:20px 0;border-bottom:1px solid rgba(16,14,11,.12)}
.prow .t{font:300 16.5px/1.5 Archivo,sans-serif;color:#3A362F}
.prow .v{font:400 22px/1 'Instrument Serif',serif;white-space:nowrap;
 font-variant-numeric:tabular-nums}

/* ---------- utilidades ---------- */
.mt8{margin-top:8px}.mt14{margin-top:14px}.mt20{margin-top:20px}.mt28{margin-top:28px}
.mt40{margin-top:40px}.mt56{margin-top:56px}.mt72{margin-top:clamp(44px,5vw,72px)}
.maxw{max-width:820px}.maxw70{max-width:70ch}
.row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);
 white-space:nowrap}
.skip{position:absolute;left:-9999px;top:0;background:#100E0B;color:#F6F3EC;padding:12px 18px;
 z-index:900}
.skip:focus{left:12px;top:12px}

.hero{position:relative;height:calc(100vh - 74px);min-height:620px;overflow:hidden;
 background:#0B0A08;cursor:ew-resize;touch-action:none;user-select:none}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
 animation:heroScale 2.6s cubic-bezier(.16,1,.3,1) both}
.hero .plan{position:absolute;inset:0;clip-path:inset(0 64% 0 0);
 animation:wipeReveal 1.75s cubic-bezier(.16,1,.3,1) .6s both}
.hero .plan img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
 filter:grayscale(1) brightness(1.5) contrast(1.9)}
.hero .plan .tint{position:absolute;inset:0;background:#C9D9E2;mix-blend-mode:multiply;
 opacity:.72}
.hero .plan .grid{position:absolute;inset:0;
 background-image:linear-gradient(rgba(16,40,70,.16) 1px,transparent 1px),
 linear-gradient(90deg,rgba(16,40,70,.16) 1px,transparent 1px);
 background-size:52px 52px}
.hero .badge{position:absolute;top:26px;left:26px;padding:8px 13px;
 background:rgba(246,243,236,.9);color:#1B2E3B;font:500 9.5px/1 Archivo,sans-serif;
 letter-spacing:.2em;text-transform:uppercase}
.hero .veil-v{position:absolute;inset:0;background:linear-gradient(180deg,
 rgba(11,10,8,.34) 0%,rgba(11,10,8,.08) 20%,rgba(11,10,8,.42) 46%,
 rgba(11,10,8,.7) 74%,rgba(11,10,8,.86) 100%)}
.hero .veil-h{position:absolute;inset:0;background:linear-gradient(90deg,
 rgba(11,10,8,.5) 0%,rgba(11,10,8,.24) 42%,rgba(11,10,8,0) 72%)}
.hero .handle{position:absolute;top:0;bottom:0;left:36%;width:1px;
 background:rgba(255,255,255,.85);pointer-events:none;
 animation:wipeHandle 1.75s cubic-bezier(.16,1,.3,1) .6s both}
.hero .handle i{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
 width:52px;height:52px;border-radius:50%;background:rgba(246,243,236,.94);
 display:flex;align-items:center;justify-content:center;gap:5px;
 font:300 12px/1 Archivo,sans-serif;color:#100E0B;font-style:normal}
.hero .hint{position:absolute;left:50%;bottom:34px;transform:translateX(-50%);
 font:500 9.5px/1 Archivo,sans-serif;letter-spacing:.24em;text-transform:uppercase;
 color:rgba(246,243,236,.75);animation:bob 2.6s ease-in-out infinite;pointer-events:none}
.hero .copy{position:absolute;left:0;right:0;bottom:clamp(58px,8vw,104px);
 pointer-events:none}
.hero .copy .wrap{pointer-events:auto}
.hero h1{margin:0;color:#F6F3EC;font-family:'Instrument Serif',serif;font-weight:400;
 font-size:clamp(44px,7.4vw,124px);line-height:.93;letter-spacing:-.024em;max-width:19ch}
.hero h1 span{display:block;overflow:hidden}
.hero h1 b{display:block;font-weight:400;animation:rise .95s cubic-bezier(.16,1,.3,1) both}
.hero h1 span:nth-child(1) b{animation-delay:.5s}
.hero h1 span:nth-child(2) b{animation-delay:.62s}
.hero h1 span:nth-child(3) b{animation-delay:.74s}
.hero h1 .it{color:#EFD8CB}
.hero .cta{margin-top:34px;display:flex;flex-wrap:wrap;gap:12px;
 animation:rise .95s cubic-bezier(.16,1,.3,1) .92s both}
.mq{background:#EFE9DE;height:52px;display:flex;align-items:center;overflow:hidden;
 border-top:1px solid rgba(16,14,11,.12);border-bottom:1px solid rgba(16,14,11,.12)}
.mq div{display:flex;gap:56px;white-space:nowrap;animation:marquee 42s linear infinite;
 padding-right:56px}
.mq span{font:300 13.5px/1 Archivo,sans-serif;color:#5A554C}
.mq b{font-weight:400;color:#B9A88F;margin-right:56px}
.figs{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;
 background:#F6F3EC;border-bottom:1px solid rgba(16,14,11,.12)}
.figs>div{background:#F6F3EC;box-shadow:0 0 0 1px rgba(16,14,11,.12);padding:clamp(30px,4vw,52px) 30px}
.figs .v{font:400 clamp(34px,3.6vw,54px)/1 'Instrument Serif',serif;letter-spacing:-.02em;
 font-variant-numeric:tabular-nums}
.figs .l{margin:10px 0 0;font:300 13.5px/1.5 Archivo,sans-serif;color:#6B655A}
.mosaic{display:grid;grid-template-columns:repeat(12,1fr);gap:1px;
 background:#F6F3EC}
.mosaic a{box-shadow:0 0 0 1px rgba(16,14,11,.12);position:relative;overflow:hidden;background:#E4DACA;min-height:230px;display:block}
.mosaic img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.16,1,.3,1)}
.mosaic a:hover img{transform:scale(1.04)}
.m7{grid-column:span 7}.m5{grid-column:span 5}.m4{grid-column:span 4}.m12{grid-column:span 12}
@media(max-width:900px){.m7,.m5,.m4{grid-column:span 12}}
.calc-band{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
 gap:clamp(30px,5vw,72px);align-items:center}
.live{border:1px solid rgba(22,36,26,.22);padding:28px 30px 30px;background:rgba(255,255,255,.34)}
.live .k{display:flex;align-items:center;gap:9px;font:500 10px/1 Archivo,sans-serif;
 letter-spacing:.24em;text-transform:uppercase;color:#16241A;opacity:.66}
.live .pd{width:6px;height:6px;border-radius:50%;background:#3D2418;
 animation:pulseDot 1.8s ease-in-out infinite}
.live .val{margin:16px 0 0;font:400 clamp(30px,3.2vw,46px)/1 'Instrument Serif',serif;
 letter-spacing:-.022em;font-variant-numeric:tabular-nums}
.live .cfg{margin:12px 0 0;font:300 14px/1.6 Archivo,sans-serif;color:#16241A;opacity:.75}
.sect-list a{display:flex;align-items:baseline;justify-content:space-between;gap:20px;
 padding:19px 0;border-bottom:1px solid rgba(16,14,11,.12);
 font:400 21px/1.25 'Instrument Serif',serif;letter-spacing:-.012em;
 transition:padding-left .4s cubic-bezier(.16,1,.3,1)}
.sect-list a:hover{padding-left:10px}
.sect-list a span{font:300 13px/1 Archivo,sans-serif;color:#8A8378}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1px;
 background:#F6F3EC}
.steps>div{background:#F6F3EC;box-shadow:0 0 0 1px rgba(16,14,11,.12);padding:32px 28px 36px}
.steps .n{font:400 40px/1 'Instrument Serif',serif;color:#D8CDB8}
.big-fig{font:400 clamp(72px,9vw,150px)/1 'Instrument Serif',serif;color:#8A6A55;
 letter-spacing:-.03em}

.tipos{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1px;
 background:#F6F3EC}
.tipos>div{background:#F6F3EC;box-shadow:0 0 0 1px rgba(16,14,11,.12)}
.tipos .fig{height:250px;background:#E4DACA;overflow:hidden}
.tipos .fig img{width:100%;height:100%;object-fit:cover;
 transition:transform 1.1s cubic-bezier(.16,1,.3,1)}
.tipos>div:hover .fig img{transform:scale(1.04)}
.tipos .tx{padding:26px 28px 32px}
.priceband{background:#EFD8CB;color:#3D2418}
.priceband .h2s{color:#3D2418}
.pricebox{background:#EFD8CB;color:#3D2418;padding:32px 30px 34px}
.panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1px;
 background:#F6F3EC}
.panels>div{background:#F6F3EC;box-shadow:0 0 0 1px rgba(16,14,11,.12);padding:34px 32px 38px}
.closing{background:#100E0B;color:#F6F3EC;padding:clamp(64px,7.5vw,110px) 0}
.closing .h2{color:#F6F3EC}
.closing .it{color:#EFD8CB}
.tira{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1px;
 background:#F6F3EC}
.tira figure{margin:0;background:#E4DACA;aspect-ratio:4/3;overflow:hidden;
 box-shadow:0 0 0 1px rgba(16,14,11,.12)}
.tira img{width:100%;height:100%;object-fit:cover;
 transition:transform 1.1s cubic-bezier(.16,1,.3,1)}
.tira figure:hover img{transform:scale(1.05)}
.duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1px;
 background:#F6F3EC;margin-top:clamp(40px,5vw,64px)}
.duo figure{margin:0;background:#E4DACA;aspect-ratio:3/2;overflow:hidden;
 box-shadow:0 0 0 1px rgba(16,14,11,.12)}
.duo img{width:100%;height:100%;object-fit:cover}

.calc{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.95fr);gap:56px;
 align-items:start}
@media(max-width:980px){.calc{grid-template-columns:1fr}}
.step{padding:34px 0 38px;border-bottom:1px solid rgba(16,14,11,.12)}
.step:first-child{padding-top:0}
.step-h{display:flex;align-items:baseline;gap:16px}
.step-h .n{font:400 32px/1 'Instrument Serif',serif;color:#D8CDB8}
.step-h h2{margin:0;font:400 24px/1.2 'Instrument Serif',serif;letter-spacing:-.014em}
.opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1px;
 background:#F6F3EC;margin-top:26px}
.opt{box-shadow:0 0 0 1px rgba(16,14,11,.12);position:relative;background:#F6F3EC;padding:20px 22px 22px;min-height:118px;
 text-align:left;display:flex;flex-direction:column;transition:background .3s}
.opt:hover{background:#EFE9DE}
.opt .t{font:400 19px/1.22 'Instrument Serif',serif;letter-spacing:-.01em}
.opt .d{margin:8px 0 0;font:300 13px/1.5 Archivo,sans-serif;color:#8A8378}
.opt .p{margin-top:auto;padding-top:14px;font:500 10px/1 Archivo,sans-serif;
 letter-spacing:.16em;text-transform:uppercase;color:#8A6A55}
.opt[aria-pressed="true"]::after{content:"";position:absolute;inset:0;
 border:1.5px solid #100E0B;pointer-events:none}
.opt[aria-pressed="true"]::before{content:"";position:absolute;top:12px;right:12px;width:7px;
 height:7px;border-radius:50%;background:#8A6A55}
.pair{display:flex;gap:1px;background:#F6F3EC;
 margin-top:26px;flex-wrap:wrap}
.pair button{box-shadow:0 0 0 1px rgba(16,14,11,.12);position:relative;flex:1 1 190px;background:#F6F3EC;padding:20px 22px;
 text-align:left;transition:background .3s}
.pair button:hover{background:#EFE9DE}
.pair .t{font:400 19px/1.2 'Instrument Serif',serif}
.pair .d{margin:7px 0 0;font:300 13px/1.5 Archivo,sans-serif;color:#8A8378}
.pair button[aria-pressed="true"]::after{content:"";position:absolute;inset:0;
 border:1.5px solid #100E0B;pointer-events:none}
.stepper{display:flex;align-items:center;gap:26px;margin-top:26px}
.stepper button{width:46px;height:46px;border-radius:50%;border:1px solid rgba(16,14,11,.22);
 display:flex;align-items:center;justify-content:center;font:300 20px/1 Archivo,sans-serif;
 transition:background .3s}
.stepper button:hover{background:#EFE9DE}
.stepper .v{font:400 clamp(44px,4.4vw,62px)/1 'Instrument Serif',serif;min-width:1.6ch;
 text-align:center;font-variant-numeric:tabular-nums}
.bars{display:flex;align-items:flex-end;gap:5px;margin-left:8px;height:50px}
.bars i{width:7px;background:#E4DACA;display:block;transition:background .35s,height .35s
 cubic-bezier(.16,1,.3,1)}
.bars i.on{background:#8A6A55}
.note-sage{margin-top:22px;background:#CFDCCC;color:#16241A;padding:16px 20px;
 font:300 14px/1.6 Archivo,sans-serif}
.panel{position:sticky;top:100px;background:#100E0B;color:#F6F3EC;padding:32px 30px 34px}
.panel .k{display:flex;align-items:center;gap:9px;font:500 10px/1 Archivo,sans-serif;
 letter-spacing:.24em;text-transform:uppercase;color:rgba(246,243,236,.5)}
.panel .pd{width:6px;height:6px;border-radius:50%;background:#EFD8CB;
 animation:pulseDot 1.8s ease-in-out infinite}
.panel .range{margin:18px 0 0;font:400 clamp(34px,3.4vw,50px)/1 'Instrument Serif',serif;
 letter-spacing:-.024em;font-variant-numeric:tabular-nums}
.panel .cfg{margin:14px 0 0;font:300 14px/1.6 Archivo,sans-serif;
 color:rgba(246,243,236,.62)}
.panel .lines{margin:26px 0 0;border-top:1px solid rgba(246,243,236,.16)}
.panel .ln{display:flex;justify-content:space-between;gap:16px;padding:13px 0;
 border-bottom:1px solid rgba(246,243,236,.16);font:300 13.5px/1.45 Archivo,sans-serif;
 color:rgba(246,243,236,.78)}
.panel .ln b{font-weight:400;white-space:nowrap;font-variant-numeric:tabular-nums}
.panel .tot{display:flex;justify-content:space-between;align-items:baseline;gap:16px;
 padding:20px 0 0}
.panel .tot span{font:300 13px/1 Archivo,sans-serif;color:rgba(246,243,236,.55)}
.panel .tot b{font:400 27px/1 'Instrument Serif',serif;font-variant-numeric:tabular-nums}
.panel .legal{margin:20px 0 0;font:300 12px/1.55 Archivo,sans-serif;
 color:rgba(246,243,236,.42)}
.panel .btn{width:100%;justify-content:center;margin-top:22px}

/* ---- contacto ---- */
.prog{border-bottom:1px solid rgba(16,14,11,.12)}
.prog-in{max-width:1560px;margin:0 auto;padding:0 4vw;height:62px;display:flex;
 align-items:center;gap:20px}
.prog .lb{font:500 10px/1 Archivo,sans-serif;letter-spacing:.24em;text-transform:uppercase;
 color:#9A9285;white-space:nowrap}
.prog .track{flex:1;height:1px;background:rgba(16,14,11,.12);position:relative}
.prog .fill{position:absolute;left:0;top:0;bottom:0;background:#100E0B;
 transition:width .55s cubic-bezier(.16,1,.3,1)}
.prog .cnt{font:300 13px/1 Archivo,sans-serif;color:#6B655A;font-variant-numeric:tabular-nums}
.form{max-width:760px}
.fld{margin-top:26px}
.fld label{display:block;font:500 10px/1 Archivo,sans-serif;letter-spacing:.2em;
 text-transform:uppercase;color:#9A9285;margin-bottom:10px}
.fld input,.fld textarea{width:100%;background:none;border:0;
 border-bottom:1px solid rgba(16,14,11,.2);outline:none;padding:9px 0;
 font:300 17px/1.5 Archivo,sans-serif}
.fld input:focus,.fld textarea:focus{border-bottom-color:#100E0B}
.fld textarea{resize:vertical}
.chipbtn{position:relative;display:inline-flex;align-items:center;padding:11px 18px;
 border-radius:999px;border:1px solid rgba(16,14,11,.16);
 font:300 13.5px/1 Archivo,sans-serif;transition:background .3s}
.chipbtn:hover{background:#EFE9DE}
.chipbtn[aria-pressed="true"]{background:#100E0B;color:#F6F3EC;border-color:#100E0B}
.mini{display:flex;align-items:center;gap:16px}
.mini button{width:38px;height:38px;border-radius:50%;border:1px solid rgba(16,14,11,.22);
 display:flex;align-items:center;justify-content:center;font:300 17px/1 Archivo,sans-serif}
.mini .v{font:400 30px/1 'Instrument Serif',serif;min-width:1.4ch;text-align:center;
 font-variant-numeric:tabular-nums}
.slider{margin-top:14px}
.slider .track{height:2px;background:rgba(16,14,11,.16);position:relative;cursor:pointer;
 touch-action:none;margin:22px 0}
.slider .fill{position:absolute;left:0;top:0;bottom:0;background:#100E0B}
.slider .knob{position:absolute;top:50%;width:26px;height:26px;border-radius:50%;
 background:#100E0B;transform:translate(-50%,-50%);pointer-events:none}
.slider.sm .knob{width:22px;height:22px}
.slider .val{font:400 22px/1 'Instrument Serif',serif;font-variant-numeric:tabular-nums}
.notebox{margin-top:30px;background:#EFE9DE;padding:20px 22px;
 font:300 14.5px/1.6 Archivo,sans-serif;color:#4A453C}
.cfgchip{display:inline-flex;align-items:center;gap:10px;background:#CFDCCC;color:#16241A;
 padding:12px 18px;font:300 14px/1.4 Archivo,sans-serif;margin-bottom:8px}
details.opt-extra{margin-top:30px;border-top:1px solid rgba(16,14,11,.12);
 border-bottom:1px solid rgba(16,14,11,.12)}
details.opt-extra summary{list-style:none;cursor:pointer;padding:18px 0;
 font:300 15px/1 Archivo,sans-serif;color:#5A554C;display:flex;justify-content:space-between}
details.opt-extra summary::-webkit-details-marker{display:none}
details.opt-extra summary::after{content:"+";color:#8A6A55}
details.opt-extra[open] summary::after{content:"\2212"}
.rgpd{display:flex;gap:12px;align-items:flex-start;margin-top:28px;
 font:300 14px/1.6 Archivo,sans-serif;color:#5A554C}
.rgpd input{margin-top:4px;accent-color:#100E0B}

.factores{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1px;
 background:#F6F3EC}
.factores>div{background:#F6F3EC;box-shadow:0 0 0 1px rgba(16,14,11,.12);padding:30px 28px 34px}
.factores .n{font:400 40px/1 'Instrument Serif',serif;color:#D8CDB8}
.savebox{background:#CFDCCC;color:#16241A;padding:32px 30px 34px}
.savebox li{margin:0 0 12px;font:300 15px/1.6 Archivo,sans-serif}
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1px;
 background:#F6F3EC}
.gal article{background:#F6F3EC;box-shadow:0 0 0 1px rgba(16,14,11,.12);display:flex;flex-direction:column}
.gal .fig{height:300px;background:#E4DACA;overflow:hidden}
.gal .fig img{width:100%;height:100%;object-fit:cover;
 transition:transform 1.1s cubic-bezier(.16,1,.3,1)}
.gal article:hover .fig img{transform:scale(1.04)}
.gal .cap{padding:22px 24px 26px}
.gal .cap .m{margin:8px 0 0;font:300 13px/1.5 Archivo,sans-serif;color:#8A8378}
.mosaic-gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1px;
 background:#F6F3EC}
.mosaic-gal figure{box-shadow:0 0 0 1px rgba(16,14,11,.12);margin:0;background:#E4DACA;aspect-ratio:4/3;overflow:hidden}
.mosaic-gal img{width:100%;height:100%;object-fit:cover;
 transition:transform 1.1s cubic-bezier(.16,1,.3,1)}
.mosaic-gal figure:hover img{transform:scale(1.05)}
.post-list{border-top:1px solid rgba(16,14,11,.12)}
.post-list a{display:grid;
 grid-template-columns:52px 160px minmax(0,1fr) minmax(0,1.05fr) 40px;
 gap:24px;align-items:center;padding:24px 0;
 border-bottom:1px solid rgba(16,14,11,.12);
 transition:background .35s cubic-bezier(.16,1,.3,1),padding-left .35s cubic-bezier(.16,1,.3,1)}
.post-list a:hover{background:#EFE9DE;padding-left:16px}
.post-list .th{display:block;width:160px;aspect-ratio:4/3;overflow:hidden;background:#E4DACA}
.post-list .th img{width:100%;height:100%;object-fit:cover}
@media(max-width:1000px){.post-list a{grid-template-columns:52px 120px minmax(0,1fr) 40px}
 .post-list .th{width:120px}}
.post-list .n{font:400 15px/1.4 'Instrument Serif',serif;color:#B9A88F}
.post-list .t{margin:0;font:400 clamp(21px,2.1vw,30px)/1.18 'Instrument Serif',serif;
 letter-spacing:-.016em}
.post-list .s{font:300 14.5px/1.6 Archivo,sans-serif;color:#6B655A}
.post-list .a{text-align:right;color:#8A6A55}
@media(max-width:860px){.post-list a{grid-template-columns:44px 100px 1fr}
 .post-list .s,.post-list .a{display:none}
 .post-list .th{width:100px}}
.article{max-width:820px}
.article h2{margin:52px 0 0;font-family:'Instrument Serif',serif;font-weight:400;
 font-size:clamp(24px,2.6vw,38px);line-height:1.14;letter-spacing:-.02em}
.article h3{margin:38px 0 0;font:400 21px/1.3 'Instrument Serif',serif;color:#8A6A55;
 letter-spacing:-.01em}
.article p{margin:18px 0 0;font:300 17px/1.78 Archivo,sans-serif;color:#3A362F}
.article .cta-box{margin-top:56px;background:#EFE9DE;padding:34px 32px 38px}
.bleed-art{width:100%;height:clamp(260px,38vw,480px);object-fit:cover;background:#E4DACA}
.art-fig{margin:44px 0 0;background:#E4DACA}
.art-fig img{width:100%;aspect-ratio:16/9;object-fit:cover}
.art-fig figcaption{margin-top:10px;font:300 13px/1.5 Archivo,sans-serif;color:#8A8378}
.tit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1px;
 background:#F6F3EC}
.tit-grid>div{background:#F6F3EC;box-shadow:0 0 0 1px rgba(16,14,11,.12);padding:32px 28px 36px}
.tit-grid .v{font:400 clamp(34px,3.2vw,52px)/1 'Instrument Serif',serif;color:#8A6A55;
 letter-spacing:-.024em}
.tit-grid .d{margin:12px 0 0;font:300 14.5px/1.6 Archivo,sans-serif;color:#4A453C}
.skybox{background:#C9D9E2;color:#1B2E3B;padding:34px 32px 38px}
.banda4{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;
 background:#F6F3EC}
.banda4 figure{margin:0;background:#E4DACA;aspect-ratio:4/3;overflow:hidden;
 box-shadow:0 0 0 1px rgba(16,14,11,.12)}
.banda4 img{width:100%;height:100%;object-fit:cover;
 transition:transform 1.1s cubic-bezier(.16,1,.3,1)}
.banda4 figure:hover img{transform:scale(1.05)}
.dtable-wrap{overflow-x:auto;margin-top:28px}
.dtable{width:100%;border-collapse:collapse;font:300 15px/1.5 Archivo,sans-serif;color:#3A362F}
.dtable th,.dtable td{padding:12px 14px;border-bottom:1px solid rgba(16,14,11,.12);
 text-align:left;white-space:nowrap}
.dtable thead th{font:500 10px/1.2 Archivo,sans-serif;letter-spacing:.16em;
 text-transform:uppercase;color:#8A8378}
.dtable tbody th{font-weight:400;color:#100E0B}
.dtable td.num{text-align:right}
.quick{margin-top:28px;max-width:70ch;border-left:2px solid #8A6A55;padding:4px 0 4px 20px}
.quick p{margin:0;font:300 16.5px/1.7 Archivo,sans-serif;color:#3A362F}
.quick .kick{margin-bottom:8px}
.ficha{display:grid;grid-template-columns:minmax(140px,220px) 1fr;gap:0;
 border-top:1px solid rgba(16,14,11,.12)}
.ficha dt,.ficha dd{margin:0;padding:14px 0;border-bottom:1px solid rgba(16,14,11,.12);
 font:300 15px/1.55 Archivo,sans-serif}
.ficha dt{color:#8A8378}
.ficha dd{color:#100E0B}
@media(max-width:600px){.ficha{grid-template-columns:1fr}.ficha dt{border-bottom:0;padding-bottom:0}}
