/* Blackline Studio · tema oscuro + lima (basado en la primera landing) */
@font-face{font-family:"Archivo";src:url(/assets/fonts/archivo-var.woff2) format("woff2");font-weight:100 900;font-stretch:62% 125%;font-style:normal;font-display:swap}
@font-face{font-family:"Archivo";src:url(/assets/fonts/archivo-var-italic.woff2) format("woff2");font-weight:100 900;font-stretch:62% 125%;font-style:italic;font-display:swap}
@font-face{font-family:"Plex Mono";src:url(/assets/fonts/plexmono-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Plex Mono";src:url(/assets/fonts/plexmono-500.woff2) format("woff2");font-weight:500;font-display:swap}

:root{
  --bg:#0b0b0c;--panel:#141416;--panel2:#1b1b1e;--line:#2a2a2e;--line2:#3d3d43;
  --txt:#f2f2f0;--txt2:#d8d8d4;--mut:#a3a3a8;--acc:#d7ff3a;--acc2:#e7ff8a;--on-acc:#0b0b0c;
  --paper:#f2f2f0;--ink:#0b0b0c;
  --m:clamp(20px,4vw,56px);--gap:clamp(16px,2vw,32px);--wmax:1440px;
  --f:"Archivo","Helvetica Neue",Arial,sans-serif;--mono:"Plex Mono",ui-monospace,Menlo,Consolas,monospace;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:88px;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--txt);font-family:var(--f);font-size:17px;line-height:1.55;font-stretch:100%;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
@media (min-width:1200px){body{font-size:18px}}
img{display:block;max-width:100%;height:auto}
figure{margin:0}
.note{grid-column:4/12}
.side{grid-column:1/4}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.22em;text-decoration-color:rgba(242,242,240,.45)}
a:hover{text-decoration-color:var(--acc);text-decoration-thickness:2px}
:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
::selection{background:var(--acc);color:var(--on-acc)}
p{margin:0 0 1em;max-width:64ch}
h1,h2,h3,h4{margin:0;font-weight:800}
ul,ol{margin:0;padding:0}
.skip{position:absolute;left:-9999px;top:0;background:var(--acc);color:var(--on-acc);padding:12px 16px;z-index:100;font-weight:700}
.skip:focus{left:12px;top:12px}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* tipo */
.k{font-family:var(--mono);font-size:12.5px;line-height:1.45;letter-spacing:.05em;text-transform:uppercase;color:var(--mut);margin:0 0 14px;font-weight:400;max-width:none}
/* rótulos de sección: el «eyebrow» lima de la primera versión */
.hero>.k,.phero .k,.sec-h .k,.s-tx>.k,.cta .k,.x-meta>.k,.st-body>.k{font-family:var(--f);font-weight:700;font-size:12.5px;letter-spacing:.16em;color:var(--acc)}
.mono{font-family:var(--mono);font-size:13px;letter-spacing:.02em}
.d1,.d2,.d3,.d4{font-weight:800;letter-spacing:-.028em;text-transform:none}
.d1{font-size:clamp(2.7rem,7.2vw,7.4rem);line-height:.98}
.d2{font-size:clamp(2.1rem,4.4vw,4.4rem);line-height:1.02}
.d3{font-size:clamp(1.45rem,2.2vw,2.1rem);line-height:1.08;letter-spacing:-.02em}
.d4{font-size:clamp(1.2rem,1.5vw,1.45rem);line-height:1.15;letter-spacing:-.012em}
.lead{font-size:clamp(1.12rem,1.45vw,1.36rem);line-height:1.5;max-width:40ch;color:var(--txt2)}
.lead-w{max-width:50ch}
.small{font-size:.88rem;color:var(--mut)}
.num{font-variant-numeric:tabular-nums}
.sig{color:var(--acc)}

/* retícula */
.wrap{padding-left:var(--m);padding-right:var(--m)}
.g{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap)}
.sec{padding:clamp(72px,8vw,132px) var(--m);border-top:1px solid var(--line)}
.sec.tight{padding-top:clamp(48px,6vw,88px);padding-bottom:clamp(48px,6vw,88px)}
.dark{background:var(--panel)}
.sec-h{margin-bottom:clamp(40px,5vw,72px)}
.sec-h .k{grid-column:1/4;padding-top:.9em}
.sec-h .d2,.sec-h .d3{grid-column:4/13}
.sec-h .lead{grid-column:4/11;margin-top:24px}
.rule{border:0;border-top:1px solid var(--line);margin:0}

