
/* Layout: sitio corporativo estilo constructora (nav blanca, hero fotográfico a sangre, filas foto/texto, grilla de tarjetas)
   con la identidad DCP: crema + azul noche + naranja de marca, serif itálica para los énfasis. Una sola apariencia, deliberada. */
:root{
  --cream:#F7F2EC; --sand:#EDE5D9; --paper:#FFFFFF; --card:#FAF7F2;
  --ink:#1B2229; --muted:#4F545A; --night:#1B2229; --deep:#12171C;
  --orange:#D46E3B;          /* naranja de marca: logo, ilustraciones, display grande */
  --clay:#B8562A;            /* naranja profundo: fondos con texto blanco */
  --clay-text:#A24A22;       /* naranja para texto pequeño sobre claro */
  --orange-soft:#F2B48F;     /* naranja claro sobre fotos y fondos oscuros */
  --on-dark:#B7BCC2; --on-dark-2:#878D94;
  --ph-l:#DCD3C6;
  --sans:'DM Sans',system-ui,'Segoe UI',Helvetica,Arial,sans-serif;
  --serif:'Newsreader',Georgia,'Times New Roman',serif;
  --logo:'DM Serif Display',Georgia,serif;
  --gutter:clamp(20px,4.5vw,64px);
  --sec:clamp(72px,9vw,120px);
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
h1,h2,h3{margin:0;text-wrap:balance}
p{margin:0}
em.s{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-0.01em}
.wrap{padding-inline:var(--gutter);max-width:1440px;margin-inline:auto}
.eyebrow{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--clay-text)}
.h2{font-weight:700;font-size:clamp(34px,4.2vw,54px);line-height:1.08;letter-spacing:-.03em}
.h2 em.s{color:var(--orange)}
.lead{color:var(--muted);font-size:18px;max-width:62ch}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:4px;font:600 16px/1 var(--sans);border:1.5px solid transparent;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.btn-clay{background:var(--clay);color:#fff}.btn-clay:hover{background:#9C4722}
.btn-ghost{border-color:#fff;color:#fff;background:transparent}.btn-ghost:hover{background:#fff;color:var(--ink)}
.arrow{width:16px;height:16px;flex-shrink:0}
.photo{position:relative;overflow:hidden;border-radius:4px;background:var(--ph-l)}
.photo img{width:100%;height:100%;object-fit:cover}
.ph{position:relative;background-color:var(--ph-l);background-image:repeating-linear-gradient(135deg,rgba(27,34,41,.05) 0 1px,transparent 1px 16px);border-radius:4px}

/* LOGO */
.logo{display:inline-flex;align-items:center;min-height:44px}
.logo svg{height:40px;width:auto}
.logo .l-a{fill:var(--ink)}.logo .l-b{fill:var(--orange)}.logo .l-t{fill:var(--ink)}
footer .logo svg{height:52px}
footer .logo .l-a,footer .logo .l-t{fill:var(--cream)}

/* NAV */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--paper);border-bottom:1px solid rgba(27,34,41,.08)}
.nav .wrap{height:80px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.nav-left{display:flex;align-items:center;gap:56px}
.menu{display:flex;gap:32px;font-weight:500;font-size:16px}
.menu a{display:inline-flex;align-items:center;min-height:44px;border-bottom:2px solid transparent;transition:border-color .2s,color .2s}
.menu a:hover{color:var(--clay-text);border-color:var(--orange)}
.nav .btn{min-height:46px;padding:0 22px;font-size:15px}
.burger{display:none;width:44px;height:44px;border:0;background:transparent;color:var(--ink);padding:0;cursor:pointer}
.mobile-menu{background:var(--paper);border-top:1px solid rgba(27,34,41,.08);padding:12px var(--gutter) 24px;display:flex;flex-direction:column}
.mobile-menu a{padding:14px 0;border-bottom:1px solid rgba(27,34,41,.08);font-weight:600;font-size:18px}
@media (max-width:1180px){.menu,.nav .btn.desk{display:none}.burger{display:inline-flex;align-items:center;justify-content:center}.nav .wrap{height:64px}.logo svg{height:34px}}
@media (min-width:1181px){.mobile-menu{display:none!important}}

/* HERO */
.hero{position:relative;overflow:hidden;color:#fff;background:var(--night)}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:30% center}
.hero .shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,23,28,.05) 0%,rgba(18,23,28,.35) 40%,rgba(18,23,28,.82) 62%,rgba(18,23,28,.9) 100%)}
.hero-inner{position:relative;min-height:clamp(560px,52vw,760px);padding-block:clamp(72px,8vw,110px);display:flex;flex-direction:column;justify-content:center;align-items:flex-end}
.hero-copy{width:min(560px,100%);display:flex;flex-direction:column;gap:24px}
.hero .eyebrow{color:var(--orange-soft)}
.hero h1{font-weight:700;font-size:clamp(42px,5vw,72px);line-height:1.02;letter-spacing:-.035em}
.hero h1 em.s{color:var(--orange-soft)}
.hero .sub{font-size:clamp(17px,1.5vw,20px);color:rgba(255,255,255,.9)}
.btns{display:flex;flex-wrap:wrap;gap:14px;padding-top:6px}
@media (max-width:860px){
  .hero .shade{background:linear-gradient(180deg,rgba(18,23,28,.25) 0%,rgba(18,23,28,.6) 45%,rgba(18,23,28,.92) 100%)}
  .hero-inner{align-items:flex-start;justify-content:flex-end;padding-top:280px}
}

