@font-face{font-family:"Jost";src:url(/assets/fonts/jost-latin-200-normal.woff2) format("woff2");font-weight:200;font-display:swap}
@font-face{font-family:"Jost";src:url(/assets/fonts/jost-latin-300-normal.woff2) format("woff2");font-weight:300;font-display:swap}
@font-face{font-family:"Jost";src:url(/assets/fonts/jost-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Jost";src:url(/assets/fonts/jost-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Fraunces";src:url(/assets/fonts/fraunces-latin-opsz-italic.woff2) format("woff2-variations");font-weight:100 900;font-style:italic;font-display:swap}
@font-face{font-family:"League Spartan";src:url(/assets/fonts/league-spartan-latin-800-normal.woff2) format("woff2");font-weight:800;font-display:swap}
html,body{margin:0;padding:0}

/* Estudio creativo: el trabajo a sangre, una frase-manifiesto, tipografía fina con cursiva serif, casi sin marcos.
   Beige claro de la versión anterior como suelo; el logotipo original manda en la portada. Una sola web, un solo tema. */
[hidden]{display:none!important}
:root{--paper:#F6F4F0;--sand:#EAE3D7;--stone:#DCCDB6;--line:#D3C9B8;--ink:#1B1815;--night:#1F1C19;--body:#3B352E;--soft:#6B6258;--umber:#6E5940;--lacre:#7A1F2B;--gold:#B08D57;--rose:#E9CFC9;--cream:#F6F4F0;--mute:#B9AE9C;
--logo:'League Spartan',system-ui,sans-serif;--sans:'Jost','Futura','Avenir Next',system-ui,sans-serif;--serif:'Fraunces',Georgia,'Times New Roman',serif;color-scheme:light}
*{box-sizing:border-box}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 110px)}
body{background:var(--paper);color:var(--ink);font:300 18px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:var(--ink)}
body.lock{overflow:hidden}
a{color:inherit}
em{font-family:var(--serif);font-style:italic;font-weight:300;letter-spacing:-.01em}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-weight:300;text-wrap:balance}
.gut{padding-left:max(16px,env(safe-area-inset-left,0px),4vw);padding-right:max(16px,env(safe-area-inset-right,0px),4vw)}
.wrap{max-width:1360px;margin:0 auto;width:100%}
.arr{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;flex:none;transition:transform .3s}
.diag{width:clamp(44px,5vw,72px);height:auto;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:square}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--lacre);outline-offset:4px}
.kicker{font:400 15px var(--sans);letter-spacing:.02em;color:var(--soft)}
.kicker em{font-size:18px;color:var(--lacre)}