/* cabecera */
.head{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 var(--m);height:68px;border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0;z-index:30}
.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;font-weight:800;font-size:15px;line-height:1;text-transform:uppercase;letter-spacing:.14em;white-space:nowrap}
.brand i{display:block;width:28px;height:3px;background:var(--acc)}
.brand span{font-weight:800}
.brand:hover{text-decoration:none}
.nav ul{display:flex;gap:clamp(16px,2vw,28px);list-style:none}
.nav a{font-size:14.5px;color:var(--mut);text-decoration:none;padding:6px 0;border-bottom:2px solid transparent}
.nav a:hover{color:var(--txt)}
.nav a[aria-current="page"]{color:var(--txt);border-bottom-color:var(--acc)}
.nav-x{display:none}
.head-r{display:flex;align-items:center;gap:18px}
.lang{font-family:var(--mono);font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--mut);white-space:nowrap}
.lang a{text-decoration:none;color:var(--mut)}
.lang a:hover{color:var(--txt)}
.lang [aria-current]{color:var(--txt);font-weight:500}
.menu-btn{display:none;font:600 14px/1 var(--f);background:none;border:1px solid var(--line2);border-radius:6px;color:var(--txt);padding:10px 14px;cursor:pointer}
.menu-btn:hover{border-color:var(--acc)}
@media (max-width:980px){
  .menu-btn{display:inline-block}
  .brand,.head-r{position:relative;z-index:26}
  .nav{display:none;position:fixed;inset:0;background:var(--bg);padding:104px var(--m) 40px;overflow-y:auto;z-index:25}
  .nav.open{display:block}
  .nav ul{flex-direction:column;gap:0;border-top:1px solid var(--line)}
  .nav li{border-bottom:1px solid var(--line)}
  .nav a{color:var(--txt);font-weight:800;font-size:clamp(2rem,9vw,3.4rem);line-height:1.1;letter-spacing:-.025em;display:block;padding:12px 0;border:0}
  .nav a[aria-current="page"]{color:var(--acc)}
  .nav-open{overflow:hidden}
  .nav-x{display:block;margin-top:36px;font-family:var(--mono);font-size:13px}
  .nav-x a{font:inherit!important;letter-spacing:.02em!important;color:var(--mut)!important;padding:0!important;border:0!important;text-decoration:underline!important;text-decoration-color:var(--line2)!important}
}

/* portada */
.hero{padding:clamp(56px,8vw,128px) var(--m) clamp(48px,6vw,88px)}
.hero>.k{margin-bottom:clamp(22px,3vw,36px)}
.hero h1 .l{display:block}
.hero h1 .l:first-child,.hero h1 .l:nth-child(2){display:inline}
.hero h1 .l:nth-child(2)::before{content:" "}
.hero h1 .l:last-child{color:var(--acc)}
.hero-foot{margin-top:clamp(32px,4vw,56px);align-items:end}
.hero-foot .lead{grid-column:1/7;margin:0}
.hero-foot .acts{grid-column:8/13;display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center;justify-content:flex-end}
.ph-full{margin:0;border-top:1px solid var(--line)}
.ph-full img{width:100%;aspect-ratio:2.35/1;object-fit:cover}
figcaption{font-family:var(--mono);font-size:11.5px;letter-spacing:.03em;color:var(--mut);padding-top:10px}
.ph-full figcaption{padding-left:var(--m);padding-right:var(--m);padding-bottom:4px}

/* cabecera de página */
.phero{padding:clamp(56px,7vw,112px) var(--m) clamp(48px,6vw,88px)}
.phero .k{grid-column:1/4;padding-top:1em}
.phero h1{grid-column:4/13}
.phero .lead{grid-column:4/11;margin-top:clamp(22px,2.6vw,36px)}