/* PREGUNTAS */
.questions{background:var(--clay);color:#fff;overflow:hidden}
.questions .wrap{display:flex;flex-wrap:wrap;gap:6px 36px;padding-block:20px;font-family:var(--serif);font-style:italic;font-size:clamp(18px,1.6vw,22px)}
.questions span+span::before{content:"·";margin-right:36px;opacity:.6;font-style:normal}
@media (max-width:700px){.questions span+span::before{display:none}.questions .wrap{flex-direction:column}}

/* PROBLEMA */
.problem .wrap{padding-block:var(--sec);display:grid;grid-template-columns:7fr 4fr;gap:48px clamp(32px,7vw,120px);align-items:end}
.problem .left,.problem .right{display:flex;flex-direction:column;min-width:0}
.problem .left{gap:22px}.problem .right{gap:18px}
.problem .quote{font-family:var(--serif);font-style:italic;font-size:clamp(24px,2.3vw,30px);line-height:1.25}
@media (max-width:860px){.problem .wrap{grid-template-columns:1fr}}

/* SERVICIOS */
.services{background:var(--night);color:var(--cream)}
.services .wrap{padding-block:var(--sec);display:flex;flex-direction:column;gap:clamp(40px,5vw,64px)}
.services .head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px}
.services .head>div{display:flex;flex-direction:column;gap:20px}
.services .eyebrow{color:var(--orange-soft)}
.services .h2{color:#fff}.services .h2 em.s{color:var(--orange)}
.link-line{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-weight:600;color:#fff;border-bottom:1.5px solid #fff}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 32px}
@media (max-width:1000px){.grid3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.grid3{grid-template-columns:1fr}}
.card{display:flex;flex-direction:column;gap:18px;color:#fff}
.card .photo{aspect-ratio:16/10;background:#262E36}
.card .photo img{transition:transform .5s}
.card:hover .photo img{transform:scale(1.04)}
.card .t{display:flex;align-items:center;justify-content:space-between;gap:12px}
.card h3{font-weight:700;font-size:26px;letter-spacing:-.01em}
.card svg.arrow{width:20px;height:20px;color:var(--orange);transition:transform .2s}
.card:hover svg.arrow{transform:translateX(4px)}
.card p{color:var(--on-dark);font-size:16px}
.card.accent .photo{background:var(--orange);display:flex;align-items:center;justify-content:center}
.card.accent .photo svg{width:46%;height:auto}
.card.accent h3{color:var(--orange-soft);font-style:italic;font-family:var(--serif);font-weight:400;font-size:30px}

/* RESULTADOS */
.results{background:var(--clay);color:#fff;position:relative;overflow:hidden}
.results .wrap{position:relative;padding-block:var(--sec);display:flex;flex-direction:column;gap:clamp(40px,5vw,64px)}
.results .top{display:grid;grid-template-columns:1fr 3fr;gap:20px 48px}
.results .eyebrow{color:#fff}
.results .top p{font-family:var(--serif);font-size:clamp(24px,2.6vw,36px);line-height:1.3;max-width:34ch}
.less{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.less div{border-top:2px solid #fff;padding-top:22px;display:flex;flex-direction:column;gap:2px}
.less small{font-size:18px;font-weight:500}
.less strong{font-weight:700;font-size:clamp(40px,5vw,72px);line-height:1;letter-spacing:-.035em}
.less em.s{font-size:clamp(44px,5.3vw,76px);line-height:1}
.results .squiggle{position:absolute;right:clamp(16px,6vw,96px);top:40px;height:46%;width:auto;opacity:.9}
@media (max-width:800px){.results .top,.less{grid-template-columns:1fr}.results .squiggle{display:none}}

/* PARA QUIEN */
.who{display:grid;grid-template-columns:1fr 1fr}
.who>.photo{border-radius:0;min-height:420px}
.who>.photo img{position:absolute;inset:0;object-position:center 35%}
.who .txt{padding:clamp(56px,7vw,100px) var(--gutter) clamp(56px,7vw,100px) clamp(20px,5.5vw,80px);display:flex;flex-direction:column;justify-content:center;gap:24px;min-width:0}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{display:inline-flex;align-items:baseline;gap:8px;padding:10px 18px;border-radius:4px;background:var(--paper);font-size:14px;color:var(--muted)}
.chip em{font-family:var(--serif);font-size:20px;color:var(--ink)}
.chip.on{background:var(--clay);color:#fff}.chip.on em{color:#fff}
.bars{width:130px;height:auto;align-self:flex-end;margin-top:8px}
@media (max-width:860px){.who{grid-template-columns:1fr}.who>.photo{aspect-ratio:4/3;min-height:0}.who .txt{padding-inline:var(--gutter)}}

/* VALORES */
.values .wrap{padding-block:var(--sec);display:flex;flex-direction:column;gap:clamp(40px,5vw,64px)}
.values .head{display:flex;flex-direction:column;gap:20px}
.value{border-top:3px solid var(--orange);padding-top:26px;display:flex;flex-direction:column;gap:12px}
.value h3{font-weight:700;font-size:30px;letter-spacing:-.01em}
.value .tag{font-family:var(--serif);font-style:italic;font-size:21px;line-height:1.35;color:var(--clay-text)}
.value ul{margin:6px 0 0;padding-left:18px;color:var(--muted);font-size:16px;line-height:1.7}
.values .grid3{gap:40px 48px}

/* PROPOSITO */
.purpose{background:var(--paper)}
.purpose .wrap{padding-block:var(--sec);display:grid;grid-template-columns:1fr 3fr;gap:40px 48px}
.purpose .vision{font-family:var(--serif);font-size:clamp(26px,3vw,42px);line-height:1.25;max-width:38ch}
.purpose .vision em{color:var(--clay-text)}
.purpose .line{border-top:1px solid rgba(27,34,41,.12);padding-top:28px}
.purpose .mission{color:var(--muted);font-size:18px;line-height:1.65;max-width:70ch}
@media (max-width:800px){.purpose .wrap{grid-template-columns:1fr;gap:16px}.purpose .line+.line{border-top:0;padding-top:0}.purpose .vision{margin-bottom:24px}}

/* CONTACTO */
.contact{position:relative;color:#fff;overflow:hidden;background:var(--night)}
.contact>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center}
.contact .shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,23,28,.78) 0%,rgba(18,23,28,.5) 55%,rgba(18,23,28,.2) 100%)}
.contact .wrap{position:relative;padding-block:var(--sec);display:grid;grid-template-columns:7fr 5fr;gap:48px clamp(32px,5vw,80px);align-items:start}
.contact .left{display:flex;flex-direction:column;gap:24px;min-width:0}
.contact .eyebrow{color:var(--orange-soft)}
.contact h1,.contact h2{font-weight:700;font-size:clamp(44px,5.6vw,80px);line-height:1;letter-spacing:-.035em}
.contact h1 em.s,.contact h2 em.s{color:var(--orange-soft)}
.contact .left p{color:rgba(255,255,255,.9);font-size:19px;max-width:44ch}
.direct{display:flex;flex-direction:column;gap:10px;margin-top:8px}
.direct-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.direct-row span{font-size:17px;user-select:all}
.copy{min-height:36px;padding:0 14px;border-radius:4px;border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;font:500 13px var(--sans);cursor:pointer}
.copy:hover{background:rgba(255,255,255,.1)}
form{background:var(--cream);color:var(--ink);border-radius:4px;padding:clamp(24px,3vw,36px);display:flex;flex-direction:column;gap:16px;min-width:0}
form h3{font-weight:700;font-size:24px;letter-spacing:-.01em}
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-size:14px;font-weight:600}
.field input,.field textarea,.field select{font:16px var(--sans);color:var(--ink);background:var(--paper);border:1px solid rgba(27,34,41,.18);border-radius:4px;padding:12px 14px;min-height:48px;width:100%}
.field textarea{min-height:110px;resize:vertical}
.form-note{font-size:14px;color:var(--muted)}
.ok{background:var(--sand);border-radius:4px;padding:14px 16px;font-size:15px}
@media (max-width:900px){.contact .wrap{grid-template-columns:1fr}.contact .shade{background:rgba(18,23,28,.72)}}

/* FOOTER */
footer{background:var(--deep);color:var(--on-dark)}
footer .wrap{padding-block:72px 36px;display:flex;flex-direction:column;gap:56px}
.fcols{display:grid;grid-template-columns:4fr 2fr 2fr 3fr;gap:40px}
.fcols>div{display:flex;flex-direction:column;gap:12px;font-size:15px;min-width:0}
.fcols h4{margin:0 0 4px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#fff}
.fcols a:hover{color:#fff}
.ftag{font-family:var(--serif);font-style:italic;font-size:20px;line-height:1.35;color:var(--cream);max-width:18em}
.motto{font-size:13px;letter-spacing:.06em;color:var(--on-dark-2)}
.social{width:44px;height:44px;border-radius:4px;border:1px solid rgba(255,255,255,.2);display:inline-flex;align-items:center;justify-content:center;color:#fff}
.fbottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;border-top:1px solid rgba(255,255,255,.12);padding-top:22px;font-size:13px;color:var(--on-dark-2)}
.fbottom div{display:flex;gap:24px}
@media (max-width:900px){.fcols{grid-template-columns:1fr 1fr}.fcols>div:first-child{grid-column:1/-1}}

/* POR QUE AHORA */
.why{background:var(--sand)}
.why .wrap{padding-block:var(--sec);display:flex;flex-direction:column;gap:clamp(40px,5vw,56px)}
.why .head{display:flex;flex-direction:column;gap:20px}
.laws{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.law{background:var(--card);border-radius:6px;padding:24px;display:flex;flex-direction:column;gap:12px;min-width:0}
.law .meta{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;font-size:14px;color:var(--muted)}
.law .meta svg{width:30px;height:30px;flex-shrink:0;color:var(--ink)}
.law h3{font-family:var(--serif);font-weight:500;font-size:26px;line-height:1.15}
.law p{font-size:15px;line-height:1.55;color:var(--muted)}
.law .help{margin-top:auto;border-top:1.5px solid var(--orange);padding-top:14px;display:flex;flex-direction:column;gap:6px}
.law .help b{font-size:14px;color:var(--clay-text)}
.law .help p{color:var(--ink)}
.law.dark{background:var(--night);color:var(--cream)}
.law.dark .meta{color:var(--orange-soft)}.law.dark .meta svg{color:var(--cream)}
.law.dark p,.law.dark .help p{color:#E3E5E7}.law.dark .help b{color:var(--orange-soft)}
@media (max-width:1000px){.laws{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.laws{grid-template-columns:1fr}}

/* COMO TRABAJAMOS */
.how{background:var(--paper)}
.how .wrap{padding-block:var(--sec);display:flex;flex-direction:column;gap:clamp(48px,6vw,72px)}
.how .top{display:grid;grid-template-columns:5fr 6fr;gap:32px clamp(32px,6vw,80px);align-items:center}
.how .top>div{display:flex;flex-direction:column;gap:20px;min-width:0}
.how .top .photo{aspect-ratio:16/11}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 28px}
.st{border-top:1.5px solid var(--ink);padding-top:20px;display:flex;flex-direction:column;gap:12px;min-width:0}
.st .num{font-family:var(--serif);font-style:italic;font-weight:300;font-size:56px;line-height:.9;color:var(--orange)}
.st h3{font-family:var(--serif);font-weight:500;font-size:28px}
.st>p{color:var(--muted);font-size:16px}
.st .inc{margin-top:6px;background:var(--cream);border-radius:4px;padding:16px 18px}
.st .inc b{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--clay-text);margin-bottom:6px}
.st .inc ul{margin:0;padding-left:18px;font-size:15px;line-height:1.6}
@media (max-width:1000px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}.how .top{grid-template-columns:1fr}}
@media (max-width:560px){.steps{grid-template-columns:1fr}}
.services .group{display:flex;flex-direction:column;gap:20px}
.services .glabel{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--on-dark)}

/* QUIENES SOMOS */
.about{background:var(--paper)}
.about .wrap{padding-block:var(--sec);display:grid;grid-template-columns:6fr 5fr;gap:40px clamp(32px,6vw,96px);align-items:center}
.about .txt{display:flex;flex-direction:column;gap:28px;min-width:0}
.about .disc{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.about .disc div{border-top:3px solid var(--orange);padding-top:18px;display:flex;flex-direction:column;gap:8px}
.about .disc h3{font-family:var(--serif);font-weight:500;font-size:24px;line-height:1.2}
.about .disc p{color:var(--muted);font-size:16px}
.about .close{font-size:18px;color:var(--muted)}.about .close strong{color:var(--clay-text)}
.about .photo{aspect-ratio:4/5}
.about .photo img{object-position:70% center}
@media (max-width:900px){.about .wrap{grid-template-columns:1fr}.about .photo{aspect-ratio:16/10}}
@media (max-width:520px){.about .disc{grid-template-columns:1fr}}

/* EQUIPO */
.team{background:var(--sand)}
.team .wrap{padding-block:var(--sec);display:flex;flex-direction:column;gap:clamp(40px,5vw,56px)}
.team .head{display:flex;flex-direction:column;gap:20px}
.people{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.person{background:var(--card);border-radius:6px;padding:clamp(24px,3vw,32px);display:flex;flex-direction:column;gap:22px;min-width:0}
.person .id{display:flex;gap:22px;align-items:center}
.person .face{width:112px;height:112px;border-radius:50%;object-fit:cover;flex-shrink:0;border:3px solid var(--orange)}
.person .face.ink{border-color:var(--ink)}
.person .info{display:flex;flex-direction:column;gap:4px;min-width:0}
.person h3{font-family:var(--serif);font-weight:500;font-size:clamp(24px,2.2vw,30px);line-height:1.15}
.person .role{font-weight:600;font-size:15px;line-height:1.4;color:var(--clay-text)}
.person .cred{color:var(--muted);font-size:14px;line-height:1.5}
.person .bio{color:var(--ink);font-size:16px;line-height:1.65}
@media (max-width:900px){.people{grid-template-columns:1fr}}
@media (max-width:440px){.person .id{flex-direction:column;align-items:flex-start}}

/* PROPOSITO (v3) */
.purpose .wrap{display:grid;grid-template-columns:7fr 5fr;gap:40px clamp(32px,6vw,96px);align-items:center}
.purpose .v{display:flex;flex-direction:column;gap:22px}
.purpose .rule{width:220px;height:2px;background:var(--orange)}
.mcard{background:var(--night);color:#C9CDD1;border-radius:6px;padding:clamp(28px,3.5vw,40px);display:flex;flex-direction:column;gap:14px;font-size:17px;line-height:1.65}
.mcard .eyebrow{color:var(--orange-soft)}
.mcard strong{color:#fff;font-weight:500}
@media (max-width:860px){.purpose .wrap{grid-template-columns:1fr}}

/* DEFINE CONNECT PROGRESS */
.dcp-motto{position:relative;overflow:hidden;background:var(--night);color:var(--cream)}
.dcp-motto>img{position:absolute;right:0;top:0;width:62%;height:100%;object-fit:cover;object-position:left center}
.dcp-motto .shade{position:absolute;inset:0;background:linear-gradient(90deg,var(--night) 38%,rgba(27,34,41,.55) 60%,rgba(27,34,41,0) 85%)}
.dcp-motto .wrap{position:relative;padding-block:clamp(96px,11vw,150px);display:flex;flex-direction:column;gap:24px}
.dcp-motto .eyebrow{color:var(--on-dark)}
.dcp-motto h2{font-family:var(--serif);font-weight:400;font-size:clamp(56px,8vw,112px);line-height:.98;letter-spacing:-.02em}
.dcp-motto h2 em{color:var(--orange)}
.dcp-motto .rule{width:84px;height:3px;background:var(--orange)}
@media (max-width:760px){.dcp-motto>img{width:100%;opacity:.45}.dcp-motto .shade{background:linear-gradient(180deg,rgba(27,34,41,.5),var(--night))}}

[hidden]{display:none!important}
.mc-name{margin:0}
/* ===== SERVICIOS: RECORRIDO GUIADO ===== */
.journey{background:var(--paper);scroll-margin-top:80px}
.journey .wrap{padding-block:var(--sec) 0}
.j-intro{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;padding-bottom:clamp(40px,5vw,56px);border-bottom:1px solid rgba(27,34,41,.1)}
.j-intro>div{display:flex;flex-direction:column;gap:18px;max-width:760px}
.j-skip{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:600;font-size:15px;color:var(--clay-text);border-bottom:1.5px solid currentColor}
.j-step{padding-block:clamp(56px,7vw,96px);border-bottom:1px solid rgba(27,34,41,.1);scroll-margin-top:72px;display:flex;flex-direction:column;gap:clamp(28px,3.5vw,40px)}
.j-step:last-child{border-bottom:0}
.j-head{display:flex;flex-direction:column;gap:12px;max-width:720px}
.j-kicker{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.j-kicker b{color:var(--clay-text);font-weight:600}
.j-title{font-family:var(--serif);font-weight:400;font-size:clamp(30px,3.4vw,44px);line-height:1.1;letter-spacing:-.01em}
.j-title em{color:var(--orange)}
.j-msg{font-family:var(--serif);font-style:italic;font-size:clamp(20px,1.9vw,24px);line-height:1.35;color:var(--ink);border-left:0;max-width:40ch}
.j-sub{color:var(--muted);font-size:17px;max-width:60ch}
.j-next{align-self:flex-start}
@media (prefers-reduced-motion:no-preference){
  .j-step.reveal>*{transition:transform .5s ease}
  .j-step.reveal.pre>*{transform:translateY(14px)}
}

/* Paso 0: interruptor + diagrama */
.hook{display:grid;grid-template-columns:5fr 6fr;gap:32px clamp(32px,5vw,72px);align-items:center}
.hook-ctrl{display:flex;flex-direction:column;gap:22px;min-width:0}
.switch{display:inline-grid;grid-template-columns:1fr 1fr;position:relative;background:var(--sand);border-radius:999px;padding:5px;border:0;cursor:pointer;font:600 15px var(--sans);color:var(--ink);width:min(420px,100%);min-height:52px}
.switch span{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;padding:0 14px;transition:color .3s}
.switch::before{content:"";position:absolute;top:5px;bottom:5px;left:5px;width:calc(50% - 5px);border-radius:999px;background:var(--ink);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.switch[aria-checked="true"]::before{transform:translateX(100%);background:var(--clay)}
.switch[aria-checked="false"] .s-off,.switch[aria-checked="true"] .s-on{color:#fff}
.hook-cap{font-size:17px;color:var(--muted);min-height:3.2em}
.meter{display:flex;flex-direction:column;gap:8px}
.meter small{font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.meter .bar{height:10px;border-radius:99px;background:var(--sand);overflow:hidden}
.meter .fill{height:100%;width:22%;background:var(--ink);border-radius:99px;transition:width .9s cubic-bezier(.2,.8,.2,1),background-color .4s}
.is-int .meter .fill{width:92%;background:var(--orange)}
.hook-fig{background:var(--card);border-radius:8px;padding:clamp(12px,2vw,24px);min-width:0}
.hook-fig svg{width:100%;height:auto;display:block}
.hf-link{stroke:var(--orange);stroke-width:3;fill:none;stroke-dasharray:240;stroke-dashoffset:240;transition:stroke-dashoffset .8s ease}
.is-int .hf-link{stroke-dashoffset:0}
.hf-wall{stroke:var(--muted);stroke-width:2;stroke-dasharray:4 6;opacity:.55;transition:opacity .4s}
.is-int .hf-wall{opacity:0}
.hf-node rect{fill:var(--paper);stroke:var(--ink);stroke-width:2}
.hf-node text{font:600 15px var(--sans);fill:var(--ink)}
.hf-node{transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.hf-ai{transform-box:fill-box;transform-origin:center;transform:scale(.55);transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.is-int .hf-ai{transform:scale(1)}
.hf-ai circle.core{fill:var(--ink);transition:fill .4s}
.is-int .hf-ai circle.core{fill:var(--orange)}
.hf-ai circle.halo{fill:var(--orange);opacity:0;transition:opacity .6s}
.is-int .hf-ai circle.halo{opacity:.16}
.hf-ai text{font:700 22px var(--logo);fill:#fff}
@media (max-width:860px){.hook{grid-template-columns:1fr}}

/* Paso 1: puertas */
.doors{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.door{display:flex;flex-direction:column;align-items:flex-start;gap:12px;text-align:left;background:var(--card);border:1.5px solid transparent;border-radius:8px;padding:24px 20px;cursor:pointer;font:inherit;color:var(--ink);transition:border-color .2s,background .2s,transform .2s;min-height:178px}
.door:hover{border-color:rgba(27,34,41,.25);transform:translateY(-2px)}
.door[aria-pressed="true"]{border-color:var(--orange);background:var(--paper)}
.door svg{width:34px;height:34px;color:var(--orange)}
.door strong{font-family:var(--serif);font-weight:500;font-size:clamp(20px,1.6vw,23px);line-height:1.2}
.door span{color:var(--muted);font-size:15px}
.door-all{align-self:flex-start;background:none;border:0;padding:8px 0;min-height:44px;font:500 15px var(--sans);color:var(--muted);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.door-all[aria-pressed="true"]{color:var(--clay-text)}
@media (max-width:1100px){.doors{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.doors{grid-template-columns:1fr;gap:10px}.door{flex-direction:row;align-items:center;gap:14px;min-height:64px;padding:14px 16px}.door svg{width:26px;height:26px;flex-shrink:0}.door strong{font-size:18px}.door span{display:none}}

/* Paso 2: mapa de metro */
.legend{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:14px;color:var(--muted)}
.legend span{display:inline-flex;align-items:center;gap:8px}
.legend i{display:inline-block;width:14px;height:14px;border-radius:50%}
.lg-rec{background:var(--orange)}
.lg-dim{border:2px solid var(--ink);opacity:.35}
.lg-tr{width:22px!important;height:4px!important;border-radius:2px!important;background:var(--orange);opacity:.55}
.metro{position:relative;display:flex;flex-direction:column;gap:28px;background:var(--card);border-radius:10px;padding:clamp(24px,3vw,40px) clamp(16px,3vw,40px)}
.m-main{position:relative;display:grid;grid-template-columns:2fr 1fr 2fr 1fr;gap:0}
.m-main::before{content:"";position:absolute;left:4%;right:4%;top:var(--line-y,76px);height:5px;border-radius:3px;background:var(--ink)}
.phase{display:flex;flex-direction:column;gap:14px;min-width:0;position:relative}
.ph-label{display:flex;align-items:baseline;gap:8px;min-height:44px;padding-inline:8px}
.ph-label b{font-family:var(--serif);font-style:italic;font-weight:400;font-size:24px;color:var(--orange)}
.ph-label span{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.stops{display:flex;justify-content:space-around;gap:8px}
.stop{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;background:none;border:0;padding:0 4px 4px;cursor:pointer;font:inherit;color:var(--ink);text-align:center;min-width:0;flex:1;transition:opacity .3s}
.stop .dot{width:30px;height:30px;border-radius:50%;background:var(--paper);border:5px solid var(--ink);display:flex;align-items:center;justify-content:center;transition:transform .25s,background .25s,border-color .25s;flex-shrink:0}
.stop .dot svg{width:14px;height:14px;color:#fff;opacity:0;transition:opacity .2s}
.stop .nm{font-family:var(--serif);font-weight:500;font-size:17px;line-height:1.2;max-width:15ch}
.stop:hover .dot,.stop:focus-visible .dot{transform:scale(1.15)}
.metro.has-focus .stop{opacity:.38}
.metro.has-focus .stop.rec-main,.metro.has-focus .stop.rec-sup,.metro.has-focus .stop.rec-close{opacity:1}
.stop.rec-main .dot{border-color:var(--orange);box-shadow:0 0 0 7px rgba(212,110,59,.22)}
.stop.rec-main .nm{font-weight:600}
.stop.rec-sup .dot,.stop.rec-close .dot{border-color:var(--orange);border-style:dashed;border-width:4px}
.stop .tag{display:none;font:600 11px var(--sans);letter-spacing:.08em;text-transform:uppercase;padding:2px 7px;border-radius:3px}
.stop.rec-main .tag,.stop.rec-sup .tag,.stop.rec-close .tag{display:inline-block}
.stop.rec-main .tag{background:var(--orange);color:#fff}
.stop.rec-sup .tag,.stop.rec-close .tag{background:rgba(212,110,59,.14);color:var(--clay-text)}
.stop .lbl{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0}
@media (max-width:760px){.stop .lbl{align-items:flex-start}}
.lg-sup{border:3px dashed var(--orange)}
.mc-why{font-size:15px;background:rgba(212,110,59,.1);color:var(--ink);border-radius:4px;padding:10px 14px;max-width:60ch}
.mc-why b{color:var(--clay-text)}
.stop.added .dot{background:var(--orange);border-color:var(--orange)}
.stop.added .dot svg{opacity:1}
.stop.open .nm{text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:2px;text-underline-offset:5px}
.m-trans{position:relative;display:flex;flex-direction:column;gap:12px;padding-top:24px;border-top:1px dashed rgba(27,34,41,.15)}
.m-trans .ph-label span{color:var(--clay-text)}
.m-trans .stops{position:relative;justify-content:space-around}
.m-trans .stops::before{content:"";position:absolute;left:3%;right:3%;top:13px;height:5px;border-radius:3px;background:var(--orange);opacity:.55}
.m-trans .stop .dot{border-color:var(--clay)}
@media (max-width:760px){
  .m-main{grid-template-columns:1fr;gap:6px}
  .m-main::before{left:23px;right:auto;top:20px;bottom:20px;width:5px;height:auto}
  .phase{gap:4px}
  .ph-label{padding-left:52px}
  .stops{flex-direction:column;align-items:stretch;gap:2px}
  .stop{flex-direction:row;align-items:center;text-align:left;gap:18px;padding:10px 0 10px 8px;min-height:52px}
  .stop .nm{max-width:none}
  .m-trans .stops::before{left:23px;right:auto;top:4px;bottom:4px;width:5px;height:auto}
}

/* Tarjeta de módulo */
.mcard-mod{display:grid;grid-template-columns:auto 1fr;gap:20px 24px;background:var(--paper);border:1.5px solid var(--ink);border-radius:10px;padding:clamp(22px,3vw,32px);scroll-margin-top:96px}
.mcard-mod[hidden]{display:none!important}
.mc-ic{width:64px;height:64px;border-radius:12px;background:var(--night);color:var(--orange);display:flex;align-items:center;justify-content:center}
.mc-ic svg{width:34px;height:34px}
.mc-body{display:flex;flex-direction:column;gap:10px;min-width:0}
.mc-phase{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--clay-text)}
.mc-name{font-family:var(--serif);font-weight:500;font-size:clamp(26px,2.6vw,34px);line-height:1.1}
.mc-desc{font-size:18px;line-height:1.55;max-width:60ch}
.mc-actions{display:flex;flex-wrap:wrap;gap:12px;padding-top:6px}
.btn-line{background:transparent;border-color:var(--ink);color:var(--ink)}.btn-line:hover{background:var(--ink);color:#fff}
.btn-added{background:var(--night);color:#fff}
.mc-note{font-size:14px;color:var(--muted)}
.mc-close{grid-column:2;justify-self:start;background:none;border:0;padding:0;min-height:36px;font:500 14px var(--sans);color:var(--muted);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
@media (max-width:560px){.mcard-mod{grid-template-columns:1fr}.mc-close{grid-column:1}.mc-actions .btn{width:100%}}

/* Paso 3: tu ruta */
.myroute{display:grid;grid-template-columns:6fr 5fr;gap:24px;align-items:start}
.rt-card{background:var(--night);color:var(--cream);border-radius:10px;padding:clamp(24px,3vw,36px);display:flex;flex-direction:column;gap:22px;min-width:0}
.rt-card .eyebrow{color:var(--orange-soft)}
.rt-line{position:relative;display:flex;flex-direction:column;gap:0;padding-left:4px}
.rt-line li{position:relative;display:flex;gap:16px;align-items:flex-start;padding:0 0 18px 0;list-style:none}
.rt-line li::before{content:"";position:absolute;left:11px;top:22px;bottom:-2px;width:4px;background:rgba(247,242,236,.25)}
.rt-line li:last-child::before{display:none}
.rt-line .rd{width:26px;height:26px;border-radius:50%;background:var(--orange);flex-shrink:0;margin-top:2px;box-shadow:0 0 0 5px rgba(212,110,59,.2)}
.rt-line .rph{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--on-dark)}
.rt-line .rnm{font-family:var(--serif);font-size:22px;line-height:1.2;color:#fff}
.rt-line .rx{margin-left:auto;background:none;border:0;color:var(--on-dark);font:500 13px var(--sans);cursor:pointer;min-height:36px;padding:0 4px;text-decoration:underline;text-underline-offset:3px}
.rt-line{margin:0;padding:0}
.rt-empty{color:#D5D8DB;font-size:17px}
.rt-free{display:flex;gap:12px;align-items:center;padding-top:18px;border-top:1px solid rgba(247,242,236,.15);font-size:17px;color:#fff;font-weight:500}
.rt-free svg{width:22px;height:22px;color:var(--orange);flex-shrink:0}
.rt-contact{display:flex;flex-direction:column;gap:16px;min-width:0}
.btn-wa{background:#1F7A4D;color:#fff;width:100%}.btn-wa:hover{background:#18623D}
.btn-wa svg{width:20px;height:20px}
.wa-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}
.direct-row .who{opacity:.65;font-size:.9em;margin-right:auto}
.or{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:14px}
.or::before,.or::after{content:"";flex:1;height:1px;background:rgba(27,34,41,.15)}
.j-form{background:var(--card);border-radius:10px;padding:clamp(20px,2.6vw,28px);display:flex;flex-direction:column;gap:14px}
.j-form .row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.j-form textarea{min-height:76px}
.j-ok{background:var(--sand);border-radius:6px;padding:14px 16px;font-size:15px}
.j-err{color:var(--clay-text);font-size:14px}
@media (max-width:900px){.myroute{grid-template-columns:1fr}}
@media (max-width:480px){.j-form .row2{grid-template-columns:1fr}}

/* Botón fijo Hablemos */
.talk{position:fixed;right:clamp(14px,2.5vw,28px);bottom:calc(clamp(14px,2.5vw,28px) + env(safe-area-inset-bottom,0px));z-index:30;display:inline-flex;align-items:center;gap:10px;min-height:50px;padding:0 20px;border-radius:999px;background:var(--night);color:#fff;font:600 15px var(--sans);box-shadow:0 8px 24px rgba(27,34,41,.25);transition:transform .3s,opacity .3s,background .2s}
.talk:hover{background:var(--clay)}
.talk[data-show="false"]{transform:translateY(140%);opacity:0;pointer-events:none}
.talk .cnt{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;border-radius:12px;background:var(--orange);font-size:13px;padding:0 6px}
.talk .cnt[hidden]{display:none}
.toast{position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:31;background:var(--ink);color:#fff;padding:12px 18px;border-radius:8px;font-size:15px;max-width:calc(100% - 32px);box-shadow:0 8px 24px rgba(27,34,41,.25)}
.toast[hidden]{display:none}

/* Cierre: tarjeta de contacto en lugar del formulario */
.contact-card{background:var(--cream);color:var(--ink);border-radius:6px;padding:clamp(24px,3vw,36px);display:flex;flex-direction:column;gap:16px;min-width:0}
.contact-card h3{font-weight:700;font-size:24px;letter-spacing:-.01em}
.contact-card p{color:var(--muted)}
@media (prefers-reduced-motion:reduce){.switch::before,.meter .fill,.hf-link,.hf-ai,.hf-node,.talk,.stop .dot{transition:none!important}}
.hook:not(.is-int) .n1{transform:translate(-14px,-12px)}
.hook:not(.is-int) .n2{transform:translate(14px,-12px)}
.hook:not(.is-int) .n3{transform:translate(-14px,12px)}
.hook:not(.is-int) .n4{transform:translate(14px,12px)}
.mod-list{border-top:1px solid rgba(27,34,41,.1);padding-top:16px}
.mod-list summary{cursor:pointer;font-weight:600;font-size:15px;color:var(--muted);min-height:44px;display:flex;align-items:center}
.mod-list dl{margin:12px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 32px}
.mod-list dt{font-family:var(--serif);font-weight:500;font-size:19px}
.mod-list dt small{font-family:var(--sans);font-size:13px;color:var(--clay-text)}
.mod-list dd{margin:4px 0 0;color:var(--muted);font-size:15px}
.mod-list dl>div{min-width:0}
@media (max-width:700px){.mod-list dl{grid-template-columns:1fr}}


/* ===== V2: MÉTODO DCP ===== */
.method-dcp{background:var(--paper)}
.method-dcp .wrap{padding-block:var(--sec);display:flex;flex-direction:column;gap:clamp(36px,4.5vw,56px)}
.method-dcp .head{display:grid;grid-template-columns:6fr 5fr;gap:20px clamp(32px,6vw,96px);align-items:end}
.method-dcp .head>div{display:flex;flex-direction:column;gap:18px}
.mtd{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;position:relative}
.mtd-step{position:relative;display:flex;flex-direction:column;gap:14px;padding:28px 28px 32px;color:#fff;min-width:0;clip-path:polygon(0 0,calc(100% - 26px) 0,100% 50%,calc(100% - 26px) 100%,0 100%,26px 50%)}
.mtd-step:first-child{clip-path:polygon(0 0,calc(100% - 26px) 0,100% 50%,calc(100% - 26px) 100%,0 100%)}
.mtd-step:nth-child(1){background:var(--night)}
.mtd-step:nth-child(2){background:#2E3B47;margin-left:-14px;padding-left:46px}
.mtd-step:nth-child(3){background:var(--clay);margin-left:-14px;padding-left:46px}
.mtd-letter{font-family:var(--logo);font-size:64px;line-height:.9;color:var(--orange-soft)}
.mtd-step:nth-child(3) .mtd-letter{color:#fff}
.mtd-step h3{font-family:var(--serif);font-weight:400;font-size:30px;line-height:1.1}
.mtd-step p{font-size:16px;line-height:1.55;color:rgba(255,255,255,.88);max-width:34ch}
.mtd-mods{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:6px}
.mtd-mods span{font-size:12.5px;font-weight:600;padding:4px 9px;border-radius:3px;background:rgba(255,255,255,.12);color:#fff}
.mtd-loop{display:flex;align-items:center;gap:12px;color:var(--clay-text);font-size:15px;font-weight:500}
.mtd-loop::before{content:"";flex:1;height:2px;background:var(--orange);opacity:.6}
.mtd-loop svg{width:22px;height:22px;flex-shrink:0;color:var(--orange)}
.principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.principles div{border-top:2px solid var(--ink);padding-top:16px;display:flex;flex-direction:column;gap:6px}
.principles b{font-family:var(--serif);font-weight:500;font-size:21px;line-height:1.25}
.principles p{color:var(--muted);font-size:15.5px}
.mtd-ice{display:grid;grid-template-columns:4fr 7fr;gap:24px clamp(28px,4vw,56px);align-items:center;background:var(--card);border-radius:10px;padding:clamp(22px,3vw,36px)}
.mtd-ice>div{display:flex;flex-direction:column;gap:12px;min-width:0}
.mtd-ice h3{font-family:var(--serif);font-weight:500;font-size:24px;line-height:1.2}
.mtd-ice p{color:var(--muted);font-size:16px}
.mtd-ice ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px;font-size:15px}
.mtd-ice li b{color:var(--clay-text);font-weight:700;display:inline-block;min-width:86px}
.mtd-ice img{width:100%;height:auto;border-radius:4px;background:#fff}
.text-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:600;color:var(--clay-text);border-bottom:1.5px solid currentColor;align-self:flex-start}
@media (max-width:900px){.method-dcp .head,.mtd-ice{grid-template-columns:1fr}.principles{grid-template-columns:1fr}
  .mtd{grid-template-columns:1fr;gap:6px}
  .mtd-step,.mtd-step:first-child{clip-path:polygon(0 0,100% 0,100% calc(100% - 18px),50% 100%,0 calc(100% - 18px));margin-left:0!important;padding:24px 22px 40px!important}}

/* ===== V2: AUTODIAGNÓSTICO ===== */
.diag{background:var(--night);color:var(--cream);scroll-margin-top:72px}
.diag .wrap{padding-block:var(--sec);display:grid;grid-template-columns:5fr 7fr;gap:40px clamp(32px,6vw,96px);align-items:start}
.diag .intro{display:flex;flex-direction:column;gap:18px;min-width:0}
.diag .eyebrow{color:var(--orange-soft)}
.diag .h2{color:#fff}.diag .h2 em.s{color:var(--orange)}
.diag .intro p{color:#C9CDD1;font-size:17px}
.diag .intro ul{margin:0;padding-left:18px;color:#C9CDD1;font-size:15px;line-height:1.7}
.dq{background:var(--paper);color:var(--ink);border-radius:10px;padding:clamp(22px,3vw,36px);display:flex;flex-direction:column;gap:20px;min-width:0}
.dq-top{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.dq-top b{color:var(--clay-text);font-weight:600}
.dq-bar{height:6px;border-radius:3px;background:var(--sand);overflow:hidden}
.dq-bar i{display:block;height:100%;width:0;background:var(--orange);transition:width .3s}
.dq-q{font-family:var(--serif);font-weight:500;font-size:clamp(22px,2.1vw,27px);line-height:1.25;min-height:2.5em}
.dq-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.dq-opt{display:flex;align-items:center;gap:12px;text-align:left;min-height:56px;padding:12px 16px;border-radius:6px;border:1.5px solid rgba(27,34,41,.15);background:var(--card);font:500 15.5px var(--sans);color:var(--ink);cursor:pointer;transition:border-color .15s,background .15s}
.dq-opt:hover{border-color:var(--ink)}
.dq-opt[aria-pressed="true"]{border-color:var(--orange);background:rgba(212,110,59,.1)}
.dq-opt i{width:12px;height:12px;border-radius:50%;border:2px solid var(--ink);flex-shrink:0}
.dq-opt[aria-pressed="true"] i{background:var(--orange);border-color:var(--orange)}
.dq-nav{display:flex;justify-content:space-between;align-items:center;gap:12px}
.dq-back{background:none;border:0;min-height:44px;padding:0;font:500 15px var(--sans);color:var(--muted);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.dq-back:disabled{visibility:hidden}
.dq-note{font-size:13.5px;color:var(--muted)}
.dr{display:flex;flex-direction:column;gap:18px}
.dr .dr-level{font-family:var(--serif);font-weight:500;font-size:clamp(26px,2.6vw,34px);line-height:1.15}
.dr-level em{color:var(--clay);font-style:italic}
.dr p{font-size:16.5px;color:var(--ink)}
.dr-dims{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}
.dr-dims li{display:grid;grid-template-columns:1fr auto;gap:6px 12px;align-items:center;font-size:15px}
.dr-dims .bar{grid-column:1/-1;height:6px;border-radius:3px;background:var(--sand);overflow:hidden}
.dr-dims .bar i{display:block;height:100%;border-radius:3px}
.lvl{font:700 11px var(--sans);letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:3px}
.lvl-1{background:#F6E3D6;color:#8F3A15}.lvl-2{background:#F6EBDA;color:#7A5210}.lvl-3{background:#E1EEE6;color:#22603D}
.bar .b1{background:#C2652F}.bar .b2{background:#C99434}.bar .b3{background:#2E7D4F}
.dr-recs{background:var(--card);border-radius:8px;padding:16px 18px;display:flex;flex-direction:column;gap:8px}
.dr-recs b{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--clay-text)}
.dr-recs ul{margin:0;padding-left:18px;font-size:15.5px}
.dr-actions{display:flex;flex-wrap:wrap;gap:10px}
@media (max-width:900px){.diag .wrap{grid-template-columns:1fr}}
@media (max-width:520px){.dq-opts{grid-template-columns:1fr}}

/* ===== V2: IDEAS ===== */
.ideas{background:var(--paper)}
.ideas .wrap{padding-block:var(--sec);display:flex;flex-direction:column;gap:clamp(32px,4vw,48px)}
.ideas .head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px}
.ideas .head>div{display:flex;flex-direction:column;gap:18px}
.post{display:grid;grid-template-columns:6fr 5fr;gap:24px clamp(28px,4vw,56px);align-items:center;color:var(--ink);border-top:1.5px solid var(--ink);padding-top:28px}
.post .pimg{background:#fff;border-radius:6px;padding:14px;border:1px solid rgba(27,34,41,.08)}
.post .pimg img{width:100%;height:auto}
.post .ptxt{display:flex;flex-direction:column;gap:12px;min-width:0}
.post .meta{font-size:13px;color:var(--muted);display:flex;gap:10px;flex-wrap:wrap}
.post .meta b{color:var(--clay-text);font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-size:12px}
.post h3{font-family:var(--serif);font-weight:500;font-size:clamp(24px,2.4vw,32px);line-height:1.15}
.post p{color:var(--muted);font-size:16.5px}
.post:hover h3{text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:5px}
@media (max-width:860px){.post{grid-template-columns:1fr}}

/* ===== V2: INVESTIGACIÓN (vacía) ===== */
.research{background:var(--paper);border-top:1px solid rgba(27,34,41,.08)}
.research .wrap{padding-block:clamp(56px,6vw,80px);display:grid;grid-template-columns:5fr 6fr;gap:20px clamp(32px,6vw,96px);align-items:center}
.research .head{display:flex;flex-direction:column;gap:14px}
.research .empty{border:1.5px dashed rgba(27,34,41,.25);border-radius:8px;padding:24px;color:var(--muted);font-size:16px;display:flex;gap:16px;align-items:flex-start}
.research .empty svg{width:28px;height:28px;color:var(--orange);flex-shrink:0}
@media (max-width:860px){.research .wrap{grid-template-columns:1fr}}

/* ===== V2: TRAYECTORIA (discreta, al final) ===== */
.creds{background:var(--cream);border-top:1px solid rgba(27,34,41,.08)}
.creds .wrap{padding-block:clamp(48px,5vw,64px);display:grid;grid-template-columns:3fr 9fr;gap:24px clamp(32px,5vw,72px)}
.creds h2{font-family:var(--serif);font-weight:400;font-size:24px;line-height:1.2}
.creds .cols{display:grid;grid-template-columns:1fr 1fr;gap:24px 48px}
.creds h3{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.creds ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column}
.creds li{display:flex;flex-direction:column;padding:10px 0;border-top:1px solid rgba(27,34,41,.1);font-size:15px}
.creds li b{font-weight:600}
.creds li span{color:var(--muted);font-size:14px}
@media (max-width:760px){.creds .wrap,.creds .cols{grid-template-columns:1fr}}

.mtd-step:nth-child(3) p{color:#fff}

/* ===== V3: SERVICIOS SIMPLIFICADOS ===== */
.svc{background:var(--paper);scroll-margin-top:80px}
.svc .wrap{padding-block:clamp(56px,7vw,96px) clamp(48px,6vw,72px);display:flex;flex-direction:column;gap:clamp(28px,3.5vw,40px)}
.svc-head{display:grid;grid-template-columns:7fr 5fr;gap:20px clamp(32px,5vw,80px);align-items:end}
.svc-head h1{font-size:clamp(30px,3.6vw,48px);line-height:1.08}
.svc-head>div{display:flex;flex-direction:column;gap:16px}
.svc-lead{margin:0;font-size:18px;color:var(--muted);max-width:56ch}
.svc-msgs{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:16px}
.svc-msgs li{font-size:15.5px;line-height:1.5;color:var(--muted);padding-left:16px;border-left:2px solid var(--orange)}
.svc-msgs li b{display:block;font-family:var(--serif);font-style:italic;font-weight:500;font-size:21px;line-height:1.25;color:var(--ink);margin-bottom:2px}
@media (max-width:900px){.svc-head{grid-template-columns:1fr}}

.svc-progress{display:flex;gap:8px;margin:0;padding:0;list-style:none;font-size:13px;font-weight:600;color:var(--muted);counter-reset:p}
.svc-progress li{display:flex;align-items:center;gap:8px;counter-increment:p;white-space:nowrap}
.svc-progress li::before{content:counter(p);display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:1.5px solid rgba(27,34,41,.3);font-size:12px}
.svc-progress li.on{color:var(--ink)}
.svc-progress li.on::before{background:var(--ink);border-color:var(--ink);color:#fff}
.svc-progress li.done::before{content:"✓";background:var(--orange);border-color:var(--orange);color:#fff}
.svc-progress li:not(:last-child)::after{content:"";display:inline-block;width:28px;height:1.5px;background:rgba(27,34,41,.2);margin-left:8px}

/* La ruta */
.route{position:relative;padding-top:8px}
.route-line{position:absolute;left:16%;right:14%;top:52px;height:8px;border-radius:4px;background:var(--sand);overflow:hidden}
.route-line i{display:block;height:100%;width:100%;border-radius:4px;background:linear-gradient(90deg,#55606B 0%,var(--night) 45%,var(--orange) 100%);transform-origin:left;transform:scaleX(1)}
.route.pre .route-line i{transform:scaleX(0)}
.route .route-line i{transition:transform 1.1s cubic-bezier(.3,.7,.2,1)}
.stations .st{border-top:0;padding-top:0}
.stations{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0;padding:0;list-style:none}
.st{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;min-width:0;transition:opacity .3s}
.route.pre .st{opacity:0;transform:translateY(12px)}
.st{transition:opacity .5s ease,transform .5s ease}
.route .st-con{transition-delay:.25s}.route .st-pro{transition-delay:.5s}
.st-btn{display:flex;flex-direction:column;align-items:center;gap:8px;background:none;border:0;padding:0 8px 4px;cursor:pointer;font:inherit;color:var(--ink);min-height:44px}
.st-dot{display:flex;align-items:center;justify-content:center;border-radius:50%;transition:transform .25s,box-shadow .25s}
.st-dot svg{width:42%;height:42%}
.st-def .st-dot{width:84px;height:84px;background:var(--paper);border:4px solid #55606B;color:#55606B;margin-top:14px}
.st-con .st-dot{width:96px;height:96px;background:var(--night);color:var(--orange-soft);margin-top:8px}
.st-pro .st-dot{width:112px;height:112px;background:var(--orange);color:#fff;box-shadow:0 0 0 10px rgba(212,110,59,.16),0 0 0 22px rgba(212,110,59,.07)}
.st-btn:hover .st-dot,.st-btn:focus-visible .st-dot,.st-btn[aria-expanded="true"] .st-dot{transform:scale(1.06)}
.st-btn[aria-expanded="true"] .st-name{text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:3px;text-underline-offset:6px}
.st-name{font-family:var(--logo);font-size:clamp(26px,2.6vw,34px);line-height:1;margin-top:6px;text-transform:uppercase;letter-spacing:.02em}
.st-pro .st-name{color:var(--clay)}
.st-res{font-weight:600;font-size:16px}
.st-ideal{margin:0;font-size:14.5px;color:var(--muted);max-width:30ch}
.st-pick{margin:4px 0 0;display:inline-flex;flex-direction:column;align-items:center;gap:4px;font-family:var(--serif);font-size:17px;line-height:1.25}
.st-pick b{font:700 11px var(--sans);letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:3px;background:var(--orange);color:#fff}
.st-pick b.soft{background:rgba(212,110,59,.14);color:var(--clay-text)}
.route.chosen .st.dim{opacity:.4}
@media (prefers-reduced-motion:reduce){.route .route-line i,.st{transition:none!important}.route.pre .st{opacity:1;transform:none}.route.pre .route-line i{transform:none}}
.route-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 20px}
.ra-note{font-size:14px;color:var(--muted)}

/* La pregunta */
.ask{display:flex;flex-direction:column;align-items:center;gap:14px;background:var(--card);border-radius:10px;padding:clamp(20px,2.6vw,28px)}
.ask-q{margin:0;font-family:var(--serif);font-weight:500;font-size:clamp(24px,2.4vw,30px);text-align:center}
.ask-opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:min(760px,100%)}
.ask-opt{min-height:64px;border-radius:8px;border:1.5px solid rgba(27,34,41,.18);background:var(--paper);font:600 17px var(--sans);color:var(--ink);cursor:pointer;transition:border-color .15s,background .15s,color .15s}
.ask-opt:hover{border-color:var(--ink)}
.ask-opt[aria-pressed="true"]{background:var(--night);border-color:var(--night);color:#fff}
.unsure{background:var(--sand);border-radius:10px;padding:20px 24px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px}
.unsure p{margin:0;max-width:56ch}
.unsure .row{display:flex;flex-wrap:wrap;gap:10px}

/* Paneles y tarjetas */
.panels{display:flex;flex-direction:column;gap:20px}
.panels.all{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start}
.panel{display:flex;flex-direction:column;gap:14px;scroll-margin-top:var(--stick,88px)}
.panel-head{display:flex;align-items:baseline;gap:12px;border-bottom:1.5px solid var(--ink);padding-bottom:10px}
.panel-k{font-family:var(--logo);font-size:24px;text-transform:uppercase}
.panel[data-st="pro"] .panel-k{color:var(--clay)}
.panel-res{font-size:14px;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.panels.all .cards{grid-template-columns:1fr}
.cd{position:relative;display:flex;flex-direction:column;gap:10px;background:var(--card);border:1.5px solid transparent;border-radius:10px;padding:22px;min-width:0;transition:opacity .3s,border-color .3s}
.cd-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.cd-ic{width:46px;height:46px;border-radius:10px;background:var(--night);color:var(--orange);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.cd-ic svg{width:24px;height:24px}
.cd-badge{font:700 11px var(--sans);letter-spacing:.08em;text-transform:uppercase;padding:4px 9px;border-radius:3px;background:rgba(212,110,59,.14);color:var(--clay-text)}
.cd-name{margin:0;font-family:var(--serif);font-weight:500;font-size:22px;line-height:1.2}
.cd-lvl{font-size:12.5px;font-weight:600;color:var(--muted)}
.cd-desc{margin:0;font-size:15.5px;color:var(--muted);line-height:1.55}
.cd-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:6px}
.cd-actions .btn{min-height:44px;padding:0 16px;font-size:14.5px}
.cd.is-start{border-color:var(--orange);background:var(--paper);box-shadow:0 10px 28px rgba(212,110,59,.14)}
.cd.is-start .cd-badge{background:var(--orange);color:#fff}
.cd.is-path{border-color:var(--ink);background:var(--paper)}
.cd.is-path .cd-badge{background:var(--night);color:#fff}
.cd.is-soft{border-color:rgba(212,110,59,.45);border-style:dashed}
.panels.chosen .cd.dim{opacity:.45}
.cd.added .cd-add{background:var(--night)}
.cd.soon .cd-add{background:var(--night)}
.panels-note{margin:0;text-align:center;font-size:14px;color:var(--muted)}
@media (max-width:1000px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.panels.all{grid-template-columns:1fr}.panels.all .cards{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Celular: ruta vertical y pregunta fija */
@media (max-width:760px){
  .svc-progress{gap:4px;flex-wrap:wrap}
  .svc-progress li:not(:last-child)::after{width:14px;margin-left:4px}
  .route-line{left:41px;right:auto;top:30px;bottom:30px;width:6px;height:auto}
  .route-line i{background:linear-gradient(180deg,#55606B 0%,var(--night) 45%,var(--orange) 100%);transform-origin:top}
  .route.pre .route-line i{transform:scaleY(0)}
  .stations{grid-template-columns:1fr;gap:18px}
  .st{display:block;text-align:left}
  .st-btn{display:grid;grid-template-columns:84px 1fr;align-items:center;text-align:left;gap:2px 14px;padding:0;width:100%}
  .st-dot{grid-row:1/span 2;justify-self:center}
  .st-name,.st-res{grid-column:2}
  .st-ideal,.st-pick{margin-left:98px}
  .st-def .st-dot{width:60px;height:60px;margin-top:0}.st-con .st-dot{width:70px;height:70px;margin-top:0}.st-pro .st-dot{width:80px;height:80px;box-shadow:0 0 0 7px rgba(212,110,59,.16)}
  .st-name{margin-top:4px;font-size:24px}
  .st-ideal{font-size:14px;max-width:none}
  .st-pick{align-items:flex-start}
  .ask{position:sticky;top:calc(var(--hdr,64px) + env(safe-area-inset-top,0px));z-index:15;padding:12px 12px 14px;border-radius:0 0 10px 10px;box-shadow:0 8px 18px rgba(27,34,41,.08);margin-inline:calc(var(--gutter) * -1);gap:8px}
  .ask-q{font-size:18px}
  .ask-opts{gap:8px}
  .ask-opt{min-height:48px;font-size:14.5px;padding:0 6px}
  .cards,.panels.all .cards{grid-template-columns:1fr}
  .cd-actions .btn{flex:1}
  .panel{--stick:150px}
}
.tu-ruta{background:var(--cream);scroll-margin-top:72px}
.tu-ruta .wrap{padding-block:clamp(56px,7vw,96px);display:flex;flex-direction:column;gap:32px}

/* ===== V3: sitio por pestañas ===== */
.menu{gap:26px;font-size:15px}
.menu a[aria-current="page"]{color:var(--clay-text);border-color:var(--orange)}
.mobile-menu a[aria-current="page"]{color:var(--clay-text)}
.nav .btn.desk[aria-current="page"]{background:var(--night)}
.home .hero-inner{min-height:calc(100svh - 80px - 120px)}
@media (max-width:860px){.home .hero-inner{min-height:calc(100svh - 64px - 160px)}}
.diag-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:600;font-size:15px;color:var(--clay-text);border-bottom:1.5px solid currentColor;align-self:flex-start}
.j-step .door-row{display:flex;flex-wrap:wrap;gap:8px 28px;align-items:center}
.cta-band{background:var(--night);color:var(--cream)}
.cta-band .wrap{padding-block:clamp(56px,6vw,80px);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px}
.cta-band h2{font-family:var(--serif);font-weight:400;font-size:clamp(26px,3vw,38px);line-height:1.15;max-width:22ch}
.cta-band h2 em{color:var(--orange)}
.cta-band .row{display:flex;flex-wrap:wrap;gap:12px}
.research.page .wrap{padding-block:var(--sec)}
.research.page .empty{min-height:160px}
.contact .cform{background:var(--cream);color:var(--ink);border-radius:6px;padding:clamp(24px,3vw,36px);display:flex;flex-direction:column;gap:14px;min-width:0}
.contact .cform h3{font-weight:700;font-size:24px;letter-spacing:-.01em}
.contact .cform .row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:480px){.contact .cform .row2{grid-template-columns:1fr}}
.contact .cform .btn-wa{width:100%}
.contact{min-height:calc(100svh - 80px)}

/* ===== Método: subtítulos y enlaces a Servicios ===== */
.mtd-step .mtd-sub{font-family:var(--serif);font-style:italic;font-size:19px;line-height:1.3;color:var(--orange-soft);margin-top:-8px}
.mtd-step:nth-child(3) .mtd-sub,.mtd-step:nth-child(3) .mtd-more{color:#fff}
.mtd-mods a{font-size:12.5px;font-weight:600;padding:4px 9px;border-radius:3px;background:rgba(255,255,255,.12);color:#fff;text-decoration:none;transition:background .2s}
.mtd-mods a:hover,.mtd-mods a:focus-visible{background:rgba(255,255,255,.3)}
.mtd-more{display:inline-block;font-size:14px;font-weight:600;color:var(--orange-soft);text-decoration:none}
.mtd-more:hover{text-decoration:underline}
/* ===== V3: menú siempre visible ===== */
:root{--hdr:80px}
.burger,.mobile-menu{display:none!important}
.nav .wrap{height:80px;display:flex;align-items:center;justify-content:flex-start;gap:0}
.nav .logo{margin-right:clamp(24px,3vw,44px);flex-shrink:0}
.menu{display:flex;gap:clamp(14px,1.6vw,24px);font-size:14.5px;font-weight:500}
.menu a{white-space:nowrap}
.nav .cta-top{margin-left:auto;flex-shrink:0;min-height:44px;padding:0 20px;font-size:15px}
.nav .cta-top[aria-current="page"]{background:var(--night)}
.home .hero-inner{min-height:calc(100svh - var(--hdr) - 130px)}
@media (max-width:1099px){
  :root{--hdr:102px}
  .nav .wrap{height:auto;flex-wrap:wrap;padding-top:8px}
  .nav .logo svg{height:32px}
  .nav .cta-top{min-height:40px;padding:0 16px;font-size:14px}
  .menu{order:3;flex:0 0 calc(100% + var(--gutter) * 2);overflow-x:auto;gap:2px;margin:4px calc(var(--gutter) * -1) 0;padding:0 calc(var(--gutter) - 10px);scrollbar-width:none;-webkit-overflow-scrolling:touch;font-size:14px;scroll-snap-type:x proximity}
  .menu::-webkit-scrollbar{display:none}
  .menu a{flex-shrink:0;padding:0 10px;min-height:46px;scroll-snap-align:start}
}
