@font-face{font-family:'Archivo';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/archivo-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Archivo';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/archivo-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Archivo';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/archivo-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Archivo';font-style:normal;font-weight:900;font-display:swap;src:url(../fonts/archivo-latin-900-normal.woff2) format('woff2')}
@font-face{font-family:'Archivo';font-style:italic;font-weight:500;font-display:swap;src:url(../fonts/archivo-latin-500-italic.woff2) format('woff2')}
img{max-width:100%;height:auto}

:root{
  --ink:#1D1D1B; --teal:#009C98; --grey:#C4C8C8; --white:#ffffff;
  --paper:#F4F4F2; --teal-text:#007572; --mono:'Archivo',monospace;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
*,*::before,*::after{box-sizing:inherit}
html{scroll-behavior:smooth;scroll-padding-top:env(safe-area-inset-top,0px)}
body{
  margin:0;background:var(--white);color:var(--ink);
  font-family:'Archivo',system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{margin:0;font-weight:900;letter-spacing:-0.02em;line-height:1.02}
p{margin:0;line-height:1.55}
a{color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding:0 clamp(20px,5vw,64px)}
.rule{height:1px;background:var(--grey);border:0;margin:0}

/* header */
header{
  position:sticky;top:env(safe-area-inset-top,0px);z-index:50;
  background:var(--ink);color:var(--white);
  border-bottom:1px solid #3a3a38;
}
.hbar{display:flex;align-items:center;justify-content:space-between;padding:16px clamp(20px,5vw,64px)}
.hright{display:flex;align-items:center;gap:32px}
.mark{display:flex;align-items:center;gap:8px;font-weight:900;font-size:1.05rem;letter-spacing:-0.01em}
.mark svg{display:block}
.hlinks{display:flex;gap:28px;font-size:.85rem;font-weight:500}
.hlinks a{text-decoration:none;opacity:.8;transition:opacity .15s}
.hlinks a:hover{opacity:1}
.hcta{
  border:1px solid var(--teal);color:var(--teal);padding:8px 16px;
  font-size:.8rem;font-weight:700;text-decoration:none;white-space:nowrap;
}
.hcta:hover{background:var(--teal);color:var(--ink)}
.hwa{color:var(--white);opacity:.85;display:flex;transition:opacity .15s}
.hwa:hover{opacity:1;color:var(--teal)}
@media(max-width:720px){.hlinks{display:none}}
@media(max-width:480px){.hwa{display:none}}

/* hero */
.hero{
  background:var(--ink);color:var(--white);position:relative;overflow:hidden;
  padding:clamp(56px,10vw,120px) 0 clamp(64px,9vw,110px);
}
.hero .wrap{position:relative;z-index:2}
.hero-grid{display:grid;grid-template-columns:1fr;gap:28px;max-width:820px}
.tag{color:var(--teal);font-weight:700;font-size:clamp(1.1rem,2.4vw,1.4rem);margin-bottom:2px}
.hero h1{font-size:clamp(2.4rem,6.4vw,4.6rem)}
.hero .sub{
  font-size:clamp(1.05rem,2vw,1.3rem);color:var(--grey);max-width:34ch;font-weight:400;
}
.axis{
  position:absolute;top:0;bottom:0;right:12%;width:2px;background:var(--teal);
  opacity:.55;
}
.axis::before,.axis::after{
  content:'';position:absolute;left:-4px;width:10px;height:1px;background:var(--teal);opacity:.55;
}
.axis::before{top:18%}
.axis::after{bottom:14%}
@media(max-width:900px){.axis{display:none}}
.hero-illus{
  position:absolute;right:2%;top:50%;transform:translateY(-50%);
  width:min(30vw,360px);opacity:.95;pointer-events:none;
}
@media(max-width:1050px){.hero-illus{display:none}}
.btn{
  display:inline-flex;align-items:center;gap:10px;background:var(--teal);color:var(--ink);
  padding:16px 26px;font-weight:700;font-size:.95rem;text-decoration:none;
  border:1px solid var(--teal);transition:background .15s,color .15s;margin-top:8px;
}
.btn:hover{background:transparent;color:var(--teal)}
.btn-ghost{background:transparent;color:var(--white);border:1px solid var(--grey)}
.btn-ghost:hover{border-color:var(--white)}

/* section shell */
section{padding:clamp(56px,9vw,104px) 0}
.eyebrow-free h2{font-size:clamp(1.7rem,3.6vw,2.5rem);max-width:16ch}

/* problema */
.problema .wrap{display:grid;grid-template-columns:1.1fr 1.4fr;gap:56px;align-items:start}
@media(max-width:800px){.problema .wrap{grid-template-columns:1fr}}
.problist{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:0}
.problist li{
  display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--grey);
  font-size:1.05rem;
}
.problist li:first-child{border-top:1px solid var(--grey)}
.problist .n{font-family:var(--mono);color:var(--teal-text);font-weight:700;font-size:.85rem;padding-top:3px}

/* proceso — pieza central de diseño */
.proceso{background:var(--paper)}
.proceso h2{margin-bottom:8px}
.claim{
  margin-top:56px;padding:22px 26px;border-left:3px solid var(--teal);background:var(--white);
  font-weight:700;font-size:clamp(1.1rem,2vw,1.4rem);
}
.diagram{
  margin-top:44px;position:relative;
}
.dline{
  position:relative;display:grid;grid-template-columns:repeat(6,1fr);gap:0;
}
.dline::before{
  content:'';position:absolute;top:60px;left:0;right:0;height:2px;background:var(--teal);
  z-index:0;
}
@media(max-width:900px){
  .dline{grid-template-columns:1fr;gap:22px}
  .dline::before{top:0;bottom:0;left:16px;right:auto;width:2px;height:auto}
}
.dstep{position:relative;z-index:1;padding:0 10px 0 0;text-align:left}
@media(max-width:900px){.dstep{padding-left:44px}}
.sicon{width:40px;height:40px;display:block;margin-bottom:14px}
@media(max-width:900px){.sicon{width:30px;height:30px;margin-bottom:8px}}
.ddot{
  width:12px;height:12px;background:var(--ink);border:2px solid var(--teal);
  border-radius:50%;margin-bottom:16px;
}
@media(max-width:900px){.ddot{position:absolute;left:10px;top:2px;margin:0}}
.dstep .idx{font-family:var(--mono);font-size:.72rem;color:var(--teal-text);font-weight:700;letter-spacing:.06em}
.dstep h3{font-size:.98rem;font-weight:700;margin-top:6px}

/* casos placeholder */
.casos{background:var(--ink);color:var(--white)}
.casos .wrap{text-align:left}
.casos h2{color:var(--white);max-width:20ch}
.casos p.lead{color:var(--grey);max-width:52ch;margin-top:14px}
.slot-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}
@media(max-width:800px){.slot-row{grid-template-columns:1fr}}
.slot{
  border:1px dashed #55554f;padding:22px;min-height:150px;display:flex;flex-direction:column;justify-content:flex-end;
}
.slot .idx{font-family:var(--mono);font-size:.72rem;color:var(--teal)}
.slot p{color:#8a8a86;font-size:.9rem;margin-top:8px}

/* cta form */
.cta{background:var(--ink);color:var(--white)}
.cta .inner{
  display:grid;grid-template-columns:1fr 1.2fr;gap:60px;
}
@media(max-width:900px){.cta .inner{grid-template-columns:1fr}}
.cta h2{color:var(--white);font-size:clamp(1.9rem,4vw,2.7rem);max-width:14ch}
.cta .lead{color:var(--grey);margin-top:18px;max-width:38ch}
form{display:grid;gap:18px}
fieldset{border:0;padding:0;margin:0}
legend{font-size:.8rem;font-weight:700;color:var(--teal);margin-bottom:10px;padding:0}
.opts{display:flex;flex-wrap:wrap;gap:10px}
.opt{position:relative}
.opt input{position:absolute;opacity:0;inset:0;cursor:pointer}
.opt label{
  display:block;border:1px solid #4a4a47;padding:9px 14px;font-size:.85rem;cursor:pointer;transition:.15s;
}
.opt input:checked + label{background:var(--teal);border-color:var(--teal);color:var(--ink);font-weight:700}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:520px){.row2{grid-template-columns:1fr}}
input[type=text],input[type=tel],input[type=email],textarea{
  width:100%;background:transparent;border:0;border-bottom:1px solid #4a4a47;color:var(--white);
  padding:10px 2px;font-family:inherit;font-size:.95rem;
}
input::placeholder,textarea::placeholder{color:#8a8a86}
input:focus,textarea:focus{outline:none;border-bottom-color:var(--teal)}
.filebtn{
  border:1px dashed #4a4a47;padding:16px;text-align:center;font-size:.85rem;color:var(--grey);cursor:pointer;
}
.submit{
  background:var(--teal);color:var(--ink);border:1px solid var(--teal);padding:16px;font-weight:700;
  font-size:.95rem;cursor:pointer;margin-top:6px;
}
.submit:hover{background:transparent;color:var(--teal)}
.more{border-top:1px solid #4a4a47;padding-top:14px}
.more summary{cursor:pointer;color:var(--grey);font-size:.88rem;font-weight:700;list-style:none}
.more summary::-webkit-details-marker{display:none}
.more summary::before{content:'+ ';color:var(--teal)}
.more[open] summary::before{content:'– '}
.more-body{display:grid;gap:18px;margin-top:16px}
.wa-alt{margin-top:4px;font-size:.85rem;color:var(--grey)}
.wa-alt a{color:var(--teal);font-weight:700;text-decoration:none}
.wa-alt a:hover{text-decoration:underline}
:focus-visible{outline:2px solid var(--teal);outline-offset:2px}

footer{background:var(--ink);color:#8a8a86;padding:24px 0;border-top:1px solid #3a3a38;font-size:.8rem}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
.wa-float{
  position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:60;
  width:52px;height:52px;border-radius:50%;background:var(--teal);
  display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(0,0,0,.3);
}
@media(min-width:481px){.wa-float{display:none}}

@media(prefers-reduced-motion:no-preference){
  .hero-grid > *{animation:rise .7s cubic-bezier(.2,.7,.2,1) backwards}
  .hero-grid > *:nth-child(1){animation-delay:.02s}
  .hero-grid > *:nth-child(2){animation-delay:.12s}
  .hero-grid > *:nth-child(3){animation-delay:.22s}
  .hero-grid > *:nth-child(4){animation-delay:.32s}
  @keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
}

.morph-track{height:180vh;position:relative;margin-top:40px}
.morph-sticky{
  position:sticky;top:0;height:88vh;display:flex;align-items:center;justify-content:center;
  overflow:hidden;border:1px solid #3a3a38;
}
.morph-img{position:absolute;max-width:56%;max-height:70%;top:50%;left:50%;transform:translate(-50%,-50%)}
.morph-label{
  position:absolute;bottom:22px;left:22px;font-family:var(--mono);font-size:.8rem;color:var(--grey);
  display:flex;gap:10px;align-items:center;
}
.morph-label .idx{color:var(--teal);font-weight:700}
.slot-row.two{grid-template-columns:repeat(2,1fr)}
@media(max-width:800px){.slot-row.two{grid-template-columns:1fr}}

.case-card{display:grid;grid-template-columns:1.1fr 1fr;margin-top:40px;border:1px solid #3a3a38;text-decoration:none;color:var(--white);transition:border-color .15s}
.case-card:hover{border-color:var(--teal)}
.case-card:hover .case-link{text-decoration:underline}
@media(max-width:800px){.case-card{grid-template-columns:1fr}}
.case-vis{display:grid;grid-template-columns:1fr 2px 1fr;align-items:center;padding:28px 20px;background:#252523;min-height:240px}
.case-vis img{width:100%;max-height:220px;object-fit:contain;padding:0 10px}
.case-vis .ax{background:var(--teal);align-self:stretch}
.case-txt{padding:clamp(22px,3vw,36px);display:flex;flex-direction:column;gap:12px;justify-content:center}
.case-txt .idx{font-size:.8rem;color:var(--teal);font-weight:700}
.case-txt h3{font-size:clamp(1.3rem,2.4vw,1.8rem);font-weight:900;color:var(--white)}
.case-txt p{color:var(--grey);font-size:.95rem}
.case-link{color:var(--teal);font-weight:700;font-size:.9rem;margin-top:4px}
.casos .slot-row.two{margin-top:18px}

/* caso */
.back{display:inline-block;color:var(--grey);font-size:.85rem;text-decoration:none;margin-bottom:28px}
.back:hover{color:var(--teal)}
.chero{background:var(--ink);color:var(--white);padding:clamp(40px,7vw,88px) 0 clamp(40px,6vw,72px)}
.chero-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:clamp(32px,5vw,72px);align-items:center}
@media(max-width:900px){.chero-grid{grid-template-columns:1fr}}
.chero h1{font-size:clamp(2.2rem,5.2vw,3.9rem)}
.chero .sub{color:var(--grey);font-size:clamp(1.02rem,1.8vw,1.2rem);margin-top:22px;max-width:38ch}
.split{display:grid;grid-template-columns:1fr 2px 1fr;align-items:stretch}
.split .ax{background:var(--teal)}
.split figure{margin:0;display:flex;flex-direction:column;gap:12px;padding:0 clamp(8px,1.6vw,20px)}
.split .im{flex:1;display:flex;align-items:center;justify-content:center;min-height:clamp(180px,26vw,380px)}
.split img{width:100%;max-height:380px;object-fit:contain}
.split figcaption{font-size:.85rem;color:var(--grey)}
.facts{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #3a3a38;margin-top:clamp(36px,5vw,56px)}
.facts div{padding:20px 20px 0 0}
.facts div+div{border-left:1px solid #3a3a38;padding-left:20px}
.facts dt{font-size:.8rem;color:#a9aeae}
.facts dd{margin:6px 0 0;font-size:clamp(1rem,1.6vw,1.2rem);font-weight:500}
@media(max-width:700px){.facts{grid-template-columns:1fr 1fr}.facts div{padding:16px 12px 16px 0;border-bottom:1px solid #3a3a38}.facts div+div{border-left:0;padding-left:0}.facts div:nth-child(even){border-left:1px solid #3a3a38;padding-left:12px}}
.cprob .wrap{display:grid;grid-template-columns:1fr 1.6fr;gap:clamp(32px,5vw,72px);align-items:start}
@media(max-width:900px){.cprob .wrap{grid-template-columns:1fr}}
.cprob h2,.cproc h2{font-size:clamp(1.7rem,3.6vw,2.5rem)}
.cprob p{color:#3c3f3f;margin-top:16px;font-size:1.05rem;max-width:40ch}
.cprob h3{font-size:1.1rem;font-weight:700;letter-spacing:0;margin-bottom:16px}
.arrived{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:640px){.arrived{gap:12px}}
.arrived figure{margin:0;display:flex;flex-direction:column;gap:10px}
.arrived .ph{aspect-ratio:3/4;overflow:hidden;background:var(--paper);display:flex;align-items:center;justify-content:center}
.arrived .ph img{width:100%;height:100%;object-fit:cover;display:block}
.arrived .ph.cut{padding:16px}
.arrived .ph.cut img{object-fit:contain}
.arrived figcaption{font-size:.85rem;color:#5e6363;line-height:1.45}
.cproc{background:var(--paper)}
.cproc .intro{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.cproc .intro p{color:#5e6363;max-width:40ch}
.steps{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,48px);margin-top:clamp(36px,5vw,56px)}
@media(max-width:800px){.steps{grid-template-columns:1fr}}
.step{display:flex;flex-direction:column;gap:18px}
.step .vis{background:var(--ink);padding:clamp(20px,3vw,36px);display:flex;flex-direction:column;gap:12px;height:clamp(280px,34vw,440px)}
.step .vis.light{background:var(--white)}
.step .vis .im{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;gap:12px}
.step .vis .im img{width:100%;height:100%;object-fit:contain;min-width:0;display:block}
.step .vis .im.two img{width:48%}
.legend{display:flex;gap:20px;flex-wrap:wrap;font-size:.8rem;color:var(--grey)}
.legend span{display:flex;align-items:center;gap:8px}
.legend i{width:12px;height:12px;display:block}
.step .txt{display:flex;gap:16px;align-items:baseline}
.step .n{font-weight:700;color:var(--teal-text);font-size:1.3rem}
.step h3{font-size:1.15rem;font-weight:700;letter-spacing:0}
.step p{color:#3c3f3f;margin-top:6px}
.fab{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fab figure{margin:0;background:var(--white);padding:14px;display:flex;flex-direction:column;gap:10px}
.fab .im{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center}
.fab img{max-width:100%;max-height:100%;object-fit:contain}
.fab b{display:block;font-size:.95rem}
.fab small{color:#5e6363;font-size:.8rem}
.cres{background:var(--ink);color:var(--white)}
.cres .wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(32px,5vw,80px);align-items:center}
@media(max-width:900px){.cres .wrap{grid-template-columns:1fr}}
.cres .tag{font-size:.95rem}
.cres h2{font-size:clamp(1.9rem,4.4vw,3.1rem);margin-top:10px}
.cres p{color:var(--grey);margin-top:18px;max-width:42ch}
table.spec{width:100%;border-collapse:collapse;font-size:clamp(.92rem,1.4vw,1.05rem)}
.spec th{text-align:left;font-weight:500;font-size:.78rem;color:#a9aeae;padding:0 8px 12px 0;border-bottom:1px solid var(--teal)}
.spec td{padding:18px 8px 18px 0;border-bottom:1px solid #3a3a38}
.ccta{background:var(--white)}
.ccta .wrap{display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap}
.ccta h2{font-size:clamp(1.7rem,3.4vw,2.4rem);max-width:22ch}
.ccta p{color:#5e6363;margin-top:12px}
.ccta .acts{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.ccta .btn{margin-top:0}
.ccta .wa{color:var(--teal-text);font-weight:700;text-decoration:none;font-size:.9rem}
.ccta .wa:hover{text-decoration:underline}

.case-view[hidden],main[hidden]{display:none}

/* caso rp-002 */
.c2hero-img{margin:0;display:flex;flex-direction:column;gap:10px}
.c2hero-img img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.c2hero-img figcaption{font-size:.85rem;color:var(--grey)}
.c2pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.c2pair figure{margin:0;display:flex;flex-direction:column;gap:10px}
.c2pair img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block}
.c2pair figcaption{font-size:.85rem;color:#5e6363;line-height:1.45}
.c2role .wrap{display:grid;grid-template-columns:1fr 1.3fr;gap:clamp(32px,5vw,72px);align-items:start}
@media(max-width:900px){.c2role .wrap{grid-template-columns:1fr}}
.c2role h2{font-size:clamp(1.7rem,3.6vw,2.5rem)}
.c2role p{color:#3c3f3f;margin-top:16px;max-width:44ch}
.c2role ul{margin:22px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px}
.c2role li{padding-left:22px;position:relative;color:#1d1d1b}
.c2role li::before{content:"";position:absolute;left:0;top:.6em;width:10px;height:2px;background:var(--teal)}
.c2flow .wrap{display:flex;flex-direction:column;gap:clamp(32px,4vw,48px)}
.c2flow h2{font-size:clamp(1.7rem,3.6vw,2.5rem)}
.c2steps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,40px)}
@media(max-width:800px){.c2steps{grid-template-columns:1fr}}
.c2steps div{border-top:2px solid var(--ink);padding-top:16px}
.c2steps .n{font-weight:700;color:var(--teal-text);font-size:1.3rem}
.c2steps h3{font-size:1.1rem;font-weight:700;letter-spacing:0;margin-top:6px}
.c2steps p{color:#3c3f3f;margin-top:6px}
.lanes{background:var(--white);padding:clamp(20px,3vw,36px);display:flex;flex-direction:column;gap:22px}
.lanes h3{font-size:1rem;font-weight:700;letter-spacing:0}
.lane{display:grid;grid-template-columns:150px 1fr;gap:16px;align-items:center}
@media(max-width:640px){.lane{grid-template-columns:1fr;gap:8px}}
.lane .lbl{font-size:.85rem;color:#5e6363;font-weight:700}
.track{display:flex;gap:4px;flex-wrap:nowrap;min-width:0}
.blk{padding:10px 10px;font-size:.78rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.blk.g{background:#c4c8c8;color:#1d1d1b}
.blk.k{background:var(--ink);color:var(--white)}
.blk.t{background:var(--teal);color:#1d1d1b}
.par{display:flex;flex-direction:column;gap:4px;min-width:0}
.lanes small{font-size:.78rem;color:#5e6363}
@media(max-width:640px){.track{flex-direction:column;max-width:none!important}.track>.blk{flex:none!important;align-self:stretch!important}.blk{white-space:normal}.par{flex-direction:row;flex:none!important}.par .blk{flex:1}}
.c2scan{background:var(--ink);color:var(--white)}
.c2scan figure{margin:0;display:flex;flex-direction:column;gap:20px}
.c2scan img{width:100%;height:auto;display:block}
.c2scan figcaption{display:flex;flex-direction:column;gap:6px;color:var(--grey);max-width:60ch}
.c2lbl{display:flex;justify-content:space-between;font-size:.85rem;font-weight:700;color:var(--grey);padding:0 4%}
.c2lbl span:last-child{color:var(--teal)}
.tl{background:var(--white);padding:clamp(20px,3vw,40px);display:flex;flex-direction:column;gap:18px}
.tl h3{font-size:1.1rem;font-weight:700;letter-spacing:0}
.tl-sub{color:#5e6363;font-size:.9rem;margin-top:-10px}
.tl-axis{margin-left:170px;position:relative;height:44px;border-left:3px solid var(--ink)}
.tl-axis::after{content:"";position:absolute;left:0;right:10px;bottom:6px;height:2px;background:var(--ink)}
.tl-axis::before{content:"";position:absolute;right:0;bottom:1px;border-left:12px solid var(--ink);border-top:6px solid transparent;border-bottom:6px solid transparent}
.tl-start{position:absolute;left:8px;top:0;font-size:.72rem;line-height:1.2;color:#5e6363}
.tl-start b{color:var(--ink)}
.tl-arrow{position:absolute;right:0;top:4px;font-size:.78rem;font-weight:700}
.tl-lane{display:grid;grid-template-columns:160px 1fr;gap:10px;align-items:start}
.tl-name{font-size:.85rem;font-weight:700;padding-top:10px}
.tl-track{position:relative;border-left:3px solid var(--ink);padding-bottom:30px}
.tl-row{display:flex;align-items:stretch;min-height:40px}
.b{display:flex;align-items:center;padding:6px 8px;font-size:.75rem;font-weight:700;line-height:1.15;border-right:2px solid var(--white);box-sizing:border-box;overflow-wrap:anywhere}
.b.g{background:#c4c8c8;color:#1d1d1b}
.b.k{background:var(--ink);color:var(--white)}
.b.t{background:var(--teal);color:#1d1d1b}
.tl-par{display:flex;flex-direction:column;gap:2px;border-right:2px solid var(--white);box-sizing:border-box}
.tl-par .b{border-right:0;flex:1}
.tl-saved{display:flex;align-items:center;justify-content:center;border:2px dashed var(--teal);background:rgba(0,156,152,.08);margin-left:4px;box-sizing:border-box}
.tl-saved span{font-size:.78rem;font-weight:700;color:var(--teal-text);text-align:center;padding:4px 8px}
.tl-brace{position:absolute;left:0;bottom:6px;height:14px;border:2px solid #5e6363;border-top:0;box-sizing:border-box}
.tl-brace span{position:absolute;left:50%;transform:translateX(-50%);top:14px;font-size:.7rem;color:#5e6363;white-space:nowrap;background:var(--white);padding:0 6px}
.tl-flag{position:absolute;top:-2px;transform:translateX(-100%);font-size:.7rem;font-weight:700;color:var(--ink);white-space:nowrap;display:none}
.tl small{font-size:.78rem;color:#5e6363}
@media(max-width:700px){
 .tl-axis{margin-left:0}
 .tl-lane{grid-template-columns:1fr;gap:6px}
 .tl-name{padding-top:0}
 .b{font-size:.6rem;padding:5px 3px;overflow-wrap:normal;hyphens:auto;-webkit-hyphens:auto}
 .tl-saved span{font-size:.66rem;padding:2px 4px}
}
.c2head{display:flex;flex-direction:column;gap:6px;margin-bottom:clamp(20px,3vw,32px)}
.c2head h2{font-size:clamp(1.7rem,3.6vw,2.5rem);color:var(--white)}
.c2scan .c2step{margin:0;display:grid;grid-template-columns:3fr 1fr;gap:clamp(16px,3vw,40px);align-items:center}
@media(max-width:800px){.c2scan .c2step{grid-template-columns:1fr}}
.c2step img{width:100%;height:auto;display:block}
.c2step figcaption{display:flex;flex-direction:column;gap:6px;color:var(--grey);font-size:.95rem}
.c2step figcaption b{color:var(--white);font-size:1.05rem}
.c2step figcaption b.t{color:var(--teal)}
.c2arrow{width:2px;height:48px;background:var(--teal);margin:8px 0 8px 36%;position:relative}
.c2arrow::after{content:"";position:absolute;left:-7px;bottom:-2px;border-top:12px solid var(--teal);border-left:8px solid transparent;border-right:8px solid transparent}
.case-card+.case-card{margin-top:18px}
.case-vis.one{display:block;padding:0}
.case-vis.one img{width:100%;height:100%;max-height:none;object-fit:cover;padding:0;display:block;min-height:240px}
.casos .slot-row.one{margin-top:18px;grid-template-columns:1fr}

/* caso rp-003 */
.r3pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.r3pair figure,.r3steps figure{margin:0;display:flex;flex-direction:column;gap:10px}
.r3pair img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.r3pair figcaption{font-size:.85rem;color:#5e6363;line-height:1.45}
.r3steps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,36px);margin-top:clamp(36px,5vw,56px)}
@media(max-width:800px){.r3steps{grid-template-columns:1fr}}
.r3steps img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.r3steps .txt{display:flex;gap:14px;align-items:baseline}
.r3steps .n{font-weight:700;color:var(--teal-text);font-size:1.3rem}
.r3steps h3{font-size:1.1rem;font-weight:700;letter-spacing:0}
.r3steps p{color:#3c3f3f;margin-top:6px}

.skip-link{position:absolute;left:-999px;top:0;background:var(--teal);color:var(--ink);padding:10px 16px;z-index:100;font-weight:700}.skip-link:focus{left:12px;top:12px}
/* páginas legales */
.legal{max-width:760px;margin:0 auto;padding:clamp(56px,9vw,90px) clamp(20px,5vw,64px) 80px}
.legal h1{font-size:clamp(1.8rem,3.6vw,2.4rem);margin-bottom:8px}
.legal h2{font-size:1.15rem;margin-top:36px;margin-bottom:10px}
.legal p,.legal li{color:#3a3a38;line-height:1.7;font-size:.95rem}
.legal ul{padding-left:20px}
/* formulario */
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.rgpd{display:flex;gap:10px;align-items:flex-start;font-size:.8rem;line-height:1.45;color:inherit;opacity:.85;margin:4px 0 2px}
.rgpd input{margin-top:3px;flex:none;width:auto}
.rgpd a{color:inherit;text-decoration:underline}
.form-msg{font-size:.9rem;font-weight:700;margin-top:10px;min-height:1.2em}
.form-msg.ok{color:#009C98}.form-msg.err{color:#d0453a}
.filelist{font-size:.78rem;opacity:.8;margin-top:6px}

/* servicio */
.sv-hero .chero-grid{grid-template-columns:1.05fr 1fr}
.sv-cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.sv-cta-row .btn{margin-top:0}
.sv-wa{display:inline-flex;align-items:center;padding:14px 22px;border:1px solid var(--grey);color:var(--white);text-decoration:none;font-weight:700;font-size:.95rem}
.sv-wa:hover{border-color:var(--teal);color:var(--teal)}
.sv-sits{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.4vw,28px);margin-top:clamp(28px,4vw,44px)}
@media(max-width:860px){.sv-sits{grid-template-columns:1fr}}
.sv-sits div{border-top:2px solid var(--ink);padding-top:14px}
.sv-sits h3{font-size:1.05rem;font-weight:700;letter-spacing:0}
.sv-sits p{color:#3c3f3f;margin-top:6px;font-size:.95rem}
.sv-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2.4vw,28px);margin-top:clamp(28px,4vw,44px)}
@media(max-width:1000px){.sv-steps{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.sv-steps{grid-template-columns:1fr}}
.sv-steps figure{margin:0;display:flex;flex-direction:column;gap:12px}
.sv-steps img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:#1d1d1b}
.sv-steps img.contain{object-fit:contain;padding:10px;box-sizing:border-box}
.sv-steps .n{font-weight:700;color:var(--teal-text);font-size:1.2rem}
.sv-steps h3{font-size:1.05rem;font-weight:700;letter-spacing:0;margin-top:2px}
.sv-steps p{color:#3c3f3f;font-size:.93rem;margin-top:6px}
.sv-parts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#d9dcdc;border:1px solid #d9dcdc;margin-top:clamp(28px,4vw,44px)}
@media(max-width:860px){.sv-parts{grid-template-columns:1fr 1fr}}
.sv-parts div{background:var(--white);padding:18px 16px}
.sv-parts b{display:block;font-size:.98rem}
.sv-parts span{display:block;color:#5e6363;font-size:.85rem;margin-top:4px}
.sv-proc{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.4vw,28px);margin-top:clamp(28px,4vw,44px)}
@media(max-width:860px){.sv-proc{grid-template-columns:1fr}}
.sv-proc figure{margin:0;display:flex;flex-direction:column;gap:12px}
.sv-proc img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.sv-proc h3{font-size:1.05rem;font-weight:700;letter-spacing:0}
.sv-proc p{color:#3c3f3f;font-size:.93rem;margin-top:4px}
.sv-cases{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:clamp(28px,4vw,44px)}
@media(max-width:860px){.sv-cases{grid-template-columns:1fr}}
.sv-cases a{display:flex;flex-direction:column;gap:8px;text-decoration:none;color:var(--white);border:1px solid #3a3a38;padding:20px;transition:border-color .15s}
.sv-cases a:hover{border-color:var(--teal)}
.sv-cases .idx{font-size:.78rem;color:var(--teal);font-weight:700}
.sv-cases h3{font-size:1.1rem;font-weight:900;color:var(--white)}
.sv-cases p{color:var(--grey);font-size:.9rem}
.sv-cases .go{color:var(--teal);font-weight:700;font-size:.88rem;margin-top:auto}
.sv-faq{max-width:820px}
.sv-faq details{border-top:1px solid #d9dcdc;padding:18px 0}
.sv-faq details:last-child{border-bottom:1px solid #d9dcdc}
.sv-faq summary{cursor:pointer;font-weight:700;font-size:1.05rem;list-style:none;display:flex;justify-content:space-between;gap:16px}
.sv-faq summary::after{content:"+";color:var(--teal-text);font-size:1.3rem;line-height:1}
.sv-faq details[open] summary::after{content:"–"}
.sv-faq p{color:#3c3f3f;margin-top:10px;max-width:70ch}
.sv-h2{font-size:clamp(1.7rem,3.6vw,2.5rem)}
.sv-lead{color:#5e6363;margin-top:12px;max-width:60ch}
.cres .sv-lead,.cres .sv-h2{color:inherit}
.home-svlink{display:inline-block;margin-top:20px;color:var(--teal-text);font-weight:700;text-decoration:none}
.home-svlink:hover{text-decoration:underline}

.ii-pair{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,40px);margin-top:clamp(28px,4vw,44px);align-items:center}
@media(max-width:800px){.ii-pair{grid-template-columns:1fr}}
.ii-pair figure{margin:0;display:flex;flex-direction:column;gap:10px}
.ii-pair img{width:100%;height:auto;display:block}
.ii-pair figcaption b{display:block;color:var(--white)}
.ii-pair figcaption{color:var(--grey);font-size:.9rem}
.ii-pair figcaption b.t{color:var(--teal)}
.ii-deliv{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#d9dcdc;border:1px solid #d9dcdc;margin-top:clamp(28px,4vw,44px)}
@media(max-width:860px){.ii-deliv{grid-template-columns:1fr 1fr}}
.ii-deliv div{background:var(--white);padding:20px 18px}
.ii-deliv b{display:block;font-size:1rem}
.ii-deliv code{font-family:inherit;color:var(--teal-text);font-weight:700;font-size:.85rem}
.ii-deliv span{display:block;color:#5e6363;font-size:.86rem;margin-top:6px}
.ii-improve{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);align-items:center;margin-top:clamp(28px,4vw,44px)}
@media(max-width:800px){.ii-improve{grid-template-columns:1fr}}
.ii-improve img{width:100%;height:auto;display:block;background:#1d1d1b}
.ii-improve ul{margin:16px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px}
.ii-improve li{padding-left:22px;position:relative;color:#1d1d1b}
.ii-improve li::before{content:"";position:absolute;left:0;top:.6em;width:10px;height:2px;background:var(--teal)}

.es-onsite{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(24px,4vw,56px);align-items:center}
@media(max-width:860px){.es-onsite{grid-template-columns:1fr}}
.es-onsite img{width:100%;height:auto;display:block}
.es-onsite ul{margin:18px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px}
.es-onsite li{padding-left:22px;position:relative;color:var(--white)}
.es-onsite li::before{content:"";position:absolute;left:0;top:.6em;width:10px;height:2px;background:var(--teal)}
.es-uses{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2.4vw,24px);margin-top:clamp(28px,4vw,44px)}
@media(max-width:960px){.es-uses{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.es-uses{grid-template-columns:1fr}}
.es-uses a,.es-uses div{display:flex;flex-direction:column;gap:6px;border:1px solid #d9dcdc;padding:20px;text-decoration:none;color:var(--ink);background:var(--white)}
.es-uses a:hover{border-color:var(--teal)}
.es-uses b{font-size:1.02rem}
.es-uses span{color:#5e6363;font-size:.9rem}
.es-uses em{font-style:normal;color:var(--teal-text);font-weight:700;font-size:.85rem;margin-top:auto}

.ad-hero-fig{margin:0;display:flex;flex-direction:column;gap:8px}
.ad-hero-fig img{width:100%;height:auto;display:block}
.ad-hero-fig figcaption{font-size:.85rem;color:var(--grey)}
.ad-vs{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2.4vw,28px);margin-top:clamp(28px,4vw,44px)}
@media(max-width:800px){.ad-vs{grid-template-columns:1fr}}
.ad-vs>div{padding:clamp(20px,3vw,32px);border:1px solid #d9dcdc;background:var(--white)}
.ad-vs>div.on{border:2px solid var(--teal)}
.ad-vs h3{font-size:1.15rem;font-weight:700;letter-spacing:0}
.ad-vs ul{margin:14px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.ad-vs li{padding-left:22px;position:relative;color:#3c3f3f}
.ad-vs li::before{content:"–";position:absolute;left:0;color:#9aa0a0;font-weight:700}
.ad-vs .on li::before{content:"";top:.6em;width:10px;height:2px;background:var(--teal)}
.ad-for{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2.4vw,24px);margin-top:clamp(28px,4vw,44px)}
@media(max-width:960px){.ad-for{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.ad-for{grid-template-columns:1fr}}
.ad-for div{border-top:2px solid var(--white);padding-top:14px}
.ad-for h3{font-size:1.02rem;font-weight:700;letter-spacing:0;color:var(--white)}
.ad-for p{color:var(--grey);font-size:.92rem;margin-top:6px}
.ad-case{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(24px,4vw,56px);align-items:center;margin-top:clamp(28px,4vw,44px)}
@media(max-width:860px){.ad-case{grid-template-columns:1fr}}
.ad-case img{width:100%;height:auto;display:block}
.ad-case .big{font-size:clamp(2.4rem,5vw,3.6rem);font-weight:900;line-height:1;color:var(--teal-text)}
.ad-case p{color:#3c3f3f;margin-top:10px}

.qh-hero .chero-grid{grid-template-columns:1fr 1fr}
.qh-hero img{width:100%;aspect-ratio:3/2;object-fit:cover;object-position:40% 40%;display:block}
.qh-sig{margin-top:22px;color:var(--grey);font-size:.95rem}
.qh-sig b{color:var(--white);display:block;font-size:1.05rem}
.qh-story{max-width:760px}
.qh-story p{color:#3c3f3f;font-size:1.08rem;line-height:1.7;margin-top:16px}
.qh-story p:first-of-type{margin-top:22px}
.qh-quote{border-left:3px solid var(--teal);padding:6px 0 6px 20px;margin:28px 0 0;font-size:1.25rem;font-weight:700;color:var(--ink);line-height:1.4}
.qh-tools{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#d9dcdc;border:1px solid #d9dcdc;margin-top:clamp(28px,4vw,44px)}
@media(max-width:860px){.qh-tools{grid-template-columns:1fr 1fr}}
.qh-tools div{background:var(--white);padding:20px 18px}
.qh-tools b{display:block}
.qh-tools span{display:block;color:#5e6363;font-size:.88rem;margin-top:6px}

.qh-blocks{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,40px);margin-top:clamp(24px,3vw,36px)}
@media(max-width:860px){.qh-blocks{grid-template-columns:1fr}}
.qh-blocks div{border-top:2px solid var(--ink);padding-top:16px}
.qh-blocks h3{font-size:1.1rem;font-weight:700;letter-spacing:0}
.qh-blocks p{color:#3c3f3f;margin-top:8px;line-height:1.65}
.qh-quote{max-width:none;margin-top:clamp(28px,4vw,40px)}