/* botones */
.btn{display:inline-flex;align-items:center;gap:.6em;padding:15px 22px;background:var(--acc);color:var(--on-acc);border:1px solid var(--acc);border-radius:6px;text-decoration:none;font:700 15px/1.2 var(--f);letter-spacing:0;cursor:pointer}
.btn:hover{background:var(--acc2);border-color:var(--acc2);color:var(--on-acc);text-decoration:none}
.btn.line{background:transparent;color:var(--txt);border-color:var(--line2)}
.btn.line:hover{background:transparent;border-color:var(--acc);color:var(--txt)}
.arr{font:600 15px/1.3 var(--f);text-decoration:none;color:var(--txt);border-bottom:2px solid var(--acc);padding-bottom:2px}
.arr::after{content:" →";font-family:var(--mono);font-weight:400}
.arr:hover{color:var(--acc);text-decoration:none}
.acts .arr,p>.arr{align-self:center}

/* índice de entregables */
.idx{list-style:none;border-top:1px solid var(--line2)}
.idx li{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);padding:26px 0 28px;border-bottom:1px solid var(--line);align-items:baseline}
.idx .n{grid-column:1/3;font-family:var(--mono);font-size:13px;color:var(--acc)}
.idx h3{grid-column:3/8}
.idx p{grid-column:8/13;margin:0;color:var(--mut)}
.idx a{text-decoration:none}
.idx a:hover{color:var(--acc)}

/* muestra en portada */
.excerpt{row-gap:40px}
.excerpt .x-meta{grid-column:1/4}
.excerpt .x-body{grid-column:4/13;background:#f4f3ee;color:#111;border-radius:10px;padding:clamp(22px,3vw,40px);--mut:#5c5c60;--line:rgba(0,0,0,.16);--line2:rgba(0,0,0,.3)}
.excerpt .x-body .k{color:#5c5c60}
.x-title{margin-bottom:18px}
.x-line{font-family:var(--mono);font-size:13px;letter-spacing:.02em;border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);padding:12px 0;margin:0 0 26px;max-width:none;display:flex;flex-wrap:wrap;gap:6px 22px}
.x-cols{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}
.x-cols p{font-size:1rem}
.x-cols .k{border-bottom:1px solid var(--line);padding-bottom:10px}
.excerpt figure{grid-column:1/4;align-self:end}

/* calendario */
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:2px solid var(--txt);list-style:none}
.cal li{border-right:1px solid var(--line);padding:18px 14px 8px 0}
.cal li+li{padding-left:14px}
.cal li:last-child{border-right:0}
.cal b{display:block;font-weight:800;font-size:clamp(1.8rem,3.4vw,3.3rem);line-height:.95;letter-spacing:-.03em;margin-bottom:14px;font-variant-numeric:tabular-nums}
.cal li:first-child b,.cal li:nth-last-child(2) b{color:var(--acc)}
.cal span{display:block;font-size:.92rem;line-height:1.35}
.cal em{display:block;font-style:normal;font-family:var(--mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--mut);margin-top:8px}
.cal-note{margin-top:28px}

/* pareja de fotos */
.pair{align-items:start}
.pair .p1{grid-column:1/9}
.pair .p2{grid-column:10/13;margin-top:clamp(60px,12vw,200px)}
.pair .p1 img{aspect-ratio:3/2;object-fit:cover;width:100%}
.pair .p2 img{aspect-ratio:4/5;object-fit:cover;width:100%}