/* vista previa */
.pv{position:sticky;top:env(safe-area-inset-top,0px);z-index:25;background:var(--ink);color:var(--mute);font:400 12px/1 var(--sans);letter-spacing:.04em;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 14px;padding-block:8px}
.pv a{color:var(--cream);text-decoration:none;border:1px solid #3A3530;border-radius:999px;padding:4px 12px}
.pv a[aria-current="page"]{background:var(--stone);color:var(--ink);border-color:var(--stone)}

/* cabecera */
header{position:sticky;top:calc(env(safe-area-inset-top,0px) + 28px);z-index:20;background:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:14px}
.logo{text-decoration:none}
/* isotipo: S inclinada con eco dorado dentro de un círculo fino abierto */
.logo b{--r:var(--ink);--dot:var(--lacre);position:relative;width:50px;height:50px;border-radius:50%;border:1px solid var(--r);display:flex;align-items:center;justify-content:center;font:300 23px/1 var(--serif);font-style:italic;letter-spacing:-.04em;padding-right:2px;color:var(--ink)}
.logo b::after{content:"";position:absolute;right:11px;bottom:13px;width:3px;height:3px;border-radius:50%;background:var(--dot)}
.hright{display:flex;align-items:center;gap:clamp(16px,3vw,40px)}
.hright .audit-l{font:400 15px var(--sans);text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:2px}
.burger{display:flex;align-items:center;gap:12px;background:none;border:0;padding:10px 0;cursor:pointer;font:400 15px var(--sans);color:var(--ink)}
.burger i{display:flex;flex-direction:column;gap:5px;width:30px}.burger i::before,.burger i::after{content:"";height:1.5px;background:currentColor}
.burger i::after{width:70%;margin-left:auto}

/* menú a pantalla completa */
.ov{position:fixed;inset:0;z-index:40;background:var(--paper);display:flex;flex-direction:column;overflow-y:auto;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
.ov-top{display:flex;justify-content:space-between;align-items:center;padding-block:14px}
.ov-close{background:none;border:0;cursor:pointer;font:400 15px var(--sans);color:var(--ink);display:flex;align-items:center;gap:12px;padding:10px 0}
.ov-close svg{width:26px;height:26px;stroke:currentColor;stroke-width:1.4;fill:none}
.ov-body{flex:1;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:48px;align-items:end;padding-block:40px 56px}
.ov-main{display:flex;flex-direction:column}
.ov-main a{font:300 clamp(44px,6.4vw,96px)/1.04 var(--sans);letter-spacing:-.03em;text-decoration:none;transition:color .25s}
.ov-main a:hover{color:var(--lacre)}
.ov-main a:hover em,.ov-main a em{font-size:1em}
.ov-main a em{color:var(--lacre)}
.ov-side{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--ink);padding-top:20px}
.ov-side a{text-decoration:none;display:flex;justify-content:space-between;gap:16px;font-size:19px;padding-block:4px}
.ov-side a span{color:var(--soft);font-size:14px}
.ov-side a:hover{color:var(--lacre)}

/* portada: logotipo sobre beige */
.hero{position:relative;display:flex;align-items:center;justify-content:center;min-height:min(76vh,760px);padding-block:110px 130px}
.ring{position:absolute;left:50%;top:50%;width:min(780px,122vw);aspect-ratio:1;border-radius:50%;border:1px solid var(--line);transform:translate(-50%,-50%);animation:ringin 1.6s cubic-bezier(.2,.7,.1,1) both}
.ring.in{width:min(570px,90vw);border-color:#BDB2A0;animation-delay:.12s}
@keyframes ringin{from{transform:translate(-50%,-50%) scale(.86);opacity:0}}
/* logotipo ruta A: Fraunces Italic Light + punto lacre; «Estudio creativo» en Jost espaciada */
.logo-xl{display:inline-flex;flex-direction:column;align-items:flex-start;color:var(--ink);font-weight:inherit;animation:fadein 1.4s ease both;--F:clamp(64px,12.4vw,200px)}
.logo-xl .w{font:300 var(--F)/.9 var(--serif);font-style:italic;letter-spacing:-.03em;white-space:nowrap}
.logo-xl .w .d{color:var(--lacre)}
.logo-xl .t{align-self:flex-end;font:400 max(10px,calc(var(--F)*.11))/1 var(--sans);letter-spacing:.42em;margin-top:calc(var(--F)*.16);margin-right:-.42em;text-transform:uppercase}
@keyframes fadein{from{opacity:.001;transform:translateY(14px)}}
.hero-foot{position:absolute;left:0;right:0;bottom:28px;display:flex;justify-content:space-between;align-items:flex-end;gap:24px;font:400 15px/1.4 var(--sans);color:var(--soft)}
.hero-foot p:last-child{text-align:right}
.hero-tk{position:absolute;left:0;right:0;bottom:22px;overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.tk-in{display:flex;width:max-content;animation:tk 38s linear infinite}
.tk-in span{display:inline-flex;align-items:center;gap:clamp(22px,3vw,44px);padding-right:clamp(22px,3vw,44px);font:300 clamp(20px,2vw,28px)/1.2 var(--serif);font-style:italic;color:var(--body);white-space:nowrap}
.tk-in span::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--lacre)}
@keyframes tk{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.tk-in{animation:none}}

/* manifiesto */
.manif>.wrap{padding-block:clamp(80px,10vw,150px) clamp(72px,8vw,120px);display:flex;flex-direction:column;gap:28px}
.manif{background:var(--lacre);color:var(--paper)}
.manif em{color:var(--rose)}
.manif .pre{font:400 16px var(--sans);color:var(--rose)}
.manif h2{font:200 clamp(36px,5.2vw,78px)/1.08 var(--sans);letter-spacing:-.03em;max-width:17em}
.manif .row-end{display:flex;justify-content:flex-end}
.manif .row-end a{color:var(--paper);transition:transform .3s}.manif .row-end a:hover{transform:translate(4px,4px)}

/* trabajo a sangre */
.work{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.tile{position:relative;aspect-ratio:5/4;overflow:hidden;display:block;text-decoration:none;color:var(--cream)}
.tile .bg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transition:transform 1.1s cubic-bezier(.2,.7,.1,1)}
.tile:hover .bg{transform:scale(1.035)}
.tile .bg img{max-width:100%}
.tile.light{color:var(--ink)}
.tile .cap{position:absolute;left:0;right:0;top:0;display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:clamp(18px,2.4vw,34px)}
.tile .cap small{display:block;font:400 13px var(--sans);letter-spacing:.04em;opacity:.8;margin-bottom:6px}
.tile h3{font:300 clamp(26px,2.6vw,40px)/1.08 var(--serif);font-style:italic;letter-spacing:-.01em}
.tile .arr{width:28px;height:28px}
/* todas las tarjetas con la misma caja para la pieza */
.tile .bg{background:var(--tb);padding:clamp(92px,8.6vw,124px) clamp(32px,5vw,72px) clamp(32px,3.6vw,52px)}
.tile .tw{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.tile .tw img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.k-print .tw img{box-shadow:0 22px 44px -22px rgba(40,25,15,.5)}
.k-logo .tw img{max-height:86%}
.t-boda .tw img{border-radius:4px}
.javi-art{display:flex;align-items:center;gap:clamp(14px,2vw,28px);transform:scale(1.22)}
.t-finca .tw img{max-width:80%}
.k-env .tw img{max-width:72%;filter:drop-shadow(0 24px 30px rgba(0,0,0,.45))}
.t-motion .bg{background:var(--night)}
.spin{position:absolute;left:50%;top:50%;width:52%;aspect-ratio:1;border-radius:50%;border:1px solid rgba(220,205,182,.35);transform:translate(-50%,-50%)}
.spin.in{width:36%;border-color:rgba(220,205,182,.75);animation:spin 16s linear infinite}
.spin.in::after{content:"";position:absolute;left:50%;top:-4px;width:7px;height:7px;border-radius:50%;background:var(--stone);transform:translateX(-50%)}
@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
.t-motion b{position:relative;font:800 clamp(80px,11vw,160px)/1 var(--logo);padding-top:.1em;text-shadow:3px 3px 0 var(--umber)}
.work-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-block:28px;border-bottom:1px solid var(--line)}
.work-foot .pending{margin:0}
.ulink{display:inline-flex;align-items:center;gap:12px;font:400 16px var(--sans);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px}
.ulink:hover .arr{transform:translateX(6px)}

/* saber hacer (pestañas) */
.sec>.wrap{padding-block:clamp(80px,10vw,140px);display:flex;flex-direction:column;gap:clamp(36px,4vw,56px)}
.sec.sand{background:var(--sand)}
.big-t{font:200 clamp(38px,4.6vw,66px)/1.02 var(--sans);letter-spacing:-.03em}
.sec-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 48px}
.sec-head p{max-width:420px;color:var(--soft);font-size:17px}
/* proceso en banda oscura, para separarlo del bloque de servicios */
.sec.dark{background:var(--night);color:var(--cream)}
.sec.dark .sec-head p{color:var(--mute)}
.sec.dark em{color:var(--stone)}
.tabs{display:flex;flex-wrap:wrap;gap:4px 34px;border-bottom:1px solid var(--line)}
.tab{background:none;border:0;border-bottom:1.5px solid transparent;margin-bottom:-1px;padding:14px 0;font:400 16px var(--sans);color:var(--soft);cursor:pointer}
.tab[aria-selected="true"]{color:var(--ink);border-color:var(--ink)}
.tab:hover{color:var(--ink)}
.panel{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(36px,6vw,96px);align-items:start}
.panel-l{display:flex;flex-direction:column;gap:24px}
.panel-l h3.pname,.kh-l h3.pname{font:400 clamp(52px,6.4vw,96px)/.95 var(--serif);font-style:italic;letter-spacing:-.03em}
.panel-l .psub,.kh-l .psub{font:300 clamp(24px,2.4vw,34px)/1.15 var(--sans);letter-spacing:-.015em;color:var(--ink);max-width:none}
.panel-l p{max-width:520px;color:var(--body)}
.plist{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.plist li{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding-block:15px;border-bottom:1px solid var(--line)}
.plist .pn{font:300 21px var(--sans)}
.plist .pp{font:300 22px var(--serif);white-space:nowrap;font-variant-numeric:tabular-nums}
.plist .pp i{font-style:italic;font-size:16px;color:var(--soft);margin-right:5px}

/* proceso */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 32px}
.steps li{display:flex;flex-direction:column;gap:14px;border:1px solid #3A3530;border-radius:4px;padding:28px 26px 30px}
.steps .n{width:52px;height:52px;border-radius:50%;border:1px solid var(--stone);display:flex;align-items:center;justify-content:center;font:italic 300 26px/1 var(--serif);color:var(--stone);margin-bottom:10px}
.steps strong{font:400 21px/1.3 var(--sans);color:var(--cream)}
.steps span:last-child{font-size:16px;color:var(--mute)}

/* auditoría */
.audit{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(36px,6vw,96px);align-items:center}
.audit h2{font:200 clamp(38px,4.6vw,66px)/1.05 var(--sans);letter-spacing:-.03em}
.audit-r{display:flex;flex-direction:column;gap:26px;align-items:flex-start}
.audit-r p{color:var(--body);max-width:460px}
.pill{display:inline-flex;align-items:center;gap:12px;text-decoration:none;background:var(--ink);color:var(--cream);border:1px solid var(--ink);border-radius:999px;padding:16px 28px;font:400 16px var(--sans);cursor:pointer;transition:background .25s,color .25s}
.pill:hover{background:transparent;color:var(--ink)}
.pill.ghost{background:transparent;color:var(--ink)}.pill.ghost:hover{background:var(--ink);color:var(--cream)}

/* cabecera de página interior */
.mast>.wrap{padding-block:clamp(48px,6vw,90px) clamp(36px,4vw,56px);display:flex;flex-direction:column;gap:22px}
.mast h1.word{font:300 clamp(56px,9vw,140px)/.95 var(--serif);font-style:italic;letter-spacing:-.03em}
.mast .intro{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:24px 64px;align-items:end;padding-top:12px}
.mast .intro p{font:300 clamp(20px,2vw,27px)/1.35 var(--sans);max-width:700px}
.mast .intro .kicker{justify-self:end;text-align:right}
.mast .intro p.kicker{font:400 15px/1.4 var(--sans);color:var(--soft)}

/* servicio */
.subnav{position:sticky;top:calc(env(safe-area-inset-top,0px) + 102px);z-index:15;background:var(--paper);border-bottom:1px solid var(--line)}
.sn{display:flex;gap:30px;overflow-x:auto;scrollbar-width:none}
.sn a{flex:none;text-decoration:none;font:400 15px var(--sans);color:var(--soft);padding-block:13px;border-bottom:1.5px solid transparent;margin-bottom:-1px}
.sn a[aria-current]{color:var(--ink);border-color:var(--ink)}
.sn a:hover{color:var(--ink)}
.s-mast>.wrap{padding-block:clamp(48px,6vw,96px) clamp(40px,5vw,72px);display:flex;flex-direction:column;gap:clamp(28px,3vw,44px)}
.s-mast h1.word{font:400 clamp(64px,10.5vw,170px)/.92 var(--serif);font-style:italic;letter-spacing:-.035em}
.s-intro{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:36px clamp(36px,6vw,96px);align-items:end;border-top:1px solid var(--ink);padding-top:28px}
.s-intro h2{font:300 clamp(30px,3.4vw,48px)/1.1 var(--sans);letter-spacing:-.02em}
.s-intro .lead{margin-top:16px;color:var(--body);max-width:560px}
.from{display:flex;flex-direction:column;align-items:flex-end;gap:18px;text-align:right}
.from .fp{font:300 clamp(46px,5vw,72px)/1 var(--serif);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.from .fp i{display:block;font-size:22px;color:var(--soft);margin-bottom:8px;letter-spacing:0}
.from .fp small{display:block;font:400 14px var(--sans);color:var(--soft);margin-top:10px;letter-spacing:.02em}
.from .acts{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:14px 26px;align-items:center}
.band{position:relative;overflow:hidden;height:clamp(300px,46vw,640px);display:flex;align-items:center;justify-content:center}
.band.b-web{background:#F3EFE4}.band.b-web .browser{width:min(720px,84%);border:1px solid var(--ink);background:#F9F6F0}
.browser .bar{display:flex;gap:6px;padding:10px 14px;border-bottom:1px solid var(--ink)}.browser .bar i{width:8px;height:8px;border-radius:50%;border:1px solid var(--ink)}
.browser .scr{display:flex;align-items:center;justify-content:center;padding:clamp(28px,5vw,64px)}
.browser img{width:min(420px,90%)}
.band.b-eventos{background:#3A0F1B}.band.b-eventos img{width:100%;height:100%;object-fit:cover}
.band.b-motion{background:var(--night);color:var(--cream)}
.band.b-motion b{position:relative;font:800 clamp(120px,18vw,260px)/1 var(--logo);padding-top:.1em;text-shadow:4px 4px 0 var(--umber)}
.band.b-motion .spin{width:min(620px,70vw)}.band.b-motion .spin.in{width:min(420px,50vw)}
.band .pending{position:absolute;left:max(16px,4vw);bottom:20px}
.two{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:28px clamp(36px,6vw,96px);align-items:start}
.two>h2{font:300 clamp(30px,3.2vw,46px)/1.1 var(--sans);letter-spacing:-.02em;position:sticky;top:190px}
.two>h2 small{display:block;margin-top:14px;font:400 15px/1.5 var(--sans);letter-spacing:0;color:var(--soft);max-width:300px}
.inc{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:44px;border-top:1px solid var(--ink)}
.inc li{display:flex;gap:16px;padding-block:18px;border-bottom:1px solid var(--line);font-size:19px}
.inc li::before{content:"";flex:none;width:9px;height:9px;border-radius:50%;border:1px solid var(--lacre);margin-top:11px}
.rates{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.rate{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr) minmax(150px,auto);gap:12px 36px;padding:28px 0;border-bottom:1px solid var(--line);align-items:start}
.rate.rec{background:var(--ink);color:var(--cream);padding-inline:28px;margin-inline:-28px;border-bottom-color:var(--ink)}
.rate h3{font:300 clamp(28px,2.8vw,40px)/1.05 var(--serif);font-style:italic;letter-spacing:-.01em}
.rate .tag{display:block;margin-top:10px;font:400 13px var(--sans);letter-spacing:.04em;color:var(--stone)}
.rate .ideal{margin-top:10px;font-size:15px;color:var(--soft);max-width:300px}
.rate.rec .ideal{color:var(--mute)}
.rate ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:16px;color:var(--body);padding-top:6px}
.rate.rec ul{color:var(--stone)}
.rate .desc{font-size:16px;color:var(--body);padding-top:6px;max-width:520px}
.rate.rec .desc{color:var(--stone)}
.rate .rp{text-align:right;font:300 clamp(34px,3.4vw,48px)/1 var(--serif);font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:-.01em}
.rate .rp i{display:block;font-size:18px;color:var(--soft);margin-bottom:6px}
.rate .rp small{display:block;font:400 14px var(--sans);color:var(--soft);margin-top:8px;letter-spacing:.02em}
.rate.rec .rp i,.rate.rec .rp small{color:var(--mute)}
.rate .rp.word{font-size:clamp(24px,2.2vw,30px);font-style:italic}
.after{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px 36px;padding-top:8px}
.after p{max-width:620px;color:var(--body);font-size:17px}

/* tarifas: tarjetas comparables, una acción por plan */
.chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.chips li{display:inline-flex;align-items:center;gap:8px;font:400 14px var(--sans);color:var(--body);background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:7px 14px}
.chips li::before{content:"";width:8px;height:4px;border-left:1.5px solid var(--lacre);border-bottom:1.5px solid var(--lacre);transform:rotate(-45deg) translateY(-1px)}
.plans{display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));gap:18px;align-items:stretch;padding-top:14px}
.plan{position:relative;display:flex;flex-direction:column;gap:18px;background:#FFFDF9;border:1px solid var(--line);border-radius:8px;padding:32px 26px 28px;transition:border-color .25s,transform .35s cubic-bezier(.2,.7,.1,1)}
.plan:hover{border-color:var(--lacre);transform:translateY(-4px)}
.plan.rec{background:var(--lacre);color:var(--paper);border-color:var(--lacre)}
.badge{position:absolute;top:-13px;left:24px;background:var(--stone);color:var(--ink);font:500 12px/1 var(--sans);letter-spacing:.05em;padding:7px 12px;border-radius:999px}
.plan h3{font:300 30px/1.05 var(--serif);font-style:italic;letter-spacing:-.01em}
.plan .ideal{font-size:15px;line-height:1.45;color:var(--soft);min-height:4.35em}
.plan.rec .ideal{color:var(--rose)}
.price{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;padding-block:6px 2px;border-top:1px solid var(--line);padding-top:20px}
.plan.rec .price{border-color:#9A4A55}
.price .pre{font:italic 300 18px var(--serif);color:var(--soft)}
.price .amt{font:300 clamp(44px,4vw,56px)/1 var(--serif);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.price .amt.word{font-size:32px;font-style:italic}
.price .unit{font:400 14px var(--sans);color:var(--soft)}
.plan.rec .pre,.plan.rec .unit{color:var(--rose)}
.plan .pick{justify-content:center;width:100%}
.plan:not(.rec) .pick{background:transparent;color:var(--ink)}
.plan:not(.rec) .pick:hover{background:var(--ink);color:var(--cream)}
.plan.rec .pick{background:var(--paper);color:var(--lacre);border-color:var(--paper)}
.plan.rec .pick:hover{background:var(--rose);border-color:var(--rose)}
.plan ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;font-size:15.5px;line-height:1.45;color:var(--body)}
.plan.rec ul{color:var(--paper)}
.plan li{display:flex;gap:11px}
.plan li::before{content:"";flex:none;width:9px;height:5px;margin-top:7px;border-left:1.5px solid var(--lacre);border-bottom:1.5px solid var(--lacre);transform:rotate(-45deg)}
.plan.rec li::before{border-color:var(--rose)}
.plan .inc-t{font:500 13px var(--sans);letter-spacing:.04em;color:var(--soft)}
.plan.rec .inc-t{color:var(--rose)}
.plan .save{align-self:flex-start;font:500 13px var(--sans);color:#3F6B3A;background:#E3EBDD;border-radius:999px;padding:5px 11px}
.plan.rec .save{background:#2F3A2C;color:#CFE3C6}
.plan .was{font:300 20px var(--serif);color:var(--soft);text-decoration:line-through;margin-right:2px}
.pieces{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:14px;padding-top:14px}
.piece{display:flex;flex-direction:column;gap:12px;background:#FFFDF9;border:1px solid var(--line);border-radius:8px;padding:24px 22px 20px;transition:border-color .25s}
.piece:hover{border-color:var(--lacre)}
.piece .top{display:flex;justify-content:space-between;align-items:baseline;gap:14px}
.piece h3{font:300 24px/1.15 var(--serif);font-style:italic}
.piece .pr{text-align:right;white-space:nowrap;font:300 30px/1 var(--serif);font-variant-numeric:tabular-nums}
.piece .pr i{display:block;font-size:15px;color:var(--soft);margin-bottom:2px}
.piece .pr.word{font-size:20px;font-style:italic}
.piece p{font-size:15px;color:var(--soft);line-height:1.5;flex:1}
.piece .ask{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;background:none;border:0;border-bottom:1px solid var(--ink);padding:2px 0 3px;font:400 15px var(--sans);color:var(--ink);cursor:pointer;text-decoration:none}
.piece .ask .arr{width:18px;height:18px}
.piece .ask:hover .arr{transform:translateX(5px)}
.seo{font-size:12px;color:var(--soft);padding-block:12px}
.next{display:block;text-decoration:none;border-top:1px solid var(--ink)}
.next .wrap{display:flex;flex-direction:column;gap:6px;padding-block:clamp(48px,6vw,80px)}
.next .nt{display:flex;justify-content:space-between;align-items:center;gap:24px;font:300 clamp(40px,5.6vw,84px)/1 var(--serif);font-style:italic;letter-spacing:-.03em;transition:color .3s}
.next:hover .nt{color:var(--lacre)}
.next .arr{width:clamp(36px,4vw,56px);height:auto}
.next:hover .arr{transform:translateX(8px)}

/* índice de servicios */
.slist{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.slist a{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto 28px;gap:10px 36px;align-items:center;padding:clamp(22px,2.6vw,34px) 0;border-bottom:1px solid var(--line);text-decoration:none;transition:padding .35s,background .35s}
.slist .sl-t{font:400 clamp(40px,5vw,72px)/1 var(--serif);font-style:italic;letter-spacing:-.025em}
.slist .sl-t small{display:block;font:400 14px var(--sans);letter-spacing:.02em;color:var(--umber);margin-bottom:8px}
.slist .sl-l{color:var(--soft);font-size:16px}
.slist .sl-p{font:300 30px var(--serif);white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}
.slist .sl-p i{display:block;font-size:16px;color:var(--soft)}
.slist a:hover{background:var(--sand);padding-inline:20px}
.slist a:hover .arr{transform:translateX(6px)}
.packs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink)}
.pack{display:flex;flex-direction:column;gap:18px;padding:32px 32px 8px;border-left:1px solid var(--line)}
.pack:first-child{border-left:0;padding-left:0}
.pack h3{font:300 clamp(30px,3vw,42px)/1.05 var(--serif);font-style:italic}
.pack .pk-p{font:300 clamp(46px,5vw,68px)/1 var(--serif);font-variant-numeric:tabular-nums}
.pack .pk-p s{display:block;font-size:20px;color:var(--soft);margin-bottom:8px}
.pack p{font-size:16px;color:var(--body)}

/* portfolio */
.filters{display:flex;flex-wrap:wrap;gap:4px 30px}
.f{background:none;border:0;border-bottom:1.5px solid transparent;padding:10px 0;font:400 16px var(--sans);color:var(--soft);cursor:pointer}
.f[aria-pressed="true"]{color:var(--ink);border-color:var(--ink)}

/* contacto */
.sec>.wrap.contact,.contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px clamp(36px,6vw,110px);align-items:start}
.cinfo{display:flex;flex-direction:column;gap:28px}
.cinfo>p{font:300 clamp(22px,2.2vw,30px)/1.3 var(--sans)}
.dl{display:grid;grid-template-columns:auto 1fr;gap:14px 28px;margin:0;border-top:1px solid var(--ink);padding-top:22px}
.dl dt{font:italic 300 18px var(--serif);color:var(--umber)}.dl dd{margin:0;user-select:all}
/* formulario en tarjeta: se tiene que ver como formulario */
.form{display:flex;flex-direction:column;gap:20px;background:#FFFDF9;border:1px solid var(--line);border-radius:6px;padding:clamp(24px,3vw,40px)}
.form h2{font:300 28px/1.15 var(--sans);letter-spacing:-.01em}
.form .fld{display:flex;flex-direction:column;gap:8px}
.form label{font:500 15px var(--sans);color:var(--ink)}
.form label .opt{font-weight:300;color:var(--soft)}
.form input,.form select,.form textarea{font:300 18px var(--sans);color:var(--ink);background:#FFFFFF;border:1px solid #B9AE9C;border-radius:4px;padding:13px 15px;width:100%;transition:border-color .2s,box-shadow .2s}
.form textarea{resize:vertical;min-height:130px}
.form input::placeholder,.form textarea::placeholder{color:#9A8F80}
.form input:hover,.form select:hover,.form textarea:hover{border-color:var(--umber)}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(110,89,64,.18)}
.form [aria-invalid="true"]{border-color:#A3402B}
.form .pill{align-self:stretch;justify-content:center;margin-top:6px;padding-block:18px}
.form .msg{font-size:15px;color:var(--soft)}.form .msg.err{color:#A3402B}
.small{font-size:14px;color:var(--soft)}
.pending{display:inline-block;font:400 12px var(--sans);letter-spacing:.04em;color:var(--umber);border:1px dashed var(--umber);border-radius:999px;padding:5px 12px;background:var(--paper)}

/* mapa */
.tree{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.tree>li{display:grid;grid-template-columns:260px minmax(0,1fr);gap:4px 32px;padding-block:24px;border-bottom:1px solid var(--line)}
.tree a{font:300 34px/1 var(--serif);font-style:italic;text-decoration:none}
.tree small{color:var(--soft);font-size:15px;align-self:center}
.tree ol{grid-column:2;list-style:none;margin:12px 0 0;padding:0 0 0 20px;border-left:1px solid var(--umber);display:flex;flex-direction:column;gap:10px}
.tree ol a{font-size:24px}

/* pie */
footer{background:var(--night);color:var(--cream)}
.f-top{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:28px;padding-block:56px 0;font:300 16px/1.6 var(--sans);color:var(--stone)}
.f-top a{text-decoration:none}.f-top a:hover{color:var(--cream)}
.f-top div{display:flex;flex-direction:column;gap:4px}
.f-top .logo b{--r:var(--stone);--dot:var(--gold);color:var(--cream);width:64px;height:64px;font-size:30px}
.f-top .logo b::after{right:14px;bottom:17px;width:4px;height:4px}
.f-talk{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:32px;padding-block:clamp(48px,6vw,90px)}
.f-talk h2{font:300 clamp(56px,8vw,124px)/.95 var(--serif);font-style:italic;letter-spacing:-.03em}
.circle{width:clamp(120px,12vw,160px);aspect-ratio:1;border-radius:50%;border:1px solid var(--stone);display:flex;align-items:center;justify-content:center;text-decoration:none;font:400 14px var(--sans);letter-spacing:.06em;color:var(--cream);transition:background .3s,color .3s}
.circle:hover{background:var(--stone);color:var(--ink)}
.legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding-block:20px 34px;border-top:1px solid #38332D;font-size:13px;color:var(--mute)}

@media (max-width:1000px){
 .ov-body,.panel,.audit,.contact,.sec>.wrap.contact,.s-intro,.two,.mast .intro{grid-template-columns:minmax(0,1fr)}
 .mast .intro .kicker{justify-self:start;text-align:left}
 .from{align-items:flex-start;text-align:left}.from .acts{justify-content:flex-start}
 .two>h2{position:static}
 .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
 .slist a{grid-template-columns:minmax(0,1fr) auto 28px}.slist .sl-l{grid-column:1 / -1;grid-row:2}
 .packs{grid-template-columns:minmax(0,1fr)}.pack{border-left:0;padding-left:0;padding-right:0;border-bottom:1px solid var(--line);padding-bottom:28px}
 .f-top{grid-template-columns:repeat(2,minmax(0,1fr))}
 .rate{grid-template-columns:minmax(0,1fr) auto}.rate>div:nth-child(2){grid-column:1 / -1;grid-row:2}
 .rate .rp{grid-column:2;grid-row:1}
 .plans{grid-template-columns:repeat(2,minmax(0,1fr))!important;row-gap:30px}
}
@media (max-width:700px){
 .work{grid-template-columns:minmax(0,1fr)}.tile{aspect-ratio:1/1}.t-javi .bg{padding-top:90px}
 .inc,.steps,.f-top{grid-template-columns:minmax(0,1fr)}
 .hero-foot{flex-direction:column;align-items:flex-start;gap:6px}.hero-foot p:last-child{text-align:left}
 .hero{padding-block:72px 150px}
 .hright .audit-l{display:none}
 .rate.rec{padding-inline:18px;margin-inline:-16px}
 .tree>li{grid-template-columns:minmax(0,1fr)}.tree ol{grid-column:1}
 .slist a:hover{padding-inline:0}
 .plans{grid-template-columns:minmax(0,1fr)!important;gap:26px}.plan .ideal{min-height:0}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* manual página a página */
.strip-wrap{padding-block:clamp(56px,7vw,110px) clamp(40px,5vw,72px)}
.strip-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px 48px;margin-bottom:clamp(24px,3vw,40px)}
.strip-head h2{font:200 clamp(36px,4.4vw,64px)/1 var(--sans);letter-spacing:-.03em}
.strip-head h2 em{font-family:var(--serif);font-weight:300;color:var(--lacre)}
.strip-head p{font:300 16px/1.6 var(--sans);color:var(--soft);max-width:420px}
.strip{display:flex;gap:clamp(14px,2vw,24px);overflow-x:auto;scroll-snap-type:x mandatory;padding:4px max(16px,4vw) 18px;scrollbar-width:thin;overscroll-behavior-x:contain}
.strip figure{margin:0;flex:0 0 min(80vw,720px);scroll-snap-align:start;display:flex;flex-direction:column;gap:10px}
.strip img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;border-radius:4px;box-shadow:0 22px 44px -26px rgba(30,30,20,.55)}
.strip figcaption{display:flex;gap:12px;font:400 14px var(--sans);color:var(--soft)}
.strip figcaption b{font:300 16px var(--serif);font-style:italic;color:var(--lacre)}
.strip:focus-visible{outline:2px solid var(--lacre);outline-offset:4px}
/* hero a sangre */
.case-fig.full .stage{padding:0}.case-fig.full .stage img{width:100%;height:auto;max-height:86vh;object-fit:cover;box-shadow:none}
/* secuencia */
.seq{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2vw,28px);align-items:start!important}
.sq{display:flex;flex-direction:column;gap:14px}
.sq-i{aspect-ratio:1;border-radius:6px;overflow:hidden}
.sq-i img{width:100%!important;height:100%!important;object-fit:cover;box-shadow:none!important}
.sq p{display:flex;align-items:baseline;gap:12px;font:300 17px var(--sans);color:#F0E3D2}
.sq p i{font:300 26px/1 var(--serif);color:#C2A26A}
.duo{display:grid!important;grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr);gap:clamp(18px,3vw,48px);align-items:center!important}
.du{display:flex;flex-direction:column;gap:12px}
.du-i img{width:100%!important;border-radius:6px}
.du p{font:400 14px var(--sans);color:var(--soft)}
.duo .du:first-child .du-i{max-width:380px;margin:0 auto}
/* cita */
.cq>.wrap{padding-block:clamp(72px,9vw,140px)}
.cq p{font:300 clamp(36px,5vw,76px)/1.08 var(--serif);letter-spacing:-.02em;max-width:18em}
.cq em{font-style:italic}
/* figuras de recursos */
.rfs{display:flex;flex-direction:column;gap:clamp(18px,2vw,28px)}
.rf{margin:0;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,.6fr);gap:clamp(18px,3vw,40px);align-items:end}
.rf-i{border-radius:8px;overflow:hidden;background:#F4EDE1}
.rf-i img{width:100%;display:block}
.rf figcaption{display:flex;flex-direction:column;gap:8px;font:300 15px/1.55 var(--sans);opacity:.85;padding-bottom:6px}
.rf figcaption b{font:300 clamp(22px,2vw,30px)/1.15 var(--serif);font-style:italic;opacity:1}
.arts{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important}
.arts figure:only-child .t{aspect-ratio:16/8}
/* galería de aplicaciones */
.gal-grid{display:flex;flex-direction:column;gap:clamp(24px,3vw,40px);padding-block:clamp(56px,7vw,100px) 0}
.gal-t{font:200 clamp(38px,4.6vw,66px)/1 var(--sans);letter-spacing:-.03em}
.gg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2vw,24px)}
.gi{margin:0;display:flex;flex-direction:column;gap:10px}
.gi-i{border-radius:8px;overflow:hidden;aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;padding:clamp(12px,2vw,28px)}
.gi-i img{max-width:100%;max-height:100%;display:block;border-radius:4px}
.gi figcaption{font:400 14px var(--sans);color:var(--soft)}
.gg .gi:last-child:nth-child(odd){grid-column:1/-1}.gg .gi:last-child:nth-child(odd) .gi-i{aspect-ratio:21/9}
@media (max-width:820px){.seq,.duo,.gg,.rf{grid-template-columns:minmax(0,1fr)!important}.gg .gi:last-child:nth-child(odd) .gi-i{aspect-ratio:16/10}}

/* cifras */
.facts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;border-bottom:1px solid var(--line);padding-block:clamp(28px,4vw,48px)}
.facts div{display:flex;flex-direction:column;gap:6px}
.facts b{font:300 clamp(40px,5vw,72px)/1 var(--serif);font-style:italic;letter-spacing:-.02em;color:var(--lacre)}
.facts span{font:400 14px var(--sans);color:var(--soft)}
/* maqueta tríptico */
.tri-stage{min-height:clamp(380px,48vw,720px);perspective:2400px}
.tri{display:flex;align-items:center;transform-style:preserve-3d;transform:rotateX(8deg)}
.tri span{position:relative;display:block;width:min(24vw,310px);aspect-ratio:443/935;box-shadow:0 40px 60px -30px rgba(40,20,10,.55)}
.tri span img{width:100%;height:100%;display:block}
.tri span::after{content:"";position:absolute;inset:0;pointer-events:none}
.tri .l{transform-origin:right center;transform:rotateY(32deg)}.tri .l::after{background:linear-gradient(90deg,rgba(0,0,0,.28),rgba(0,0,0,.05))}
.tri .r{transform-origin:left center;transform:rotateY(-32deg)}.tri .r::after{background:linear-gradient(90deg,rgba(255,255,255,.08),rgba(0,0,0,.22))}
.tri .c::after{background:linear-gradient(90deg,rgba(0,0,0,.06),rgba(255,255,255,.06))}
/* mupi */
.mupi-stage{background:linear-gradient(#EFE3DC 0 76%,#D9CBC1 76%);min-height:clamp(460px,56vw,760px);align-items:flex-end!important;padding-bottom:0!important}
.mupi{display:flex;flex-direction:column;align-items:center}
.mupi .box{background:#2A2628;padding:clamp(10px,1.4vw,18px);border-radius:8px;box-shadow:0 40px 70px -30px rgba(30,15,20,.6)}
.mupi .box img{width:clamp(200px,24vw,330px)!important;box-shadow:0 0 40px rgba(255,240,230,.35)!important;display:block}
.mupi .leg{width:clamp(40px,4vw,56px);height:clamp(60px,7vw,110px);background:linear-gradient(90deg,#1E1B1C,#3A3537,#1E1B1C)}
.sim{font:400 13px var(--sans);letter-spacing:.04em}
/* recursos */
.res>.wrap{padding-block:clamp(72px,9vw,140px);display:flex;flex-direction:column;gap:clamp(48px,6vw,88px)}
.res-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 64px;align-items:end}
.res-head h2{font:200 clamp(40px,5vw,76px)/1 var(--sans);letter-spacing:-.03em}
.res-head h2 em{color:inherit;opacity:.85}
.res-head p{font:300 18px/1.6 var(--sans);opacity:.8;max-width:520px}
.res-b{display:flex;flex-direction:column;gap:22px}
.res-b>h3{display:flex;align-items:baseline;gap:16px;font:300 clamp(26px,2.4vw,34px)/1 var(--serif);font-style:italic;border-top:1px solid currentColor;padding-top:16px}
.res-b>h3 small{font:400 13px var(--sans);font-style:normal;letter-spacing:.06em;opacity:.65}
.pal{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}
.pal div{display:flex;flex-direction:column;justify-content:flex-end;gap:4px;aspect-ratio:1/1.1;padding:16px;border-radius:6px;font:400 15px var(--sans);box-shadow:inset 0 0 0 1px rgba(127,127,127,.25)}
.pal code{font:400 13px ui-monospace,Menlo,monospace;opacity:.75}
.types{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.types.t3{grid-template-columns:repeat(3,minmax(0,1fr))}
.types figure{margin:0;display:flex;flex-direction:column;gap:10px}
.types img{width:100%;display:block;border-radius:6px;box-shadow:0 0 0 1px rgba(255,255,255,.14)}
.types figcaption{font:300 15px/1.5 var(--sans);opacity:.8}.types figcaption b{font-weight:500;opacity:1}
.icons{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}
.icons figure{margin:0;display:flex;flex-direction:column;gap:8px}
.icons .t{aspect-ratio:1;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:transform .4s cubic-bezier(.2,.7,.1,1)}
.icons figure:hover .t{transform:translateY(-4px) rotate(-3deg)}
.icons img{width:62%!important;height:auto}
.icons figcaption{font:400 13px var(--sans);opacity:.7}
.pats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.pats figure,.arts figure{margin:0;display:flex;flex-direction:column;gap:8px}
.pats img{width:100%;aspect-ratio:1;object-fit:cover;display:block;border-radius:6px}
.pats figcaption,.arts figcaption{font:400 13px var(--sans);opacity:.7}
.arts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.arts .t{aspect-ratio:4/3;border-radius:6px;display:flex;align-items:center;justify-content:center;padding:8%}
.arts img{max-width:100%;max-height:100%;display:block}
.pieces{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2.4vw,32px)}
.pieces figure{margin:0;display:flex;flex-direction:column;gap:14px}
.pieces figure.wide{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(18px,3vw,48px);align-items:center}
.pieces .t{background:#FAE1D9;border-radius:6px;display:flex;align-items:center;justify-content:center;padding:clamp(14px,3vw,40px)}
.pieces img{max-width:100%;display:block}
.pieces figcaption{display:flex;flex-direction:column;gap:8px}
.pieces figcaption i{font:300 clamp(36px,4vw,56px)/1 var(--serif);opacity:.6}
.pieces figcaption b{font:400 20px var(--sans)}
.pieces figcaption span{font:300 16px/1.6 var(--sans);opacity:.85;max-width:420px}
@media (max-width:820px){.facts{grid-template-columns:repeat(2,minmax(0,1fr))}.res-head,.types,.types.t3,.pieces,.pieces figure.wide{grid-template-columns:minmax(0,1fr)}.pats{grid-template-columns:repeat(2,minmax(0,1fr))}.arts{grid-template-columns:minmax(0,1fr)}.tri span{width:28vw}.pal{grid-template-columns:repeat(2,minmax(0,1fr))}.pal div{aspect-ratio:auto;height:96px}.icons{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* páginas de proyecto */
.case-mast>.wrap{padding-block:clamp(40px,5vw,72px) clamp(36px,4vw,56px);display:flex;flex-direction:column;gap:22px}
.case-back{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;font:400 15px var(--sans);text-decoration:none;color:var(--soft)}
.case-back .arr{width:20px;height:20px;transform:scaleX(-1)}
.case-back:hover{color:var(--lacre)}
.case-t{font:300 clamp(56px,9vw,140px)/.95 var(--serif);font-style:italic;letter-spacing:-.03em}
.case-t em{color:var(--lacre)}
.case-lead{font:300 clamp(20px,2vw,27px)/1.4 var(--sans);max-width:820px}
.case-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 32px;margin:12px 0 0;border-top:1px solid var(--ink);padding-top:20px}
.case-meta dt{font:400 13px var(--sans);letter-spacing:.04em;color:var(--lacre);margin-bottom:6px}
.case-meta dd{margin:0;font:300 17px/1.4 var(--sans)}
.case-fig{margin:0;display:flex;flex-direction:column}
.case-fig .stage{display:flex;align-items:center;justify-content:center;padding:clamp(24px,5vw,80px)}
.case-fig .stage img{display:block;max-width:100%;height:auto;box-shadow:0 30px 60px -28px rgba(30,15,10,.55)}
.case-fig.poster .stage img{width:min(460px,78vw)}
.case-fig figcaption{font:400 14px var(--sans);color:var(--soft);padding-top:14px}
.case-fig.full .stage{padding:0}.case-fig.full .stage img{width:100%;box-shadow:none}
.case-fig.bleed figcaption{padding-left:max(16px,4vw)}
.phones{display:flex;gap:clamp(14px,3vw,40px);justify-content:center;align-items:flex-start;flex-wrap:wrap}
.phones img{width:clamp(150px,22vw,260px)!important;border-radius:22px;border:6px solid var(--ink)}
.trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2vw,28px);width:100%;max-width:1100px}
.trio img{width:100%!important}
.case-text>.wrap{padding-block:clamp(64px,8vw,120px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px clamp(28px,4vw,64px)}
.case-text h2{font:300 clamp(28px,2.6vw,38px)/1.1 var(--serif);font-style:italic;letter-spacing:-.01em;margin-bottom:16px;padding-top:18px;border-top:1px solid var(--lacre)}
.case-text p{font:300 17px/1.65 var(--sans);color:var(--body)}
.case-gal{display:flex;flex-direction:column;gap:clamp(16px,2vw,28px);padding-bottom:clamp(48px,6vw,96px)}
.case-cta>.wrap{padding-block:clamp(56px,7vw,100px);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px}
.case-cta h2{font:200 clamp(32px,4vw,58px)/1.05 var(--sans);letter-spacing:-.03em;max-width:15em}
.case-cta h2 em{color:var(--rose)}
.case-cta .ulink{color:var(--paper)}
.case-pend{padding-bottom:28px}
@media (max-width:820px){.case-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.case-text>.wrap{grid-template-columns:minmax(0,1fr)}.trio{grid-template-columns:minmax(0,1fr)}.trio img{max-width:280px;margin:0 auto}}

/* cabecera de servicio con mockup */
.s-mast .wrap.mk-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px clamp(32px,5vw,80px)}
.mk{position:relative;width:clamp(300px,34vw,470px);aspect-ratio:470/310;container-type:inline-size;flex:none}
.mk *{box-sizing:border-box}
.mk>*{position:absolute}
.mk .sh{box-shadow:0 2.4cqw 5cqw -2cqw rgba(40,22,12,.35),0 .4cqw 1cqw -.4cqw rgba(40,22,12,.2)}
.mk .flw{animation:mkfl 7s ease-in-out infinite}
.mk .fl2{animation:mkfl 8s ease-in-out -3s infinite}
@keyframes mkfl{50%{translate:0 -1.6cqw}}
@media (prefers-reduced-motion:reduce){.mk .fl,.mk .fl2{animation:none}}
.mk .ser{font-family:var(--serif);font-style:italic;font-weight:300;letter-spacing:-.03em}
.mk .ln{display:block;height:.7cqw;border-radius:1cqw;background:currentColor;opacity:.25}
/* redes */
.mk-redes .ph{left:6%;top:0;width:34%;height:100%;background:var(--ink);border-radius:6cqw;padding:1.5cqw}
.mk-redes .scr{width:100%;height:100%;background:var(--paper);border-radius:4.8cqw;padding:5cqw 2.4cqw 2cqw;display:flex;flex-direction:column;gap:2cqw}
.mk-redes .pr{display:flex;align-items:center;gap:2cqw}
.mk-redes .av{width:8.6cqw;height:8.6cqw;border-radius:50%;border:.35cqw solid var(--lacre);display:flex;align-items:center;justify-content:center;font-size:3.6cqw;color:var(--ink)}
.mk-redes .pr span{display:flex;flex-direction:column;gap:1cqw;flex:1;color:var(--ink)}
.mk-redes .gr{display:grid;grid-template-columns:repeat(3,1fr);gap:.7cqw}
.mk-redes .gr i{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:3.4cqw;font-style:italic;font-family:var(--serif);font-weight:300}
.mk-redes .post{left:47%;top:7%;width:41%;aspect-ratio:4/5;background:var(--lacre);color:var(--paper);rotate:5deg;padding:3.6cqw;display:flex;flex-direction:column;justify-content:space-between}
.mk-redes .post small{font:400 2.2cqw var(--sans);letter-spacing:.08em;color:var(--rose)}
.mk-redes .post b{font-size:5.6cqw;line-height:1.02;font-weight:300}
.mk-redes .post .ic{display:flex;gap:2cqw}.mk-redes .post svg{width:3.6cqw;height:3.6cqw;fill:none;stroke:var(--paper);stroke-width:1.6}
.mk-redes .like{left:70%;top:76%;background:var(--paper);color:var(--lacre);border-radius:9cqw;padding:1.4cqw 2.8cqw;font:500 2.6cqw var(--sans);display:flex;align-items:center;gap:1.2cqw}
.mk-redes .like svg{width:3cqw;height:3cqw;fill:var(--lacre)}
/* web */
.mk-web .br{left:0;top:4%;width:80%;height:82%;background:var(--paper);border:1px solid var(--ink);border-radius:1.4cqw;overflow:hidden;display:flex;flex-direction:column}
.mk-web .bar{display:flex;align-items:center;gap:1cqw;padding:1.4cqw 2cqw;border-bottom:1px solid var(--ink)}
.mk-web .bar i{width:1.4cqw;height:1.4cqw;border-radius:50%;border:1px solid var(--ink)}
.mk-web .bar em{margin-left:2cqw;font:400 1.9cqw var(--sans);font-style:normal;color:var(--soft);border:1px solid var(--line);border-radius:3cqw;padding:.4cqw 2.4cqw}
.mk-web .wnav{display:flex;justify-content:space-between;align-items:center;padding:2.4cqw 3.4cqw;color:var(--ink)}
.mk-web .wnav .ser{font-size:2.8cqw}
.mk-web .wnav .lk{display:flex;gap:1.6cqw}.mk-web .wnav .lk .ln{width:5cqw}
.mk-web .whero{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.6cqw;color:var(--ink)}
.mk-web .whero .ser{font-size:9.4cqw;line-height:.9}
.mk-web .whero .ser i{color:var(--lacre);font-style:normal}
.mk-web .whero small{font:400 1.7cqw var(--sans);letter-spacing:.5em;text-transform:uppercase}
.mk-web .bd{background:var(--lacre);height:18%;display:flex;flex-direction:column;justify-content:center;gap:1cqw;padding:0 3.4cqw;color:var(--paper)}
.mk-web .bd .ln{opacity:.6}.mk-web .bd .ln:first-child{width:58%}.mk-web .bd .ln:last-child{width:36%}
.mk-web .mo{right:3%;bottom:0;width:23%;height:74%;background:var(--ink);border-radius:4cqw;padding:1.1cqw}
.mk-web .mo div{width:100%;height:100%;background:var(--paper);border-radius:3.2cqw;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:4cqw 1.6cqw 0;overflow:hidden;color:var(--ink)}
.mk-web .mo .ser{font-size:4.4cqw;margin-top:4cqw}
.mk-web .mo .ln{width:70%}
.mk-web .mo s{display:block;width:calc(100% + 3.2cqw);height:24%;background:var(--lacre);text-decoration:none}
/* marca */
.mk-marca .bk{left:4%;top:16%;width:52%;aspect-ratio:85/55;background:var(--ink);rotate:-7deg;display:flex;align-items:center;justify-content:center}
.mk-marca .mono{position:relative;width:15cqw;height:15cqw;border-radius:50%;border:1px solid var(--stone);display:flex;align-items:center;justify-content:center;color:var(--paper);font-size:7cqw;padding-right:.6cqw}
.mk-marca .mono::after{content:"";position:absolute;right:3.2cqw;bottom:4cqw;width:.8cqw;height:.8cqw;border-radius:50%;background:var(--gold)}
.mk-marca .fr{left:38%;top:38%;width:52%;aspect-ratio:85/55;background:var(--paper);rotate:5deg;padding:3.6cqw;display:flex;flex-direction:column;justify-content:space-between;color:var(--ink);border-bottom:1.6cqw solid var(--lacre)}
.mk-marca .fr .ser{font-size:6cqw;line-height:1}
.mk-marca .fr .ser i{color:var(--lacre);font-style:normal}
.mk-marca .fr .lns{display:flex;flex-direction:column;gap:1cqw}.mk-marca .fr .ln:nth-child(1){width:46%}.mk-marca .fr .ln:nth-child(2){width:30%}
.mk-marca .sw{right:2%;top:2%;display:flex;gap:1.4cqw}
.mk-marca .sw i{width:6.4cqw;height:6.4cqw;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.mk-marca .tg{left:6%;bottom:2%;font:400 2.2cqw var(--sans);letter-spacing:.06em;color:var(--soft);display:flex;gap:2cqw;align-items:baseline}
.mk-marca .tg b{font:300 6cqw/1 var(--serif);font-style:italic;color:var(--ink)}
/* gráfico */
.mk-grafico .po{left:3%;top:0;width:34%;height:100%;background:var(--lacre);color:var(--paper);rotate:-3deg;padding:3.4cqw;display:flex;flex-direction:column;justify-content:space-between;align-items:center;text-align:center}
.mk-grafico .po small{font:400 1.8cqw var(--sans);letter-spacing:.3em;color:var(--rose)}
.mk-grafico .po .arc{width:76%;aspect-ratio:3/4;border:1px solid var(--rose);border-radius:20cqw 20cqw 0 0;display:flex;align-items:center;justify-content:center}
.mk-grafico .po .ser{font-size:6cqw;line-height:.95}
.mk-grafico .tp{left:42%;top:20%;width:42%;height:70%;display:flex;perspective:60cqw}
.mk-grafico .tp i{flex:1;padding:2.4cqw 1.8cqw;display:flex;flex-direction:column;gap:1.2cqw;font-style:normal}
.mk-grafico .tp i:nth-child(1){background:var(--paper);transform:rotateY(24deg);transform-origin:right;color:var(--ink)}
.mk-grafico .tp i:nth-child(2){background:var(--sand);color:var(--ink)}
.mk-grafico .tp i:nth-child(3){background:var(--ink);transform:rotateY(-24deg);transform-origin:left;color:var(--paper)}
.mk-grafico .tp .ser{font-size:3.4cqw}
.mk-grafico .tp .ln:nth-child(odd){width:80%}
.mk-grafico .fy{right:1%;top:2%;width:21%;aspect-ratio:1/1.41;background:var(--stone);rotate:7deg;padding:2.2cqw;display:flex;flex-direction:column;justify-content:space-between;color:var(--ink)}
.mk-grafico .fy .ser{font-size:4.4cqw;line-height:.95}
.mk-grafico .fy b{width:7cqw;height:7cqw;border-radius:50%;background:var(--lacre);color:var(--paper);display:flex;align-items:center;justify-content:center;font:500 1.8cqw var(--sans);align-self:flex-end}
/* eventos */
.mk-eventos .en{left:3%;top:30%;width:58%;aspect-ratio:1.45;background:linear-gradient(160deg,#F3EADB,#E6D7BF)}
.mk-eventos .en::before{content:"";position:absolute;left:0;right:0;top:0;height:56%;background:linear-gradient(#FBF5EA,#EDE0CA);clip-path:polygon(0 0,100% 0,50% 100%);filter:drop-shadow(0 .4cqw .4cqw rgba(90,60,30,.18))}
.mk-eventos .seal{position:absolute;left:50%;top:56%;width:11cqw;height:11cqw;translate:-50% -50%;border-radius:50%;background:radial-gradient(circle at 35% 30%,#E8CF98,#B08D57 60%,#7E6130);box-shadow:0 .6cqw 1.2cqw rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center;color:#5B1426;font-size:4cqw}
.mk-eventos .inv{right:5%;top:0;width:34%;height:100%;background:var(--paper);border-radius:20cqw 20cqw .8cqw .8cqw;rotate:3deg;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.6cqw;text-align:center;color:var(--lacre)}
.mk-eventos .inv::before{content:"";position:absolute;inset:1.2cqw;border:1px solid var(--gold);border-radius:inherit;opacity:.7}
.mk-eventos .inv small{font:500 1.5cqw var(--sans);letter-spacing:.32em;color:var(--umber)}
.mk-eventos .inv .ser{font-size:6.4cqw;line-height:.95}
.mk-eventos .inv hr{width:6cqw;border:0;border-top:1px solid var(--gold);margin:0}
.mk-eventos .inv b{font:400 2cqw var(--sans);letter-spacing:.3em;color:var(--ink)}
.mk-eventos .cd{left:8%;top:2%;font:400 2.2cqw var(--sans);letter-spacing:.06em;color:var(--soft);display:flex;align-items:baseline;gap:1.6cqw}
.mk-eventos .cd b{font:300 7cqw/1 var(--serif);font-style:italic;color:var(--lacre)}
@media (max-width:820px){.s-mast .wrap.mk-row{grid-template-columns:minmax(0,1fr)}.mk{width:min(100%,400px)}}

/* auditoría */
.aud{background:var(--sand)}
.aud>.wrap{padding-block:clamp(80px,10vw,140px);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(40px,6vw,96px);align-items:center}
.aud .k{display:inline-flex;align-items:center;gap:10px;font:400 14px var(--sans);letter-spacing:.04em;color:var(--lacre)}
.aud .k i{width:8px;height:8px;border-radius:50%;background:var(--lacre);animation:audp 2s ease-in-out infinite}
@keyframes audp{50%{opacity:.25}}
.aud h2{font:200 clamp(44px,5.6vw,84px)/1 var(--sans);letter-spacing:-.035em;margin:18px 0 22px}
.aud h2 em{color:var(--lacre)}
.aud .lead{font:300 clamp(18px,1.6vw,21px)/1.55 var(--sans);color:var(--body);max-width:520px}
.aud form{margin-top:30px;display:flex;align-items:stretch;max-width:520px;background:var(--paper);border:1px solid var(--ink);border-radius:999px;padding:6px}
.aud form label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.aud form input{flex:1;min-width:0;border:0;background:transparent;font:400 17px var(--sans);color:var(--ink);padding:0 20px;outline:none}
.aud form button{border:0;border-radius:999px;background:var(--ink);color:var(--paper);font:400 15px var(--sans);padding:14px 22px;display:flex;align-items:center;gap:10px;cursor:pointer;white-space:nowrap;transition:background .3s}
.aud form button:hover{background:var(--lacre)}
.aud form button .arr{width:18px;height:18px}
.aud form:focus-within{outline:2px solid var(--lacre);outline-offset:3px}
.aud .note{font:400 13px var(--sans);color:var(--soft);margin-top:12px}
.aud ol{list-style:none;margin:38px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;max-width:620px}
.aud ol li{border-top:1px solid var(--ink);padding-top:12px;font:300 15px/1.45 var(--sans);color:var(--body)}
.aud ol b{display:block;font:300 30px/1 var(--serif);font-style:italic;color:var(--lacre);margin-bottom:8px}
.rep{position:relative;background:var(--paper);border-radius:10px;padding:clamp(22px,2.4vw,32px);box-shadow:0 30px 60px -30px rgba(40,22,12,.45);rotate:1.5deg;max-width:460px;justify-self:center;width:100%}
.rep .tag{position:absolute;top:-14px;left:24px;background:var(--ink);color:var(--paper);font:400 12px var(--sans);letter-spacing:.06em;border-radius:999px;padding:6px 12px}
.rep .rh{display:flex;align-items:center;gap:14px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.rep .av{width:48px;height:48px;border-radius:50%;background:conic-gradient(var(--lacre),var(--gold),var(--rose),var(--lacre));padding:2px}
.rep .av span{display:block;width:100%;height:100%;border-radius:50%;background:var(--sand);border:2px solid var(--paper)}
.rep .rh div{flex:1}
.rep .rh b{display:block;font:500 16px var(--sans)}
.rep .rh small{font:400 13px var(--sans);color:var(--soft)}
.rep .sc{position:relative;width:74px;height:74px;border-radius:50%;background:conic-gradient(var(--lacre) 0 63%,var(--line) 63% 100%);display:flex;align-items:center;justify-content:center}
.rep .sc::before{content:"";position:absolute;inset:5px;border-radius:50%;background:var(--paper)}
.rep .sc span{position:relative;font:300 26px/1 var(--serif);font-style:italic}
.rep .sc span small{font-size:12px;font-style:normal;color:var(--soft)}
.rep ul{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column}
.rep li{display:grid;grid-template-columns:26px 1fr;gap:12px;align-items:start;padding:11px 0;border-bottom:1px dashed var(--line);font:300 15px/1.4 var(--sans)}
.rep li i{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font:500 12px var(--sans);font-style:normal}
.rep li.ok i{background:var(--sand);color:var(--ink)}
.rep li.ko i{background:var(--lacre);color:var(--paper)}
.rep li small{display:block;font-size:13px;color:var(--soft);margin-top:2px}
.rep .rf{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px}
.rep .rf span{font:400 13px var(--sans);color:var(--soft)}
.rep .rf b{font:300 22px var(--serif);font-style:italic;color:var(--lacre)}
.rep .pen{position:absolute;right:-18px;top:38%;rotate:-8deg;background:var(--rose);color:var(--lacre);font:300 18px var(--serif);font-style:italic;padding:8px 14px;border-radius:4px;box-shadow:0 10px 20px -10px rgba(0,0,0,.3)}
@media (max-width:900px){.aud>.wrap{grid-template-columns:minmax(0,1fr)}.rep .pen{right:8px;top:-22px;font-size:16px}}
@media (max-width:560px){.aud ol{grid-template-columns:minmax(0,1fr)}.aud form{flex-direction:column;border-radius:18px;gap:6px}.aud form input{padding:12px 14px}.aud form button{justify-content:center}}

/* qué hacemos, versión rica */
.tabs.kh-tabs{gap:8px;border-bottom:0;margin-bottom:clamp(28px,3vw,44px)}
.kh-tabs .tab{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:999px;padding:10px 18px 10px 12px;margin:0;transition:background .3s,color .3s,border-color .3s}
.kh-tabs .tab i{font:300 15px/1 var(--serif);font-style:italic;color:var(--lacre);width:26px;height:26px;border-radius:50%;border:1px solid currentColor;display:inline-flex;align-items:center;justify-content:center;transition:inherit}
.kh-tabs .tab[aria-selected="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.kh-tabs .tab[aria-selected="true"] i{background:var(--lacre);border-color:var(--lacre);color:var(--paper)}
.kh-tabs .tab:hover{border-color:var(--ink)}
.panel.kh{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;animation:khin .7s cubic-bezier(.2,.7,.1,1) both}
@keyframes khin{from{opacity:0;transform:translateY(14px)}}
.kh-l{display:flex;flex-direction:column;gap:22px}
.kh-l .kh-n{font:400 14px var(--sans);letter-spacing:.06em;color:var(--soft)}
.kh-l .kh-n b{font-weight:400;color:var(--lacre)}
.kh-inc{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.kh-inc li{display:flex;gap:12px;align-items:baseline;font:300 17px/1.45 var(--sans);color:var(--body)}
.kh-inc li::before{content:"";flex:none;width:9px;height:5px;border-left:1.5px solid var(--lacre);border-bottom:1.5px solid var(--lacre);transform:rotate(-45deg) translateY(-3px)}
.kh-cta{display:flex;flex-wrap:wrap;align-items:center;gap:18px 28px;margin-top:8px}
.kh-r{display:flex;flex-direction:column;gap:18px}
.kh-stage{position:relative;background:var(--paper);border-radius:10px;display:flex;align-items:center;justify-content:center;padding:clamp(28px,4vw,52px) clamp(18px,3vw,40px);min-height:clamp(260px,24vw,340px);overflow:hidden}
.kh-stage::before{content:"";position:absolute;width:70%;aspect-ratio:1;border:1px solid var(--line);border-radius:50%;left:50%;top:50%;translate:-50% -50%}
.kh-stage .mk{width:min(100%,430px)}
.kh-from{position:absolute;left:18px;top:16px;display:flex;align-items:baseline;gap:8px;background:var(--ink);color:var(--paper);border-radius:999px;padding:8px 16px}
.kh-from i{font:400 13px var(--sans);font-style:normal;opacity:.7}
.kh-from b{font:300 22px/1 var(--serif);font-style:italic}
.kh-r .plist{border-top:0}
.kh-r .plist li{padding-block:12px}
.kh-r .plist .pn{font-size:18px}.kh-r .plist .pp{font-size:20px}
@media (max-width:900px){.panel.kh{grid-template-columns:minmax(0,1fr)}.kh-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-4vw;padding-inline:4vw}.kh-tabs .tab{flex:none}}
@media (prefers-reduced-motion:reduce){.panel.kh{animation:none}}

/* cómo trabajamos, versión rica */
.flow .sec-head p{max-width:440px}
.flw{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,2.4vw,32px);position:relative}
.flw::before,.flw::after{content:"";position:absolute;top:26px;left:26px;right:26px;height:1px;background:#3A3530}
.flw::after{background:linear-gradient(90deg,var(--lacre),var(--gold));right:auto;width:0;transition:width 2.2s cubic-bezier(.3,.6,.1,1) .2s}
.flw.on::after{width:calc(100% - 52px)}
.fs{position:relative;display:flex;flex-direction:column;gap:12px;opacity:0;transform:translateY(22px);transition:opacity .8s,transform .8s cubic-bezier(.2,.7,.1,1)}
.flw.on .fs{opacity:1;transform:none}
.flw.on .fs:nth-child(2){transition-delay:.35s}.flw.on .fs:nth-child(3){transition-delay:.7s}.flw.on .fs:nth-child(4){transition-delay:1.05s}
.fs-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.fs .n{position:relative;z-index:1;width:52px;height:52px;border-radius:50%;background:var(--night);border:1px solid var(--stone);display:flex;align-items:center;justify-content:center;font:italic 300 26px/1 var(--serif);color:var(--stone);transition:background .4s,border-color .4s,color .4s}
.fs:hover .n{background:var(--lacre);border-color:var(--lacre);color:var(--paper)}
.fs .when{font:400 12px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--gold);border:1px solid #3A3530;border-radius:999px;padding:5px 10px}
.fs strong{font:400 21px/1.3 var(--sans);color:var(--cream)}
.fs .d{font-size:16px;line-height:1.55;color:var(--mute)}
.art{margin-top:14px;background:var(--paper);color:var(--ink);border-radius:8px;padding:16px;box-shadow:0 24px 40px -24px rgba(0,0,0,.7);transition:transform .5s cubic-bezier(.2,.7,.1,1);font-family:var(--sans)}
.fs:nth-child(odd) .art{rotate:-1.5deg}.fs:nth-child(even) .art{rotate:1.5deg}
.fs:hover .art{transform:translateY(-6px) rotate(0deg)}
.art small{display:block;font:400 11px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--soft)}
.art .ser{font-family:var(--serif);font-style:italic;font-weight:300}
.a1{display:flex;gap:14px;align-items:center}
.a1 .day{flex:none;width:58px;border-radius:6px;overflow:hidden;text-align:center;border:1px solid var(--line)}
.a1 .day span{display:block;background:var(--lacre);color:var(--paper);font:500 10px var(--sans);letter-spacing:.12em;padding:4px 0}
.a1 .day b{display:block;font:300 28px/1.3 var(--serif);font-style:italic}
.a1 p{margin:0;font:400 14px/1.4 var(--sans)}.a1 p i{display:block;font-style:normal;color:var(--soft);font-size:12px;margin-top:3px}
.a2 .h{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid var(--lacre);padding-bottom:8px;margin-bottom:8px}
.a2 .h .ser{font-size:20px}
.a2 ul{list-style:none;margin:0;padding:0}
.a2 li{display:flex;justify-content:space-between;font:400 13px var(--sans);padding:5px 0;border-bottom:1px dashed var(--line)}
.a2 li b{color:var(--lacre);font-weight:500}
.a3{position:relative;display:flex;gap:10px;padding-bottom:22px}
.a3 .v{flex:1;border:1px solid var(--line);border-radius:5px;padding:8px;display:flex;flex-direction:column;gap:5px}
.a3 .v small{margin-bottom:2px}
.a3 .v i{display:block;height:5px;border-radius:3px;background:var(--line)}
.a3 .v .blk{height:22px;border-radius:3px;background:var(--stone)}
.a3 .v.v2{border-color:var(--lacre)}.a3 .v.v2 .blk{background:var(--lacre)}
.a3 .bub{position:absolute;left:18%;bottom:-6px;background:var(--ink);color:var(--paper);font:400 12px var(--sans);border-radius:12px 12px 12px 2px;padding:7px 11px;white-space:nowrap}
.a3 .rd{position:absolute;right:10px;bottom:0;font:400 11px var(--sans);color:var(--soft)}
.a4 .fo{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.a4 .fo svg{width:26px;height:26px;fill:var(--gold)}
.a4 .fo b{font:500 14px var(--sans)}
.a4 ul{list-style:none;margin:0;padding:0}
.a4 li{display:flex;justify-content:space-between;font:400 13px var(--sans);padding:4px 0;color:var(--body)}
.a4 li::after{content:"✓";color:var(--lacre)}
.fl-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-top:clamp(36px,4vw,56px);padding-top:28px;border-top:1px solid #3A3530}
.fl-foot p{font:300 clamp(24px,2.4vw,34px)/1.15 var(--serif);font-style:italic;color:var(--cream)}
.pill.lt{background:var(--paper);color:var(--ink);border-color:var(--paper)}.pill.lt:hover{background:var(--lacre);border-color:var(--lacre);color:var(--paper)}
@media (max-width:980px){.flw{grid-template-columns:repeat(2,minmax(0,1fr))}.flw::before,.flw::after{display:none}}
@media (max-width:600px){.flw{grid-template-columns:minmax(0,1fr)}}
@media (prefers-reduced-motion:reduce){.fs{opacity:1;transform:none;transition:none}.flw::after{transition:none}}

/* portada: carrusel de fragmentos */
.frag{padding-block:clamp(56px,7vw,104px) clamp(48px,6vw,88px);overflow:hidden;background:var(--paper)}
.frag-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 32px;margin-bottom:clamp(26px,3vw,40px)}
.frag-head h2{font:200 clamp(38px,4.6vw,66px)/1.02 var(--sans);letter-spacing:-.03em}
.frag-head h2 em{color:var(--lacre)}
.frag-head .hint{display:inline-flex;align-items:center;gap:10px;font:400 14px var(--sans);color:var(--soft)}
.frag-head .hint i{width:18px;height:18px;border-radius:50%;background:conic-gradient(var(--lacre),var(--gold),#5C8BD1,#F8A7CB,var(--lacre))}
.frag-head .r{display:flex;flex-direction:column;align-items:flex-end;gap:14px}
.mq-row{overflow:hidden;padding-block:8px}
.mq-row+.mq-row{margin-top:8px}
.mq{display:flex;width:max-content;gap:16px;animation:mq 70s linear infinite}
.mq-row.b .mq{animation-direction:reverse;animation-duration:84s}
.mq-row:hover .mq,.mq-row:focus-within .mq{animation-play-state:paused}
@keyframes mq{to{transform:translateX(calc(-50% - 8px))}}
.fr{position:relative;flex:none;height:clamp(210px,22vw,300px);border-radius:6px;overflow:hidden;display:block;text-decoration:none;background:var(--sand)}
.mq-row.b .fr{height:clamp(170px,17vw,230px)}
.fr>img{height:100%;width:auto;display:block}
.fr>img,.fr>.fr-h{filter:grayscale(1) contrast(.9) brightness(1.06);transition:filter .7s ease,transform 1.2s cubic-bezier(.2,.7,.1,1)}
.fr::after{content:"";position:absolute;inset:0;background:#D8C6AA;mix-blend-mode:multiply;opacity:.72;transition:opacity .7s ease;pointer-events:none}
.fr:hover>img,.fr:focus-visible>img,.fr:hover>.fr-h,.fr:focus-visible>.fr-h{filter:none;transform:scale(1.04)}
.fr:hover::after,.fr:focus-visible::after{opacity:0}
.fr-h{height:100%;aspect-ratio:1.7;display:flex;align-items:center;justify-content:center;gap:clamp(12px,1.6vw,22px);padding:20px}
.fr-h svg{height:58%;width:auto}
.fr-l{position:absolute;left:12px;bottom:12px;z-index:2;background:var(--paper);color:var(--ink);border-radius:999px;padding:7px 14px;font:400 13px var(--sans);display:flex;align-items:center;gap:8px;opacity:0;translate:0 8px;transition:opacity .4s,translate .4s}
.fr-l .arr{width:14px;height:14px}
.fr:hover .fr-l,.fr:focus-visible .fr-l{opacity:1;translate:0 0}
.fr:focus-visible{outline:2px solid var(--lacre);outline-offset:3px}
.frag-head .h-t{display:none}
@media (hover:none){.frag-head .h-m{display:none}.frag-head .h-t{display:inline}}
@media (max-width:700px){.frag-head .r{align-items:flex-start}}
@media (prefers-reduced-motion:reduce){.mq{animation:none}.mq-row{overflow-x:auto}}

/* tabla comparativa */
.cmp-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:#FFFDF9;scrollbar-width:thin}
.cmp-wrap:focus-visible{outline:2px solid var(--lacre);outline-offset:3px}
.cmp{width:100%;border-collapse:separate;border-spacing:0;min-width:640px;font:300 16px/1.4 var(--sans)}
.cmp th,.cmp td{padding:14px 20px;border-bottom:1px solid var(--line);text-align:center;vertical-align:middle}
.cmp tbody th{text-align:left;font-weight:300;color:var(--body);width:34%}
.cmp thead th{position:sticky;top:0;background:#FFFDF9;z-index:1;vertical-align:bottom;padding-top:26px;padding-bottom:20px;border-bottom:1px solid var(--ink)}
.cmp thead th b{display:block;font:300 26px/1.1 var(--serif);font-style:italic;color:var(--ink)}
.cmp thead th em{display:inline-block;font:500 11px var(--sans);font-style:normal;letter-spacing:.06em;text-transform:uppercase;color:var(--paper);background:var(--lacre);border-radius:999px;padding:4px 10px;margin-bottom:10px}
.cmp .hp,.cmp .pz{display:block;margin-top:6px;font:300 15px var(--sans);color:var(--soft)}
.cmp .hp b,.cmp .pz b,.cmp-x .xp b{font:300 22px var(--serif);font-style:italic;color:var(--lacre);display:inline}
.cmp .hb{display:inline-block;margin-top:12px;font:400 13px var(--sans);text-decoration:none;color:var(--ink);border:1px solid var(--ink);border-radius:999px;padding:6px 16px;transition:background .25s,color .25s}
.cmp .hb:hover{background:var(--ink);color:var(--paper)}
.cmp thead th.rc .hb{background:var(--lacre);border-color:var(--lacre);color:var(--paper)}
.cmp .rc{background:rgba(122,31,43,.045)}
.cmp thead th.rc{background:#FBF3F1}
.cmp tr.gr th{text-align:left;font:500 12px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--lacre);background:var(--paper);padding-top:22px;padding-bottom:10px}
.cmp tbody tr:not(.gr):hover th,.cmp tbody tr:not(.gr):hover td{background:rgba(220,205,182,.22)}
.cmp .ck{width:22px;height:22px;fill:none;stroke:var(--lacre);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.cmp .no{color:#C9BFAF;font-size:18px}
.cmp .tx{font-weight:400;color:var(--ink)}
.cmp tbody tr:last-child th,.cmp tbody tr:last-child td{border-bottom:0}
.cmp .corner{background:#FFFDF9}
.cmp.pz-t tbody th b.pn{display:block;font:300 21px/1.2 var(--serif);font-style:italic;color:var(--ink)}
.cmp.pz-t thead th{font:500 12px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--soft)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.cmp-x{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:16px;border:1px dashed var(--stone);border-radius:10px;padding:18px 22px}
.cmp-x b{font:300 22px var(--serif);font-style:italic}.cmp-x p{font:300 15px/1.5 var(--sans);color:var(--body);margin-top:4px}
.cmp-x .xp{white-space:nowrap;font:300 15px var(--sans);color:var(--soft)}
.cmp-no{display:grid;grid-template-columns:minmax(0,.5fr) minmax(0,1fr) auto;gap:16px 40px;align-items:start;margin-top:clamp(28px,3vw,40px);padding-top:22px;border-top:1px solid var(--line)}
.cmp-no h3{font:300 22px/1.2 var(--serif);font-style:italic}
.cmp-no ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font:300 15px/1.45 var(--sans);color:var(--body)}
.cmp-no li{display:flex;gap:10px}.cmp-no li::before{content:"—";color:#C9BFAF}
.cmp-hint{display:none}
@media (max-width:820px){.cmp-no{grid-template-columns:minmax(0,1fr)}.cmp{min-width:calc(128px + var(--n,4)*146px);font-size:14px}.cmp tbody th{position:sticky;left:0;background:#FFFDF9;z-index:1;min-width:128px;width:128px;box-shadow:1px 0 0 var(--line)}.cmp th,.cmp td{padding:11px 12px}.cmp thead th b{font-size:21px}.cmp thead .corner{position:sticky;left:0;z-index:2}.cmp-hint{display:block;font:400 13px var(--sans);color:var(--soft);margin-bottom:10px}}

/* desplegables de la página de tarifas */
.accs{display:flex;flex-direction:column;border-top:1px solid var(--ink);margin-top:clamp(28px,3vw,40px)}
.acc{border-bottom:1px solid var(--line)}
.acc>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 2px;font:300 clamp(22px,2.2vw,30px)/1.15 var(--serif);font-style:italic;color:var(--ink)}
.acc>summary::-webkit-details-marker{display:none}
.acc>summary small{font:400 14px var(--sans);font-style:normal;color:var(--soft);margin-left:14px}
.acc>summary i{flex:none;position:relative;width:34px;height:34px;border:1px solid var(--ink);border-radius:50%;transition:background .3s,transform .4s}
.acc>summary i::before,.acc>summary i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;background:currentColor;translate:-50% -50%;transition:transform .4s}
.acc>summary i::after{transform:rotate(90deg)}
.acc[open]>summary i{background:var(--ink);color:var(--paper)}
.acc[open]>summary i::after{transform:rotate(0)}
.acc>summary:hover i{background:var(--lacre);border-color:var(--lacre);color:var(--paper)}
.acc>summary:focus-visible{outline:2px solid var(--lacre);outline-offset:4px}
.acc-b{padding:4px 0 32px;animation:accin .45s ease both}
@keyframes accin{from{opacity:0;transform:translateY(-6px)}}
.acc-note{font:300 15px/1.5 var(--sans);color:var(--soft);margin-bottom:14px}
.faq{display:flex;flex-direction:column}
.faq details{border-top:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;padding:16px 0;font:400 17px/1.4 var(--sans)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:300 22px/1 var(--serif);color:var(--lacre);transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq p{font:300 16px/1.6 var(--sans);color:var(--body);padding:0 0 18px;max-width:720px}
.acc-b .inc{grid-template-columns:repeat(2,minmax(0,1fr))}
.plan li.more{color:var(--soft)}.plan li.more::before{display:none}
.plan li.more a{color:var(--lacre);text-decoration:none;border-bottom:1px solid currentColor}
.swipe-hint{display:none;font:400 13px var(--sans);color:var(--soft);margin-top:-4px}
@media (max-width:820px){
 .plans{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px!important;margin-inline:calc(-1*max(16px,4vw));padding:14px max(16px,4vw) 16px!important;scrollbar-width:none}
 .plans::-webkit-scrollbar{display:none}
 .plan{flex:0 0 84%;scroll-snap-align:center}
 .swipe-hint{display:block}
 .acc-b .inc{grid-template-columns:minmax(0,1fr)}
}

.ck-bar{position:fixed;left:max(12px,env(safe-area-inset-left,0px));right:max(12px,env(safe-area-inset-right,0px));bottom:max(12px,env(safe-area-inset-bottom,0px));z-index:60;max-width:560px;margin-left:auto;background:var(--ink);color:var(--paper);border-radius:12px;padding:18px 20px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;box-shadow:0 20px 50px -20px rgba(0,0,0,.6);font:300 14px/1.5 var(--sans)}
.ck-bar p{flex:1 1 280px}
.ck-bar a{color:var(--rose)}
.ck-bar button{border:1px solid var(--paper);background:transparent;color:var(--paper);border-radius:999px;padding:9px 16px;font:400 14px var(--sans);cursor:pointer}
.ck-bar button.ok{background:var(--paper);color:var(--ink)}
.ck-bar button:focus-visible{outline:2px solid var(--rose);outline-offset:3px}

.lang{display:flex;align-items:center;gap:2px}
.lang button{background:none;border:0;border-bottom:1px solid transparent;font:400 13px var(--sans);letter-spacing:.06em;color:var(--soft);padding:6px 5px;cursor:pointer;transition:color .2s,border-color .2s}
.lang button:hover{color:var(--ink)}
.lang button[aria-pressed="true"]{color:var(--ink);border-color:var(--lacre)}
.lang button:focus-visible{outline:2px solid var(--lacre);outline-offset:2px}
.ov-lang{margin-top:22px;gap:8px}.ov-lang button{font-size:15px}
@media (max-width:560px){header .lang{display:none}}