/* precios */
.plist{border-top:2px solid var(--txt)}
.prow{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);padding:30px 0 34px;border-bottom:1px solid var(--line);align-items:start}
.prow .p-name{grid-column:1/5}
.prow .p-name .k{margin:12px 0 0}
.prow .p-inc{grid-column:5/9}
.prow .p-amt{grid-column:9/13;text-align:right}
.amt{display:block;font-weight:800;font-size:clamp(2.6rem,4.6vw,4.4rem);line-height:.9;font-variant-numeric:tabular-nums;letter-spacing:-.035em;white-space:nowrap}
.amt small{font-size:.34em;font-weight:500;letter-spacing:0;color:var(--mut)}
.amt .from{display:block;font-size:.26em;font-family:var(--mono);font-weight:400;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;color:var(--mut)}
.iva{display:block;font-family:var(--mono);font-size:12px;color:var(--mut);margin:10px 0 18px}
.ul{list-style:none}
.ul li{padding:8px 0 8px 24px;position:relative;border-top:1px solid var(--line);line-height:1.4;color:var(--txt2)}
.ul li:first-child{border-top:0;padding-top:0}
.ul li::before{content:"";position:absolute;left:0;top:.72em;width:12px;height:2px;background:var(--acc)}
.ul li:first-child::before{top:calc(.72em - 8px)}
.p-teaser .prow{padding:22px 0 24px;align-items:baseline}
.p-teaser .prow .p-name{grid-column:1/6}
.p-teaser .prow .p-inc{grid-column:6/10;margin:0;color:var(--mut)}
.p-teaser .prow .p-amt{grid-column:10/13}
.p-teaser .amt{font-size:clamp(2.2rem,3.6vw,3.4rem)}
.p-teaser .amt .from{display:inline-block;margin:0 .6em 0 0;font-size:.3em;vertical-align:.25em}

/* bloques partidos */
.split{align-items:start}
.split .s-ph{grid-column:1/6}
.split .s-tx{grid-column:7/13}
.split.rev .s-ph{grid-column:8/13;grid-row:1}
.split.rev .s-tx{grid-column:1/7;grid-row:1}
.s-tx .d2,.s-tx .d3{margin-bottom:28px}

/* servicios */
.svc-wrap{align-items:start}
.toc{grid-column:1/4;position:sticky;top:96px}
.toc ol{list-style:none;border-top:1px solid var(--line2)}
.toc li{border-bottom:1px solid var(--line)}
.toc a{display:flex;gap:14px;padding:10px 0;text-decoration:none;font-size:14.5px;color:var(--mut)}
.toc a span{font-family:var(--mono);font-size:12.5px;color:var(--acc);min-width:2ch;padding-top:.1em}
.toc a:hover{color:var(--txt)}
.svc-list{grid-column:4/13}
.svc{border-top:1px solid var(--line);padding:34px 0 60px;display:grid;grid-template-columns:repeat(9,minmax(0,1fr));column-gap:var(--gap)}
.svc:first-child{border-top:2px solid var(--txt)}
.svc .s-n{grid-column:1/10;font-family:var(--mono);font-size:13px;margin-bottom:14px;color:var(--acc)}
.svc h2{grid-column:1/10;margin-bottom:26px}
.svc .s-txt{grid-column:1/6;color:var(--txt2)}
.svc .s-spec{grid-column:6/10}
.svc .ex{grid-column:1/10;margin-top:30px}
.spec{display:grid;grid-template-columns:minmax(90px,max-content) 1fr;gap:0;border-top:1px solid var(--line2);margin:0;font-size:.95rem}
.spec dt,.spec dd{border-bottom:1px solid var(--line);padding:9px 0;margin:0}
.spec dt{font-family:var(--mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--mut);padding-right:18px;padding-top:11px}
/* hojas de muestra: papel claro sobre negro, como la ficha de la primera landing */
.ex,.mail{background:#f4f3ee;color:#111;border-radius:10px;padding:24px clamp(18px,2.6vw,36px) 26px;position:relative;--txt:#111;--txt2:#222;--mut:#5c5c60;--line:rgba(0,0,0,.16);--line2:rgba(0,0,0,.32)}
.ex a,.mail a{text-decoration-color:rgba(0,0,0,.4)}
.ex .k{color:#111;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-bottom:1px solid var(--line2);padding-bottom:10px;margin-bottom:18px}
.ex .k span{color:var(--mut)}
.ex p.k{max-width:none}
.ex p{max-width:70ch}
.ex p:last-child{margin-bottom:0}
.ex .two{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}
.ex .lbl,.lbl{font-family:var(--mono);font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--mut);display:block;margin-bottom:6px}
.ex ::selection,.mail ::selection,.x-body ::selection{background:#111;color:#f4f3ee}

/* proceso */
.steps{list-style:none;border-top:2px solid var(--txt)}
.step{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);padding:32px 0 44px;border-bottom:1px solid var(--line)}
.step .s-big{grid-column:1/3;font-weight:800;font-size:clamp(3rem,5.4vw,5.4rem);line-height:.85;letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:var(--txt)}
.step h2{grid-column:3/7}
.step .s-when{display:block;font-family:var(--mono);font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--mut);margin-top:14px;font-weight:400}
.step .s-body{grid-column:7/13;color:var(--txt2)}
.step .s-body p:last-child{margin-bottom:0}
.rules{list-style:none;counter-reset:r;border-top:1px solid var(--line2)}
.rules li{counter-increment:r;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);padding:24px 0;border-bottom:1px solid var(--line)}
.rules li::before{content:counter(r,decimal-leading-zero);grid-column:1/2;font-family:var(--mono);font-size:13px;color:var(--acc);padding-top:.35em}
.rules h3{grid-column:2/7}
.rules p{grid-column:7/13;margin:0;color:var(--txt2)}

/* preguntas: paneles como en la primera versión */
.faq{grid-column:4/13}
.faq details{background:var(--panel);border:1px solid var(--line);border-radius:8px;margin-bottom:10px}
.dark .faq details{background:var(--bg)}
.faq summary{list-style:none;cursor:pointer;padding:18px 56px 18px 22px;position:relative;font-weight:700;font-size:clamp(1.05rem,1.35vw,1.2rem);line-height:1.3}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:22px;top:15px;color:var(--acc);font-weight:800;font-size:1.35rem;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details[open]{border-color:var(--line2)}
.faq details div{padding:0 22px 20px;max-width:66ch;color:var(--mut)}
.faq details div p:last-child{margin-bottom:0}

/* trabajo */
.work{list-style:none;border-top:2px solid var(--txt)}
.work li{border-bottom:1px solid var(--line)}
.work a{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);padding:30px 0 34px;text-decoration:none;align-items:start}
.work .w-n{grid-column:1/2;font-family:var(--mono);font-size:13px;padding-top:.5em;color:var(--acc)}
.work .w-ph{grid-column:2/6}
.work .w-ph img{aspect-ratio:4/3;object-fit:cover;width:100%}
.work .w-tx{grid-column:7/13}
.work .w-tx .d3{margin-bottom:16px}
.work a:hover .d3{color:var(--acc)}
.work .w-go{display:inline-block;margin-top:14px}
.flag{display:inline-block;font-family:var(--mono);font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;border:1px solid var(--acc);color:var(--acc);border-radius:4px;padding:4px 8px 3px;margin-bottom:16px}

/* documentos de muestra */
.doc-meta{grid-column:1/4}
.doc-meta .spec{font-size:.88rem}
.doc-body{grid-column:4/13}
.doc-sec{border-top:2px solid var(--txt);padding:22px 0 54px}
.doc-sec>.k{color:var(--acc)}
.doc-sec h2{margin-bottom:24px}
.doc-sec .two{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}
.tbl{width:100%;border-collapse:collapse;font-size:.95rem}
.tbl th{font-family:var(--mono);font-size:11.5px;font-weight:400;text-transform:uppercase;letter-spacing:.05em;color:var(--mut);text-align:left;padding:0 16px 10px 0;border-bottom:1px solid var(--line2);vertical-align:bottom}
.tbl td{padding:12px 16px 12px 0;border-bottom:1px solid var(--line);vertical-align:top}
.tbl td:first-child{white-space:nowrap;font-weight:600}
.tbl-wrap{overflow-x:auto}
.mail .hd{font-family:var(--mono);font-size:12.5px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:18px}
.mail .hd b{font-weight:500}
.fakebtn{display:inline-block;font:700 14px/1 var(--f);background:#111;color:#f4f3ee;border-radius:6px;padding:12px 16px;margin:6px 0 18px}
.notice{border:1px solid var(--line2);border-radius:8px;background:var(--panel);padding:16px 18px;font-size:.95rem;max-width:none}
.notice b{font-family:var(--mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;font-weight:500;display:block;margin-bottom:6px;color:var(--acc)}
.epk-head{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--acc);border-radius:10px;padding:clamp(28px,4vw,56px);margin-bottom:34px}
.epk-head .d1{font-size:clamp(2.8rem,7vw,6.8rem)}
.epk-head p{font-family:var(--mono);font-size:13px;margin:16px 0 0;max-width:none;color:var(--mut)}
.epk-head .k{color:var(--acc)}
.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line2);margin-bottom:10px}
.facts div{padding:12px 12px 12px 0;border-bottom:1px solid var(--line)}
.facts div+div{padding-left:12px;border-left:1px solid var(--line)}
.facts b{display:block;font-weight:800;font-size:1.9rem;line-height:1;letter-spacing:-.03em}
.facts span{font-family:var(--mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--mut)}

/* estudio */
.st-body{grid-column:4/11}
.st-body p{font-size:1.1rem;color:var(--txt2)}
.st-body p.todo{font-size:12px}
.todo{display:inline;font-family:var(--mono);font-size:12px;line-height:1.5;letter-spacing:.01em;text-transform:none;font-weight:400;color:#ffd9b5;background:rgba(255,145,60,.13);outline:1px dashed #ff9a3c;outline-offset:1px;padding:1px 5px}
div.todo,p.todo{display:block;padding:12px 14px;margin:14px 0;max-width:62ch}
.ex .todo,.mail .todo,.x-body .todo{color:#5a2600;background:#ffe6cc;outline-color:#c25400}

/* contacto */
.ct{align-items:start}
.ct-form{grid-column:1/8}
.ct-side{grid-column:9/13}
.field{margin-bottom:22px}
.field label,.field legend{display:block;font-size:14px;font-weight:600;margin-bottom:8px;color:var(--txt)}
.field input,.field select,.field textarea{width:100%;font:inherit;font-size:1.02rem;color:var(--txt);background:var(--panel);border:1px solid var(--line2);border-radius:6px;padding:13px 14px;-webkit-appearance:none;appearance:none}
.field select{background:var(--panel) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23d7ff3a' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 14px center;padding-right:40px}
.field select option{background:var(--panel);color:var(--txt)}
.field input::placeholder,.field textarea::placeholder{color:#7d7d83}
.field textarea{min-height:150px;resize:vertical;line-height:1.45}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 1px var(--acc)}
.field input[type=date]{color-scheme:dark}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:0 var(--gap)}
.check{display:flex;gap:12px;align-items:flex-start;font-size:.95rem;margin:6px 0 28px;color:var(--txt2)}
.check input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--acc);flex:none}
.form-msg{margin-top:18px;font-family:var(--mono);font-size:13px;color:var(--acc)}
.ct-side .blk{border-top:1px solid var(--line2);padding:16px 0 26px}
.ct-side .big{font-weight:800;font-size:clamp(1.15rem,1.6vw,1.5rem);line-height:1.15;letter-spacing:-.015em;word-break:break-word;text-decoration:none}
.ct-side .big:hover{color:var(--acc)}

/* legal */
.legal{grid-column:4/11;color:var(--txt2)}
.legal h2{font-weight:800;font-size:1.35rem;letter-spacing:-.015em;margin:44px 0 12px;color:var(--txt)}
.legal h2:first-child{margin-top:0}
.legal ul{padding-left:1.2em;margin:0 0 1em}
.legal li{margin:.3em 0;max-width:62ch}
.legal .spec{margin-bottom:1.4em}
.legal .upd{font-family:var(--mono);font-size:12px;color:var(--mut)}

/* llamada final */
.cta{background:var(--bg);border-top:1px solid var(--line)}
.cta h2{grid-column:1/11}
.cta .c-tx{grid-column:4/10;margin-top:32px}
.cta .acts{grid-column:4/13;display:flex;flex-wrap:wrap;gap:16px 26px;align-items:center;margin-top:12px}

/* pie */
.foot{background:var(--bg);border-top:1px solid var(--line);padding:clamp(56px,6vw,88px) var(--m) 28px;overflow:hidden}
.foot .k{color:var(--mut)}
.foot ul{list-style:none}
.foot li{margin:0 0 7px;font-size:.95rem}
.foot a{text-decoration:none;color:var(--txt2)}
.foot a:hover{color:var(--acc)}
.f-a{grid-column:1/5}
.f-a p{max-width:34ch;color:var(--mut)}
.f-b{grid-column:6/9}
.f-c{grid-column:9/11}
.f-d{grid-column:11/13}
.foot-mark{display:flex;align-items:center;gap:.3em;font-weight:800;text-transform:uppercase;font-size:clamp(1.9rem,6.6vw,7.4rem);line-height:.9;letter-spacing:.02em;margin:clamp(56px,7vw,100px) 0 22px;white-space:nowrap;max-width:none;color:var(--txt)}
.foot-mark::before{content:"";flex:none;width:.9em;height:.13em;background:var(--acc)}
.foot-bot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;border-top:1px solid var(--line);padding-top:16px;font-family:var(--mono);font-size:11.5px;letter-spacing:.03em;color:var(--mut)}

/* 404 */
.nf{min-height:70vh;display:flex;flex-direction:column;justify-content:center}

/* adaptable */
@media (max-width:1100px){
  .hero-foot .lead{grid-column:1/8}
  .hero-foot .acts{grid-column:8/13}
  .ct-form{grid-column:1/8}.ct-side{grid-column:9/13}
}
@media (max-width:980px){
  .sec-h .k,.phero .k{grid-column:1/13;padding-top:0}
  .sec-h .d2,.sec-h .d3,.phero h1{grid-column:1/13}
  .sec-h .lead,.phero .lead{grid-column:1/12}
  .hero-foot .lead{grid-column:1/13}
  .hero-foot .acts{grid-column:1/13;justify-content:flex-start;margin-top:30px}
  .idx h3{grid-column:3/13}.idx p{grid-column:3/13;margin-top:10px}
  .excerpt .x-meta,.excerpt .x-body{grid-column:1/13}
  .excerpt figure{display:none}
  .cal{grid-template-columns:repeat(4,minmax(0,1fr))}
  .cal li{border-bottom:1px solid var(--line);padding:16px 12px 18px 12px}
  .cal li:nth-child(4n+1){padding-left:0}
  .cal li:nth-child(4n){border-right:0}
  .toc{display:none}
  .pair .p1{grid-column:1/13}.pair .p2{grid-column:5/13;margin-top:24px}
  .svc-list{grid-column:1/13}
  .prow .p-name{grid-column:1/13}
  .prow .p-inc{grid-column:1/8;margin-top:22px}
  .prow .p-amt{grid-column:8/13;margin-top:22px}
  .p-teaser .prow .p-name{grid-column:1/8}.p-teaser .prow .p-inc{display:none}.p-teaser .prow .p-amt{grid-column:8/13;margin-top:0}
  .step .s-big{grid-column:1/3}.step h2{grid-column:3/13}.step .s-body{grid-column:3/13;margin-top:20px}
  .rules h3{grid-column:2/13}.rules p{grid-column:2/13;margin-top:10px}
  .faq,.st-body,.legal,.note,.side{grid-column:1/13}
  .work .w-ph{grid-column:2/7}.work .w-tx{grid-column:8/13}
  .doc-meta,.doc-body{grid-column:1/13}
  .doc-meta{margin-bottom:40px}
  .split .s-ph,.split .s-tx,.split.rev .s-ph,.split.rev .s-tx{grid-column:1/13;grid-row:auto}
  .split .s-ph{margin-bottom:40px}
  .split.rev .s-ph{grid-row:1}
  .ct-form,.ct-side{grid-column:1/13}
  .ct-side{margin-top:40px}
  .cta h2,.cta .c-tx,.cta .acts{grid-column:1/13}
  .f-a{grid-column:1/13;margin-bottom:28px}.f-b{grid-column:1/6}.f-c{grid-column:6/10}.f-d{grid-column:10/13}
}
@media (max-width:640px){
  body{font-size:16.5px}
  .head{height:60px}
  .brand{font-size:13px;gap:9px;letter-spacing:.12em}.brand i{width:20px}
  .head-r{gap:12px}
  .foot-mark{font-size:6vw}
  .ph-full img{aspect-ratio:4/5}
  .idx li{padding:20px 0 22px}
  .idx .n{grid-column:1/13;margin-bottom:8px}
  .idx h3,.idx p{grid-column:1/13}
  .x-cols,.ex .two,.doc-sec .two{grid-template-columns:1fr}
  .cal{grid-template-columns:1fr 1fr}
  .cal li,.cal li+li{padding:14px 10px 16px 0;border-right:0}
  .cal li:nth-child(odd){border-right:1px solid var(--line)}
  .cal li:nth-child(even){padding-left:12px}
  .cal li:last-child:nth-child(odd){grid-column:1/-1;border-right:0}
  .svc{grid-template-columns:1fr}
  .svc>*{grid-column:1/-1!important}
  .svc .s-spec{margin-top:18px}
  .prow .p-inc,.prow .p-amt{grid-column:1/13}
  .prow .p-amt{text-align:left}
  .p-teaser .prow .p-name{grid-column:1/13}.p-teaser .prow .p-amt{grid-column:1/13;margin-top:10px}
  .step{padding:26px 0 32px}
  .step .s-big{grid-column:1/13;margin-bottom:14px}.step h2,.step .s-body{grid-column:1/13}
  .rules li::before{grid-column:1/13;margin-bottom:6px}.rules h3,.rules p{grid-column:1/13}
  .work .w-n,.work .w-ph,.work .w-tx{grid-column:1/13}
  .work .w-ph{margin:10px 0 22px}
  .facts{grid-template-columns:1fr 1fr}
  .facts div:nth-child(3){padding-left:0;border-left:0}
  .f2{grid-template-columns:1fr}
  .f-b,.f-c,.f-d{grid-column:1/13;margin-bottom:22px}
  .faq summary{padding:16px 48px 16px 18px}.faq summary::after{right:18px}.faq details div{padding:0 18px 18px}
  .tbl thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .tbl,.tbl tbody,.tbl tr,.tbl td{display:block;width:100%}
  .tbl tr{border-top:1px solid var(--line2);padding:12px 0 14px}
  .tbl td{border:0;padding:3px 0}
  .tbl td:first-child{white-space:normal;font-weight:700;padding-bottom:6px}
  .tbl td+td::before{content:attr(data-th);display:block;font-family:var(--mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--mut);margin:6px 0 2px}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* impresión (PDF de muestras): papel blanco, tinta negra */
@media print{
  @page{size:A4;margin:16mm 14mm}
  :root{--bg:#fff;--panel:#fff;--txt:#111;--txt2:#222;--mut:#555;--line:#ccc;--line2:#999;--acc:#111;--paper:#111}
  body{background:#fff;color:#111;font-size:10.5pt}
  .head,.foot,.skip,.no-print,.toc{display:none!important}
  .sec,.phero{padding:0 0 8mm;border:0}
  .doc-meta,.doc-body{grid-column:1/13}
  .g{display:block}
  .doc-sec{break-inside:auto;padding-bottom:6mm}
  .doc-sec .two>div,.notice,.facts,.epk-head{break-inside:avoid}
  h1,h2,.doc-sec>.k{break-after:avoid}
  main::before{content:"";display:block;width:16mm;height:1.6mm;background:#111;margin-bottom:6mm;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .phero .lead{margin-top:4mm}
  .doc-sec h2,.tbl tr,.mail,.ex{break-inside:avoid}
  .ex,.mail{background:#f3f1ec;border-radius:0}
  .epk-head{border:1px solid #111;border-left:3px solid #111}
  a{text-decoration:none}
  .d1{font-size:40pt}.d2{font-size:26pt}.d3{font-size:18pt}
  .todo{background:none;outline:1px dashed #999;color:#111}
}

/* precios: un solo plan destacado en lima (Club, como en la primera versión) */
.prow .btn{background:transparent;color:var(--txt);border-color:var(--line2)}
.prow .btn:hover{background:transparent;border-color:var(--acc);color:var(--txt)}
#club.prow,#club-p.prow{position:relative}
#club .btn{background:var(--acc);color:var(--on-acc);border-color:var(--acc)}
#club .btn:hover{background:var(--acc2);border-color:var(--acc2)}
#club::before{content:"";position:absolute;left:0;top:-1px;width:min(33%,240px);height:3px;background:var(--acc)}
