/* ===========================================================
   PPF.com.ar — Sistema completo · estilos
   Un set de componentes, dos mundos: A2 (dark) y B2 (light).
   El tema se controla con [data-theme] en .app
   =========================================================== */

:root{
  --sans:"Geist", system-ui, sans-serif;
  --mono:"Geist Mono", ui-monospace, monospace;
  --coral:#FF5722;            /* guiño de ecosistema Detly, mínimo */
  --r:14px;
}

/* ---- TEMAS ---- */
[data-theme="dark"]{
  --page-bg:#0A0C0F;
  --page-grid:rgba(255,255,255,0.035);
  --bg:#101317;
  --surface:#171B21;
  --surface-2:#1E232B;
  --surface-3:#232A33;
  --border:#272D37;
  --border-soft:#1F242C;
  --text:#F3F6F8;
  --text-2:#C3CAD3;
  --muted:#8A93A0;
  --acc:#33D4E2;
  --acc-cta:#33D4E2;
  --acc-cta-text:#06171B;
  --acc-soft:rgba(51,212,226,0.12);
  --acc-line:rgba(51,212,226,0.42);
  --glow:rgba(51,212,226,0.18);
  --map-bg:#12161B;
  --map-line:rgba(255,255,255,0.05);
  --map-block:rgba(255,255,255,0.03);
  --shadow:0 50px 90px -40px rgba(0,0,0,0.8);
  --ok:#3FD08A;
}
[data-theme="light"]{
  --page-bg:#EAECEF;
  --page-grid:rgba(20,30,40,0.025);
  --bg:#FAFAF7;
  --surface:#FFFFFF;
  --surface-2:#F3F1EA;
  --surface-3:#EDEAE0;
  --border:#E5E2D8;
  --border-soft:#EDEAE0;
  --text:#0A0A0A;
  --text-2:#3A3D42;
  --muted:#70747B;
  --acc:#33D4E2;
  --acc-cta:#0C7C8A;
  --acc-cta-text:#FFFFFF;
  --acc-soft:#E3F8FB;
  --acc-line:rgba(12,124,138,0.32);
  --glow:rgba(51,212,226,0.10);
  --map-bg:#EEEDE6;
  --map-line:rgba(20,30,40,0.06);
  --map-block:rgba(20,30,40,0.035);
  --shadow:0 50px 90px -46px rgba(20,30,35,0.30);
  --ok:#0E8A56;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:var(--sans);-webkit-font-smoothing:antialiased;}
.app{
  background-color:var(--page-bg);
  background-image:linear-gradient(var(--page-grid) 1px,transparent 1px),linear-gradient(90deg,var(--page-grid) 1px,transparent 1px);
  background-size:48px 48px;
  color:var(--text);
  min-height:100vh;
  letter-spacing:-0.011em;
  line-height:1.55;
}
.wrap{max-width:1200px;margin:0 auto;padding:0 40px;}
@media(max-width:720px){.wrap{padding:0 20px;}}

/* ===================== WORDMARK ===================== */
.wm{font-family:var(--sans);font-weight:700;letter-spacing:-0.04em;line-height:0.95;display:inline-flex;align-items:baseline;color:var(--text);white-space:nowrap;}
.wm .pp{ }
.wm .ext{font-weight:600;}
.wm .d-ink{color:var(--text);}
.wm .d-cy{color:var(--acc);}
.wm.glow .d-cy{text-shadow:0 0 0.4em var(--glow),0 0 0.9em var(--glow);}
/* circle dot variant for signature .ar */
.wm .dotc{display:inline-block;width:0.15em;height:0.15em;background:var(--acc);border-radius:50%;margin:0 0.005em;transform:translateY(-0.02em);}
.wm.glow .dotc{box-shadow:0 0 0.5em var(--glow),0 0 1.1em var(--glow);}

/* ===================== CONTROL BAR (chrome neutral) ===================== */
.ctl{position:fixed;top:0;left:0;right:0;z-index:200;height:60px;background:rgba(11,13,16,0.85);backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,0.08);display:flex;align-items:center;}
.ctl .wrap{display:flex;justify-content:space-between;align-items:center;width:100%;}
.ctl .left{display:flex;align-items:center;gap:14px;}
.ctl .mk{font-weight:700;letter-spacing:-0.04em;font-size:1.1rem;color:#fff;display:inline-flex;align-items:baseline;}
.ctl .mk .c{color:#33D4E2;}
.ctl .tg{font-family:var(--mono);font-size:0.58rem;letter-spacing:0.16em;text-transform:uppercase;color:#7C8794;padding-left:14px;border-left:1px solid rgba(255,255,255,0.12);}
.ctl .right{display:flex;align-items:center;gap:18px;}
.ctl-nav{display:flex;gap:2px;}
.ctl-nav a{font-family:var(--mono);font-size:0.6rem;letter-spacing:0.1em;text-transform:uppercase;color:#8A93A0;text-decoration:none;padding:6px 9px;border-radius:6px;transition:.18s;}
.ctl-nav a:hover{color:#fff;background:rgba(255,255,255,0.06);}
@media(max-width:1080px){.ctl-nav{display:none;}}

/* theme switch */
.tsw{display:flex;background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.1);border-radius:9px;padding:3px;gap:2px;}
.tsw button{font-family:var(--mono);font-size:0.62rem;letter-spacing:0.08em;text-transform:uppercase;color:#9AA3AF;background:transparent;border:none;padding:7px 13px;border-radius:6px;cursor:pointer;transition:.18s;display:flex;align-items:center;gap:7px;}
.tsw button .dt{width:8px;height:8px;border-radius:50%;}
.tsw button[data-for="dark"] .dt{background:#33D4E2;}
.tsw button[data-for="light"] .dt{background:#0C7C8A;outline:2px solid rgba(255,255,255,0.2);outline-offset:1px;}
.tsw button.on{background:#fff;color:#0A0C0F;}
.tsw button.on[data-for="dark"]{background:#1C222B;color:#fff;}

.route-flag{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:0.62rem;letter-spacing:0.08em;text-transform:uppercase;color:#C3CAD3;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);border-radius:9px;padding:8px 13px;}
.route-flag .rf-i{width:9px;height:9px;border-radius:50%;}
.route-flag .rf-light{background:#FAFAF7;outline:2px solid rgba(255,255,255,0.18);outline-offset:1px;}
.route-flag .rf-dark{background:#33D4E2;}
.route-flag .rf-plus{color:#6B7682;}
@media(max-width:760px){.route-flag{display:none;}}

/* ===================== SECTION SCAFFOLD ===================== */
.sect{padding:74px 0 0;}
.kick{font-family:var(--mono);font-size:0.66rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:10px;margin-bottom:26px;}
.kick i{width:7px;height:7px;border-radius:50%;background:var(--acc);font-style:normal;}
.sect h1{font-weight:800;font-size:clamp(2.4rem,5.5vw,4.4rem);line-height:0.97;letter-spacing:-0.045em;max-width:17ch;}
.sect h1 .cy{color:var(--acc);}
[data-theme="light"] .sect h1 .cy{color:var(--acc-cta);}
.sect .lead{font-size:1.08rem;color:var(--muted);max-width:62ch;margin-top:24px;line-height:1.62;}

/* screen header (each system screen) */
.screen{padding-top:60px;}
.screen-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;border-top:2px solid var(--text);padding-top:16px;margin-bottom:24px;}
.screen-head .l{display:flex;align-items:baseline;gap:18px;}
.screen-head .n{font-weight:800;font-size:1.7rem;letter-spacing:-0.04em;line-height:1;}
.screen-head .t .h{font-weight:700;font-size:1.05rem;letter-spacing:-0.02em;}
.screen-head .t .d{font-family:var(--mono);font-size:0.62rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted);margin-top:4px;}
.screen-head .aud{font-family:var(--mono);font-size:0.58rem;letter-spacing:0.13em;text-transform:uppercase;color:var(--acc);border:1px solid var(--acc-line);background:var(--acc-soft);border-radius:999px;padding:6px 12px;white-space:nowrap;}
[data-theme="light"] .screen-head .aud{color:var(--acc-cta);}
@media(max-width:640px){.screen-head{flex-direction:column;align-items:flex-start;gap:12px;}}

.slab{font-family:var(--mono);font-size:0.62rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--muted);margin-bottom:18px;display:flex;align-items:center;gap:10px;}
.slab::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--acc);}

/* ===================== UI ATOMS (themed) ===================== */
.btn{font-family:var(--sans);font-weight:600;font-size:0.92rem;letter-spacing:-0.01em;border:none;border-radius:9px;padding:13px 22px;background:var(--acc-cta);color:var(--acc-cta-text);display:inline-flex;align-items:center;gap:9px;cursor:pointer;transition:.18s;text-decoration:none;}
.btn:hover{transform:translateY(-1px);filter:brightness(1.06);}
.btn .ar{font-family:var(--mono);font-size:0.92em;}
.btn.ghost{background:transparent;color:var(--text);border:1px solid var(--border);}
.btn.ghost:hover{border-color:var(--acc-line);filter:none;}
.btn.sm{padding:9px 15px;font-size:0.8rem;border-radius:8px;}
.btn.block{width:100%;justify-content:center;}

.tag{font-family:var(--mono);font-size:0.6rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--acc);border:1px solid var(--acc-line);border-radius:999px;padding:6px 13px;display:inline-flex;align-items:center;gap:7px;background:var(--acc-soft);}
[data-theme="light"] .tag{color:var(--acc-cta);}
.tag i{width:5px;height:5px;border-radius:50%;background:var(--acc);font-style:normal;}
[data-theme="light"] .tag i{background:var(--acc-cta);}

.chip{font-family:var(--mono);font-size:0.58rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);border:1px solid var(--border);border-radius:6px;padding:5px 9px;display:inline-flex;align-items:center;gap:6px;background:var(--surface-2);}

.fld{font-family:var(--sans);font-size:0.88rem;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:12px 14px;width:100%;transition:.16s;}
.fld::placeholder{color:var(--muted);}
.fld:focus{outline:none;border-color:var(--acc-line);box-shadow:0 0 0 3px var(--acc-soft);}
select.fld{appearance:none;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 18px) center,calc(100% - 13px) center;background-size:5px 5px,5px 5px;background-repeat:no-repeat;}
.fld-lab{font-family:var(--mono);font-size:0.56rem;letter-spacing:0.13em;text-transform:uppercase;color:var(--muted);margin-bottom:7px;display:block;}

/* ===================== FRAMES ===================== */
.frame-cap{font-family:var(--mono);font-size:0.58rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted);margin:10px 2px 0;}

/* desktop browser */
.browser{background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:var(--shadow);}
.browser-bar{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--bg);border-bottom:1px solid var(--border);}
.browser-bar .dots{display:flex;gap:6px;}
.browser-bar .dots span{width:10px;height:10px;border-radius:50%;background:var(--border);}
.browser-bar .url{flex:1;display:flex;justify-content:center;}
.browser-bar .url span{font-family:var(--mono);font-size:0.64rem;color:var(--muted);letter-spacing:0.04em;background:var(--surface);border:1px solid var(--border);border-radius:7px;padding:5px 16px;}
.browser-bar .url span b{color:var(--text);font-weight:500;}

/* site chrome inside browser */
.site{background:var(--bg);}
.site-nav{display:flex;justify-content:space-between;align-items:center;padding:18px 34px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg);z-index:10;}
.site-nav .links{display:flex;gap:24px;align-items:center;}
.site-nav .links a{font-family:var(--mono);font-size:0.62rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:.15s;}
.site-nav .links a:hover{color:var(--text);}
.site-nav .links a.act{color:var(--text);}
.site-nav .nav-r{display:flex;align-items:center;gap:16px;}
.site-nav .soy{font-family:var(--mono);font-size:0.6rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--text);border:1px solid var(--border);border-radius:7px;padding:8px 12px;text-decoration:none;}
.site-nav .soy:hover{border-color:var(--acc-line);}
@media(max-width:760px){.site-nav .links{display:none;}}

/* phone */
.phone{width:268px;background:#0A0B0D;border-radius:42px;padding:11px;box-shadow:0 50px 90px -30px rgba(0,0,0,0.5),0 0 0 1px rgba(255,255,255,0.05) inset;position:relative;flex-shrink:0;}
.phone-scr{background:var(--bg);border-radius:32px;overflow:hidden;min-height:540px;position:relative;}
.phone-island{position:absolute;top:11px;left:50%;transform:translateX(-50%);width:80px;height:24px;background:#0A0B0D;border-radius:14px;z-index:6;}
.phone-status{display:flex;justify-content:space-between;align-items:center;padding:15px 22px 8px;font-family:var(--mono);font-size:0.6rem;color:var(--text);letter-spacing:0.04em;}
.phone-status .r{opacity:0.75;}

/* ===================== HERO (home) ===================== */
.hl-hero{padding:54px 34px 44px;position:relative;overflow:hidden;}
[data-theme="dark"] .hl-hero::before{content:"";position:absolute;top:-30%;right:-12%;width:55%;height:120%;background:radial-gradient(circle,var(--glow),transparent 66%);pointer-events:none;}
.hl-hero>*{position:relative;z-index:2;}
.hl-hero h2{font-weight:800;font-size:clamp(2rem,4.4vw,3.4rem);line-height:0.98;letter-spacing:-0.04em;max-width:18ch;text-wrap:balance;}
.hl-hero h2 .cy{color:var(--acc);}
[data-theme="light"] .hl-hero h2 .cy{color:var(--acc-cta);}
.hl-hero .sub{font-size:1.02rem;color:var(--muted);max-width:52ch;margin-top:18px;line-height:1.6;}

/* directory search bar (used on home + /instaladores) */
.search{display:flex;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:13px;padding:11px;margin-top:28px;max-width:620px;align-items:flex-end;}
.search .f{flex:1;}
.search .btn{flex-shrink:0;}
@media(max-width:680px){.search{flex-direction:column;align-items:stretch;}}

.hl-eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:22px;}

/* trio servicios */
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.svc{background:var(--surface);border:1px solid var(--border);border-radius:13px;padding:22px;display:flex;flex-direction:column;gap:10px;transition:.18s;text-decoration:none;color:var(--text);}
.svc:hover{border-color:var(--acc-line);transform:translateY(-2px);}
.svc .ico{width:38px;height:38px;border-radius:10px;background:var(--surface-2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;}
.svc .ico .gl{width:16px;height:16px;border:2px solid var(--acc);}
.svc h4{font-weight:700;font-size:1.05rem;letter-spacing:-0.025em;margin-top:6px;}
.svc p{font-size:0.84rem;color:var(--muted);line-height:1.5;flex:1;}
.svc .go{font-family:var(--mono);font-size:0.58rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--acc);display:flex;align-items:center;gap:6px;}
[data-theme="light"] .svc .go{color:var(--acc-cta);}
@media(max-width:720px){.trio{grid-template-columns:1fr;}}

/* generic home module band */
.band-row{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center;padding:46px 34px;border-top:1px solid var(--border);}
.band-row.alt{background:var(--surface);}
.band-row h3{font-weight:800;font-size:clamp(1.5rem,2.6vw,2.1rem);letter-spacing:-0.035em;line-height:1.04;margin-bottom:14px;}
.band-row p{color:var(--muted);font-size:0.98rem;line-height:1.62;margin-bottom:14px;}
.band-row p b{color:var(--text);font-weight:600;}
.steps{display:flex;flex-direction:column;gap:0;}
.step{display:grid;grid-template-columns:34px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--border);}
.step:last-child{border-bottom:none;}
.step .sn{font-family:var(--mono);font-size:0.7rem;color:var(--acc);letter-spacing:0.05em;}
[data-theme="light"] .step .sn{color:var(--acc-cta);}
.step .sh{font-weight:700;font-size:0.98rem;letter-spacing:-0.02em;margin-bottom:3px;}
.step .sp{font-size:0.85rem;color:var(--muted);line-height:1.5;}
@media(max-width:760px){.band-row{grid-template-columns:1fr;gap:24px;}}

/* CTA strip */
.cta-strip{margin:0 34px 40px;background:var(--surface-2);border:1px solid var(--border);border-radius:14px;padding:34px;display:flex;justify-content:space-between;align-items:center;gap:24px;}
.cta-strip h3{font-weight:800;font-size:1.4rem;letter-spacing:-0.03em;}
.cta-strip p{color:var(--muted);font-size:0.92rem;margin-top:6px;max-width:46ch;line-height:1.55;}
@media(max-width:680px){.cta-strip{flex-direction:column;align-items:flex-start;}}

/* sample-data banner */
.sample-note{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:0.6rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:9px 13px;}
.sample-note b{color:var(--acc);font-weight:500;}
[data-theme="light"] .sample-note b{color:var(--acc-cta);}

/* ===================== HOME · VERIFICATION MODULE (eje de marca) ===================== */
.verif{margin:0 34px;padding:42px 34px;border-radius:16px;background:var(--surface);border:1px solid var(--border);position:relative;overflow:hidden;}
[data-theme="dark"] .verif{background:linear-gradient(150deg,#161B22 0%,#11141A 100%);}
[data-theme="dark"] .verif::before{content:"";position:absolute;top:-40%;left:30%;width:50%;height:160%;background:radial-gradient(circle,var(--glow),transparent 64%);}
.verif>*{position:relative;z-index:2;}
.verif .vh{max-width:62ch;margin-bottom:30px;}
.verif .vh h3{font-weight:800;font-size:clamp(1.6rem,3vw,2.4rem);letter-spacing:-0.038em;line-height:1.02;}
.verif .vh h3 .cy{color:var(--acc);}
[data-theme="light"] .verif .vh h3 .cy{color:var(--acc-cta);}
.verif .vh p{color:var(--muted);font-size:1rem;line-height:1.62;margin-top:14px;}
.verif-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
@media(max-width:760px){.verif-cols{grid-template-columns:1fr;}}
.vpill{background:var(--bg);border:1px solid var(--border);border-radius:13px;padding:22px;display:flex;flex-direction:column;gap:10px;}
.vpill .vn{font-family:var(--mono);font-size:0.56rem;letter-spacing:0.13em;text-transform:uppercase;color:var(--acc);}
[data-theme="light"] .vpill .vn{color:var(--acc-cta);}
.vpill .vi{width:36px;height:36px;border-radius:9px;border:1px solid var(--border);background:var(--surface-2);display:flex;align-items:center;justify-content:center;}
.vpill .vi .gd{width:15px;height:15px;border:2px solid var(--acc);}
[data-theme="light"] .vpill .vi .gd{border-color:var(--acc-cta);}
.vpill .vi .gd.c{border-radius:50%;}
.vpill h4{font-weight:700;font-size:1.04rem;letter-spacing:-0.025em;}
.vpill p{font-size:0.86rem;color:var(--muted);line-height:1.5;}

/* ===================== /materiales ===================== */
.mat-intro{padding:46px 34px 30px;}
.mat-intro h2{font-weight:800;font-size:clamp(1.8rem,3.4vw,2.7rem);line-height:1;letter-spacing:-0.04em;max-width:20ch;}
.mat-intro .sub{color:var(--muted);font-size:1rem;line-height:1.6;margin-top:16px;max-width:58ch;}

/* benchmark table */
.bench{margin:0 34px;border:1px solid var(--border);border-radius:13px;overflow:hidden;}
.bench-row{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr 1.2fr;}
.bench-row>div{padding:16px 18px;border-bottom:1px solid var(--border);border-right:1px solid var(--border);}
.bench-row>div:last-child{border-right:none;}
.bench-row.head>div{background:var(--surface-2);font-family:var(--mono);font-size:0.58rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted);}
.bench-row.head>div:first-child{color:var(--text);}
.bench-row:last-child>div{border-bottom:none;}
.bench .tech{font-weight:700;font-size:0.98rem;letter-spacing:-0.025em;}
.bench .tech .tt{font-family:var(--mono);font-size:0.55rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--acc);display:block;margin-top:4px;}
[data-theme="light"] .bench .tech .tt{color:var(--acc-cta);}
.bench .cell{font-size:0.86rem;color:var(--text-2);line-height:1.45;}
.bench .cell.good{color:var(--text);font-weight:600;}
@media(max-width:880px){
  .bench-row{grid-template-columns:1fr 1fr;}
  .bench-row.head{display:none;}
  .bench-row>div{border-right:none;}
  .bench-row>div:first-child{grid-column:1/-1;background:var(--surface-2);}
  .bench .cell::before{content:attr(data-l);display:block;font-family:var(--mono);font-size:0.52rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);margin-bottom:5px;}
}
.bench-note{font-family:var(--mono);font-size:0.56rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);margin:14px 36px 0;}

/* price-difference module */
.pricewhy{margin:40px 34px 0;display:grid;grid-template-columns:1.1fr 1fr;gap:24px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:34px;align-items:center;}
@media(max-width:760px){.pricewhy{grid-template-columns:1fr;}}
.pricewhy h3{font-weight:800;font-size:1.5rem;letter-spacing:-0.035em;line-height:1.08;margin-bottom:14px;}
.pricewhy p{color:var(--muted);font-size:0.95rem;line-height:1.62;margin-bottom:12px;}
.pricewhy p b{color:var(--text);font-weight:600;}
.cost-vis{display:flex;flex-direction:column;gap:12px;}
.cost-bar{background:var(--bg);border:1px solid var(--border);border-radius:11px;padding:16px;}
.cost-bar .cb-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px;}
.cost-bar .cb-n{font-weight:700;font-size:0.92rem;letter-spacing:-0.02em;}
.cost-bar .cb-t{font-family:var(--mono);font-size:0.55rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);}
.cost-track{height:10px;border-radius:5px;background:var(--surface-2);overflow:hidden;display:flex;}
.cost-track .mat{background:var(--acc);}
[data-theme="light"] .cost-track .mat{background:var(--acc-cta);}
.cost-track .lab{background:var(--surface-3);}
.cost-leg{display:flex;gap:16px;margin-top:6px;font-family:var(--mono);font-size:0.54rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);}
.cost-leg span{display:flex;align-items:center;gap:6px;}
.cost-leg .sq{width:9px;height:9px;border-radius:2px;}
.cost-leg .sq.mat{background:var(--acc);}
[data-theme="light"] .cost-leg .sq.mat{background:var(--acc-cta);}
.cost-leg .sq.lab{background:var(--surface-3);}

/* how-to-verify module */
.howverify{margin:40px 34px 0;padding:34px;background:var(--surface-2);border:1px solid var(--border);border-radius:14px;}
.howverify h3{font-weight:800;font-size:1.5rem;letter-spacing:-0.035em;margin-bottom:6px;}
.howverify .hp{color:var(--muted);font-size:0.95rem;margin-bottom:24px;max-width:56ch;line-height:1.55;}
.hv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
@media(max-width:760px){.hv-grid{grid-template-columns:1fr;}}
.hv{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:22px;}
.hv .hn{font-family:var(--mono);font-size:0.62rem;color:var(--acc);letter-spacing:0.05em;margin-bottom:14px;}
[data-theme="light"] .hv .hn{color:var(--acc-cta);}
.hv h5{font-weight:700;font-size:1rem;letter-spacing:-0.025em;margin-bottom:7px;}
.hv p{font-size:0.85rem;color:var(--muted);line-height:1.52;}

/* ===================== DIRECTORY (/instaladores) ===================== */
.dir-top{padding:24px 28px;border-bottom:1px solid var(--border);background:var(--bg);}
.dir-filters{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:10px;align-items:end;margin-top:14px;}
.dir-filters .btn{height:42px;}
@media(max-width:820px){.dir-filters{grid-template-columns:1fr 1fr;}}
.dir-body{display:grid;grid-template-columns:0.92fr 1.08fr;min-height:560px;}
@media(max-width:880px){.dir-body{grid-template-columns:1fr;}}
.dir-list{border-right:1px solid var(--border);overflow:hidden;}
.dir-list-head{display:flex;justify-content:space-between;align-items:center;padding:16px 22px;border-bottom:1px solid var(--border);}
.dir-list-head .ct{font-family:var(--mono);font-size:0.6rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted);}
.dir-list-head .ct b{color:var(--text);}
.dir-cards{display:flex;flex-direction:column;}
.shop{padding:18px 22px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:9px;cursor:pointer;transition:.15s;}
.shop:hover,.shop.active{background:var(--surface);}
.shop.active{box-shadow:inset 3px 0 0 var(--acc);}
.shop .s-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;}
.shop h4{font-weight:700;font-size:1.02rem;letter-spacing:-0.025em;}
.shop .s-zone{font-family:var(--mono);font-size:0.6rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);margin-top:3px;}
.shop .s-net{font-family:var(--mono);font-size:0.52rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--acc);border:1px solid var(--acc-line);background:var(--acc-soft);border-radius:6px;padding:4px 7px;white-space:nowrap;}
[data-theme="light"] .shop .s-net{color:var(--acc-cta);}
.shop .s-svcs{display:flex;gap:6px;flex-wrap:wrap;}
.shop .s-foot{display:flex;justify-content:space-between;align-items:center;margin-top:4px;}
.shop .s-rev{display:flex;align-items:center;gap:7px;font-size:0.74rem;color:var(--muted);}
.shop .s-rev .stars{color:var(--acc);letter-spacing:1px;font-size:0.7rem;}
[data-theme="light"] .shop .s-rev .stars{color:var(--acc-cta);}

/* map */
.dir-map{position:relative;background:var(--map-bg);overflow:hidden;min-height:560px;}
.dir-map .grid{position:absolute;inset:0;background-image:
  repeating-linear-gradient(0deg,transparent 0 47px,var(--map-line) 47px 48px),
  repeating-linear-gradient(90deg,transparent 0 63px,var(--map-line) 63px 64px);}
.dir-map .road{position:absolute;background:var(--map-line);}
.dir-map .block{position:absolute;background:var(--map-block);border-radius:3px;}
.dir-map .pin{position:absolute;width:18px;height:18px;border-radius:50% 50% 50% 0;background:var(--acc-cta);transform:translate(-50%,-100%) rotate(-45deg);box-shadow:0 4px 10px rgba(0,0,0,0.4);cursor:pointer;transition:.18s;}
.dir-map .pin::after{content:"";position:absolute;top:5px;left:5px;width:8px;height:8px;border-radius:50%;background:var(--bg);}
.dir-map .pin.active{width:26px;height:26px;background:var(--acc);z-index:5;}
.dir-map .pin.active::after{top:7px;left:7px;width:12px;height:12px;background:#06171B;}
.dir-map .mcap{position:absolute;bottom:14px;left:14px;font-family:var(--mono);font-size:0.56rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted);background:var(--bg);border:1px solid var(--border);border-radius:7px;padding:7px 11px;}
.dir-map .mzoom{position:absolute;top:14px;right:14px;display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--border);border-radius:8px;overflow:hidden;}
.dir-map .mzoom button{width:32px;height:32px;background:transparent;border:none;color:var(--text);font-size:1rem;cursor:pointer;border-bottom:1px solid var(--border);}
.dir-map .mzoom button:last-child{border-bottom:none;}

/* ===================== SERVICE PAGE ===================== */
.svc-hero{padding:50px 34px 36px;display:grid;grid-template-columns:1.3fr 1fr;gap:30px;align-items:center;border-bottom:1px solid var(--border);}
.svc-hero h2{font-weight:800;font-size:clamp(1.9rem,3.6vw,2.8rem);line-height:1;letter-spacing:-0.04em;}
.svc-hero .sub{color:var(--muted);font-size:1rem;line-height:1.6;margin-top:16px;max-width:46ch;}
.svc-vis{aspect-ratio:4/3;border-radius:13px;background:
  repeating-linear-gradient(135deg,var(--surface-2) 0 11px,var(--surface) 11px 22px);
  border:1px solid var(--border);display:flex;align-items:flex-end;padding:16px;}
.svc-vis .vc{font-family:var(--mono);font-size:0.56rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted);background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:6px 10px;}

.svc-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:36px 34px;}
@media(max-width:760px){.svc-cols{grid-template-columns:1fr;}.svc-hero{grid-template-columns:1fr;}}
.info-card{background:var(--surface);border:1px solid var(--border);border-radius:13px;padding:24px;}
.info-card h4{font-weight:700;font-size:1.1rem;letter-spacing:-0.025em;margin-bottom:12px;display:flex;align-items:center;gap:9px;}
.info-card h4 .gd{width:7px;height:7px;border-radius:50%;background:var(--acc);}
[data-theme="light"] .info-card h4 .gd{background:var(--acc-cta);}
.info-card p{font-size:0.9rem;color:var(--muted);line-height:1.6;}
.info-card ul{list-style:none;margin-top:6px;}
.info-card li{font-size:0.9rem;color:var(--text-2);padding:9px 0 9px 22px;border-bottom:1px solid var(--border-soft);position:relative;line-height:1.45;}
.info-card li:last-child{border-bottom:none;}
.info-card li::before{content:"";position:absolute;left:0;top:15px;width:8px;height:8px;border:1.5px solid var(--acc);}
[data-theme="light"] .info-card li::before{border-color:var(--acc-cta);}

/* scope/range table */
.scope{display:flex;flex-direction:column;}
.scope-row{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid var(--border-soft);}
.scope-row:last-child{border-bottom:none;}
.scope-row .sc-n{font-weight:600;font-size:0.94rem;letter-spacing:-0.02em;}
.scope-row .sc-d{font-size:0.8rem;color:var(--muted);margin-top:2px;}
.scope-row .bars{display:flex;gap:4px;align-items:center;}
.scope-row .bars b{width:10px;height:18px;border-radius:2px;background:var(--border);}
.scope-row .bars b.on{background:var(--acc);}
[data-theme="light"] .scope-row .bars b.on{background:var(--acc-cta);}
.scope-cap{font-family:var(--mono);font-size:0.56rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);margin-top:14px;}

/* ===================== GARANTIA ===================== */
.gar-grid{display:grid;grid-template-columns:1fr 290px;gap:30px;padding:42px 34px;align-items:start;}
@media(max-width:820px){.gar-grid{grid-template-columns:1fr;}}
.verify{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:28px;}
.verify h3{font-weight:800;font-size:1.5rem;letter-spacing:-0.035em;margin-bottom:8px;}
.verify p{color:var(--muted);font-size:0.92rem;line-height:1.55;margin-bottom:18px;}
.verify-row{display:flex;gap:10px;align-items:flex-end;}
.verify-row .f{flex:1;}
.verify-result{margin-top:18px;border:1px solid var(--border);border-radius:11px;overflow:hidden;display:none;}
.verify-result.show{display:block;animation:fade .4s ease;}
@keyframes fade{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}
.vr-head{background:var(--acc-soft);border-bottom:1px solid var(--acc-line);padding:12px 16px;display:flex;align-items:center;gap:10px;}
.vr-head .ok{width:18px;height:18px;border-radius:50%;background:var(--ok);display:flex;align-items:center;justify-content:center;color:#fff;font-size:0.7rem;}
.vr-head .ht{font-weight:700;font-size:0.92rem;letter-spacing:-0.02em;}
.vr-head .hx{margin-left:auto;font-family:var(--mono);font-size:0.54rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);}
.vr-body{padding:16px;display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.vr-body .f .k{font-family:var(--mono);font-size:0.52rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;}
.vr-body .f .v{font-weight:600;font-size:0.88rem;letter-spacing:-0.02em;}
.vr-body .f .v.cy{color:var(--acc);}
[data-theme="light"] .vr-body .f .v.cy{color:var(--acc-cta);}

/* maintenance plan */
.maint{padding:0 34px 42px;}
.maint-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
@media(max-width:820px){.maint-grid{grid-template-columns:1fr 1fr;}}
.mcard{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:8px;position:relative;}
.mcard .mn{font-family:var(--mono);font-size:0.56rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--acc);}
[data-theme="light"] .mcard .mn{color:var(--acc-cta);}
.mcard h5{font-weight:700;font-size:0.96rem;letter-spacing:-0.02em;}
.mcard p{font-size:0.8rem;color:var(--muted);line-height:1.5;}
.mcard .rem{margin-top:auto;font-family:var(--mono);font-size:0.54rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:6px;padding-top:10px;border-top:1px solid var(--border-soft);}
.mcard .rem::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--acc);}

/* WALLET PASS (shared) */
.wallet-head{display:flex;justify-content:space-between;align-items:center;padding:10px 20px 14px;}
.wallet-head .wt{font-weight:700;font-size:1.05rem;letter-spacing:-0.03em;}
.wallet-head .wx{font-family:var(--mono);font-size:0.66rem;color:var(--muted);}
.pass{margin:0 14px;background:var(--surface);border:1px solid var(--border);border-radius:18px;overflow:hidden;box-shadow:0 18px 40px -22px rgba(0,0,0,0.45);}
[data-theme="dark"] .pass{background:linear-gradient(160deg,#1C222B 0%,#13171D 100%);}
.pass-top{padding:14px 16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);}
.pass-top .ptag{font-family:var(--mono);font-size:0.52rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--acc);}
[data-theme="light"] .pass-top .ptag{color:var(--acc-cta);}
.pass-hero{padding:15px 16px;display:flex;justify-content:space-between;align-items:flex-start;}
.pass-hero .k{font-family:var(--mono);font-size:0.5rem;letter-spacing:0.13em;text-transform:uppercase;color:var(--muted);margin-bottom:5px;}
.pass-hero .v{font-weight:700;font-size:1rem;letter-spacing:-0.025em;line-height:1.05;}
.pass-hero .r{text-align:right;}
.pass-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:2px 16px 14px;}
.pass-fields .k{font-family:var(--mono);font-size:0.48rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;}
.pass-fields .v{font-weight:600;font-size:0.78rem;letter-spacing:-0.01em;line-height:1.2;}
.pass-fields .v.cy{color:var(--acc);}
[data-theme="light"] .pass-fields .v.cy{color:var(--acc-cta);}
.pass-strip{background:var(--bg);border-top:1px solid var(--border);padding:15px;display:flex;flex-direction:column;align-items:center;gap:8px;}
.qr{width:108px;height:108px;display:grid;grid-template-columns:repeat(21,1fr);grid-template-rows:repeat(21,1fr);background:#fff;padding:7px;border-radius:9px;}
.qr i{display:block;}
.qr i.on{background:#0A0B0D;}
.pass-strip .serial{font-family:var(--mono);font-size:0.54rem;letter-spacing:0.13em;text-transform:uppercase;color:var(--muted);}
.pass-strip .ex{font-family:var(--mono);font-size:0.46rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);opacity:0.6;}

/* ===================== B2B /talleres ===================== */
.b2b-hero{padding:52px 34px;display:grid;grid-template-columns:1.05fr 0.95fr;gap:34px;align-items:center;position:relative;overflow:hidden;}
[data-theme="dark"] .b2b-hero::before{content:"";position:absolute;top:-20%;left:-10%;width:50%;height:130%;background:radial-gradient(circle,var(--glow),transparent 64%);}
.b2b-hero>*{position:relative;z-index:2;}
.b2b-hero h2{font-weight:800;font-size:clamp(1.9rem,3.6vw,2.9rem);line-height:1;letter-spacing:-0.04em;text-wrap:balance;}
.b2b-hero h2 .cy{color:var(--acc);}
[data-theme="light"] .b2b-hero h2 .cy{color:var(--acc-cta);}
.b2b-hero .sub{color:var(--muted);font-size:1rem;line-height:1.62;margin-top:18px;max-width:46ch;}
.b2b-val{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:26px;}
.b2b-val .v{display:flex;gap:10px;align-items:flex-start;font-size:0.86rem;color:var(--text-2);line-height:1.4;}
.b2b-val .v .vd{width:8px;height:8px;border:2px solid var(--acc);margin-top:5px;flex-shrink:0;}
[data-theme="light"] .b2b-val .v .vd{border-color:var(--acc-cta);}
.b2b-form{background:var(--surface);border:1px solid var(--border);border-radius:15px;padding:26px;}
.b2b-form h3{font-weight:700;font-size:1.2rem;letter-spacing:-0.03em;margin-bottom:4px;}
.b2b-form .fp{font-size:0.84rem;color:var(--muted);margin-bottom:18px;line-height:1.5;}
.b2b-form .ff{margin-bottom:12px;}
@media(max-width:760px){.b2b-hero{grid-template-columns:1fr;}}

/* ===================== ARTICLE ===================== */
.art{display:grid;grid-template-columns:200px 1fr;gap:40px;padding:46px 38px;}
@media(max-width:820px){.art{grid-template-columns:1fr;}.art-toc{display:none;}}
.art-toc{position:sticky;top:90px;align-self:start;}
.art-toc .tl{font-family:var(--mono);font-size:0.56rem;letter-spacing:0.13em;text-transform:uppercase;color:var(--muted);margin-bottom:14px;}
.art-toc a{display:block;font-size:0.82rem;color:var(--muted);text-decoration:none;padding:7px 0 7px 13px;border-left:2px solid var(--border);transition:.15s;line-height:1.35;}
.art-toc a:hover,.art-toc a.act{color:var(--text);border-color:var(--acc);}
.art-main{max-width:660px;}
.art-main .ey{display:flex;gap:10px;margin-bottom:18px;align-items:center;}
.art-main h1{font-weight:800;font-size:clamp(1.9rem,3.8vw,2.9rem);line-height:1.02;letter-spacing:-0.04em;text-wrap:balance;}
.art-meta{display:flex;gap:18px;margin:18px 0 26px;padding-bottom:24px;border-bottom:1px solid var(--border);font-family:var(--mono);font-size:0.6rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);}
.art-main h2{font-weight:700;font-size:1.45rem;letter-spacing:-0.03em;margin:34px 0 12px;}
.art-main p{font-size:1.02rem;line-height:1.72;color:var(--text-2);margin-bottom:16px;}
.art-main p b{color:var(--text);font-weight:600;}
.pull{border-left:3px solid var(--acc);padding:6px 0 6px 22px;margin:26px 0;font-weight:600;font-size:1.25rem;letter-spacing:-0.025em;line-height:1.35;color:var(--text);}
[data-theme="light"] .pull{border-color:var(--acc-cta);}
.datacard{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px 22px;margin:26px 0;}
.datacard .dl{font-family:var(--mono);font-size:0.56rem;letter-spacing:0.13em;text-transform:uppercase;color:var(--acc);margin-bottom:8px;}
[data-theme="light"] .datacard .dl{color:var(--acc-cta);}
.datacard p{font-size:0.92rem;color:var(--text-2);line-height:1.6;margin:0;}
.art-cta{background:var(--surface-2);border:1px solid var(--border);border-radius:13px;padding:26px;margin-top:34px;display:flex;justify-content:space-between;align-items:center;gap:20px;}
.art-cta h4{font-weight:700;font-size:1.15rem;letter-spacing:-0.03em;}
.art-cta p{font-size:0.86rem;color:var(--muted);margin-top:5px;}
@media(max-width:600px){.art-cta{flex-direction:column;align-items:flex-start;}}

/* ===================== LOCKUP TREATMENTS ===================== */
.lockups{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
@media(max-width:820px){.lockups{grid-template-columns:1fr;}}
.lk{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:28px;min-height:200px;display:flex;flex-direction:column;justify-content:space-between;}
.lk .lk-stage{flex:1;display:flex;align-items:center;}
.lk .lk-cap{font-family:var(--mono);font-size:0.58rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted);}
.lk .lk-cap b{color:var(--acc);font-weight:500;}
[data-theme="light"] .lk .lk-cap b{color:var(--acc-cta);}
.lk .lk-name{font-family:var(--mono);font-size:0.6rem;letter-spacing:0.13em;text-transform:uppercase;color:var(--text);margin-bottom:18px;}

/* tokens + components grid */
.tok-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;}
@media(max-width:820px){.tok-grid{grid-template-columns:1fr;}}
.pal{display:flex;flex-direction:column;gap:8px;}
.sw{border-radius:10px;border:1px solid var(--border);padding:15px 17px;display:flex;justify-content:space-between;align-items:flex-end;min-height:58px;}
.sw .nm{font-weight:600;font-size:0.9rem;letter-spacing:-0.02em;}
.sw .co{font-family:var(--mono);font-size:0.64rem;opacity:0.85;}
.sw .role{font-family:var(--mono);font-size:0.54rem;letter-spacing:0.12em;text-transform:uppercase;opacity:0.7;}
.sw.big{min-height:84px;}
.comp-strip{display:flex;flex-wrap:wrap;gap:14px;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:13px;padding:24px;}

/* ===================== COMPARISON ===================== */
.cmp{padding:40px 0 0;}
.cmp-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
@media(max-width:820px){.cmp-grid{grid-template-columns:1fr;}}
.cmp-col{border-radius:16px;overflow:hidden;border:1px solid;}
.cmp-col.dark{background:#101317;border-color:#272D37;color:#F3F6F8;}
.cmp-col.light{background:#FAFAF7;border-color:#E5E2D8;color:#0A0A0A;}
.cmp-col .ch{padding:22px 24px;border-bottom:1px solid;display:flex;justify-content:space-between;align-items:center;}
.cmp-col.dark .ch{border-color:#272D37;}
.cmp-col.light .ch{border-color:#E5E2D8;}
.cmp-col .ch .cn{font-family:var(--mono);font-size:0.62rem;letter-spacing:0.14em;text-transform:uppercase;}
.cmp-col.dark .ch .cn{color:#33D4E2;}
.cmp-col.light .ch .cn{color:#0C7C8A;}
.cmp-col .ch .ct{font-weight:700;font-size:1.05rem;letter-spacing:-0.025em;margin-top:5px;}
.cmp-mini{padding:22px 24px;display:flex;flex-direction:column;gap:14px;}
.cmp-mini .mini-wm{font-weight:700;letter-spacing:-0.04em;font-size:1.9rem;display:inline-flex;align-items:baseline;}
.cmp-row{display:flex;gap:8px;flex-wrap:wrap;}
.cmp-list{list-style:none;margin-top:6px;}
.cmp-list li{font-size:0.86rem;padding:10px 0 10px 20px;position:relative;line-height:1.45;border-bottom:1px solid;}
.cmp-col.dark .cmp-list li{border-color:#272D37;color:#C3CAD3;}
.cmp-col.light .cmp-list li{border-color:#E5E2D8;color:#3A3D42;}
.cmp-list li:last-child{border-bottom:none;}
.cmp-list li::before{content:"";position:absolute;left:0;top:15px;width:7px;height:7px;}
.cmp-col.dark .cmp-list li::before{background:#33D4E2;}
.cmp-col.light .cmp-list li::before{background:#0C7C8A;}

/* recommendation */
.reco{padding:46px 0 90px;}
.reco-pick{background:#101317;color:#F3F6F8;border-radius:18px;padding:44px;position:relative;overflow:hidden;border:1px solid #272D37;}
.reco-pick::before{content:"";position:absolute;top:-15%;right:-8%;width:50%;height:90%;background:radial-gradient(circle,rgba(51,212,226,0.2),transparent 66%);}
.reco-pick>*{position:relative;z-index:2;}
.reco-pick .badge{font-family:var(--mono);font-size:0.64rem;letter-spacing:0.16em;text-transform:uppercase;color:#33D4E2;margin-bottom:20px;}
.reco-pick .pickwm{font-weight:800;font-size:clamp(2.4rem,5vw,3.4rem);letter-spacing:-0.045em;display:inline-flex;align-items:baseline;margin-bottom:22px;}
.reco-pick .pickwm .c{color:#33D4E2;text-shadow:0 0 18px rgba(51,212,226,0.5);}
.reco-pick p{font-size:1rem;line-height:1.7;color:#C3CAD3;margin-bottom:14px;max-width:68ch;}
.reco-pick p b{color:#F3F6F8;font-weight:600;}
.reco-pick .cy{color:#33D4E2;}
.reco-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px;}
@media(max-width:680px){.reco-cols{grid-template-columns:1fr;}}
.reco-mini{background:rgba(255,255,255,0.04);border:1px solid #272D37;border-radius:12px;padding:20px;}
.reco-mini h4{font-weight:700;font-size:0.98rem;letter-spacing:-0.025em;margin-bottom:8px;color:#F3F6F8;}
.reco-mini p{font-size:0.85rem;color:#9AA3AF;line-height:1.55;margin:0;}

/* footer */
.foot{border-top:1px solid var(--border);padding:34px 0;margin-top:60px;}
.foot .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;}
.foot .fl{font-family:var(--mono);font-size:0.6rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);}
.foot .brand-door{font-family:var(--mono);font-size:0.6rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);}
.foot .brand-door a{color:var(--text);text-decoration:none;border-bottom:1px solid var(--acc-line);}

.spacer{height:18px;}

/* ===================== IMAGE PLACEHOLDERS (fotografía real, a futuro) ===================== */
.imgph{position:relative;border-radius:12px;border:1px solid var(--border);overflow:hidden;
  background:repeating-linear-gradient(135deg,var(--surface-2) 0 11px,var(--surface) 11px 22px);min-height:120px;}
.imgph .cap{position:absolute;left:12px;bottom:12px;font-family:var(--mono);font-size:0.54rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:6px 10px;max-width:82%;line-height:1.3;}
.imgph .pic{position:absolute;top:12px;right:12px;width:24px;height:20px;border:1.5px solid var(--muted);border-radius:4px;opacity:.5;}
.imgph .pic::after{content:"";position:absolute;top:5px;left:6px;width:8px;height:8px;border:1.5px solid var(--muted);border-radius:50%;}

/* ===================== DETLY ECOSYSTEM LINK ===================== */
.detly{font-weight:700;letter-spacing:-0.035em;color:inherit;text-decoration:none;display:inline-flex;align-items:baseline;transition:.16s;}
.detly .dd{display:inline-block;width:0.16em;height:0.16em;border-radius:50%;background:var(--coral);margin-left:0.02em;transform:translateY(-0.02em);}
.detly:hover{color:var(--coral);}

/* ===================== TALLER PROFILE ===================== */
.tp-cover{display:grid;grid-template-columns:1.7fr 1fr;gap:8px;padding:8px;}
.tp-cover .big{aspect-ratio:16/9;}
.tp-cover .col{display:grid;grid-template-rows:1fr 1fr;gap:8px;}
@media(max-width:680px){.tp-cover{grid-template-columns:1fr;}.tp-cover .col{grid-template-columns:1fr 1fr;grid-template-rows:none;}}
.tp-head{padding:24px 28px;display:flex;justify-content:space-between;align-items:flex-start;gap:22px;border-bottom:1px solid var(--border);}
.tp-head h2{font-weight:800;font-size:clamp(1.6rem,3vw,2.3rem);letter-spacing:-0.038em;line-height:1.02;}
.tp-head .tp-zone{font-family:var(--mono);font-size:0.62rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);margin-top:9px;display:flex;align-items:center;gap:8px;}
.tp-head .tp-tag{color:var(--muted);font-size:0.95rem;margin-top:10px;max-width:46ch;line-height:1.5;}
.tp-head .tp-net{flex-shrink:0;font-family:var(--mono);font-size:0.56rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--acc);border:1px solid var(--acc-line);background:var(--acc-soft);border-radius:999px;padding:8px 13px;white-space:nowrap;display:inline-flex;align-items:center;gap:7px;}
[data-theme="light"] .tp-head .tp-net{color:var(--acc-cta);}
.tp-head .tp-net i{width:5px;height:5px;border-radius:50%;background:var(--acc);font-style:normal;}
[data-theme="light"] .tp-head .tp-net i{background:var(--acc-cta);}

.tp-body{display:grid;grid-template-columns:1fr 320px;gap:24px;padding:28px;}
@media(max-width:820px){.tp-body{grid-template-columns:1fr;}}
.tp-main{display:flex;flex-direction:column;gap:24px;}
.tp-sec .slab{margin-bottom:14px;}
.tp-svcs{display:flex;gap:8px;flex-wrap:wrap;}
.tp-pill{font-family:var(--mono);font-size:0.6rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--text);border:1px solid var(--border);border-radius:8px;padding:9px 13px;background:var(--surface);display:inline-flex;align-items:center;gap:8px;}
.tp-pill b{color:var(--acc);font-weight:600;}
[data-theme="light"] .tp-pill b{color:var(--acc-cta);}
.tp-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
.tp-gallery .imgph{aspect-ratio:1;min-height:0;}
@media(max-width:600px){.tp-gallery{grid-template-columns:1fr 1fr;}}
.tp-feature{background:var(--surface);border:1px solid var(--border);border-radius:13px;padding:22px;display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;}
.tp-feature .tf-ic{width:40px;height:40px;border-radius:10px;background:var(--surface-2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;}
.tp-feature .tf-ic .gd{width:16px;height:16px;border:2px solid var(--acc);}
[data-theme="light"] .tp-feature .tf-ic .gd{border-color:var(--acc-cta);}
.tp-feature h4{font-weight:700;font-size:1.05rem;letter-spacing:-0.025em;margin-bottom:6px;}
.tp-feature p{font-size:0.9rem;color:var(--muted);line-height:1.55;}
.tp-feature p .scfab{color:var(--text);font-weight:500;}

/* booking aside */
.book-card{background:var(--surface);border:1px solid var(--border);border-radius:15px;padding:24px;position:sticky;top:80px;}
.book-card .bc-row{display:flex;justify-content:space-between;align-items:baseline;padding:11px 0;border-bottom:1px solid var(--border-soft);}
.book-card .bc-row:first-of-type{padding-top:0;}
.book-card .bc-k{font-family:var(--mono);font-size:0.56rem;letter-spacing:0.11em;text-transform:uppercase;color:var(--muted);}
.book-card .bc-v{font-weight:600;font-size:0.86rem;letter-spacing:-0.02em;text-align:right;}
.book-card .bc-cta{margin-top:18px;}
.book-card .bc-detly{margin-top:14px;padding-top:14px;border-top:1px solid var(--border-soft);font-size:0.8rem;color:var(--muted);line-height:1.5;}
.book-card .bc-warranty{margin-top:14px;display:flex;align-items:center;gap:10px;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:12px;}
.book-card .bc-warranty .gd{width:22px;height:22px;border-radius:6px;background:var(--bg);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.book-card .bc-warranty .gd b{width:9px;height:9px;border-radius:50%;background:var(--acc);}
[data-theme="light"] .book-card .bc-warranty .gd b{background:var(--acc-cta);}
.book-card .bc-warranty span{font-size:0.76rem;color:var(--text-2);line-height:1.4;}

/* ===================== B2B · DETLY BENEFIT CARD ===================== */
.detly-card{margin:0 0 0;background:var(--surface-2);border:1px solid var(--border);border-radius:13px;padding:20px;display:flex;align-items:center;gap:18px;}
.detly-card .dc-l{flex:1;}
.detly-card .dc-l .dl{font-family:var(--mono);font-size:0.56rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted);margin-bottom:7px;}
.detly-card .dc-l h4{font-weight:700;font-size:1.05rem;letter-spacing:-0.025em;display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;}
.detly-card .dc-l p{font-size:0.85rem;color:var(--muted);line-height:1.5;margin-top:6px;}
.detly-card .dc-r{flex-shrink:0;}

/* ===================== ARTICLE IMAGES ===================== */
.art-feature{margin:8px 0 26px;}
.art-feature.imgph{aspect-ratio:16/8;}
.art-inline{margin:28px 0;}
.art-inline.imgph{aspect-ratio:16/7;}
.art-inline .credit{margin-top:8px;}
figure.art-fig{margin:28px 0;}
figure.art-fig figcaption{font-family:var(--mono);font-size:0.56rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);margin-top:9px;}

/* ===================== FOOTER ECOSYSTEM ===================== */
.foot-eco{display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
.foot-eco .fe-lab{font-family:var(--mono);font-size:0.58rem;letter-spacing:0.13em;text-transform:uppercase;color:var(--muted);}
.foot-eco .fe-item{font-family:var(--mono);font-size:0.6rem;letter-spacing:0.04em;color:var(--text-2);display:inline-flex;align-items:center;gap:7px;}
.foot-eco .fe-item .st{font-family:var(--mono);font-size:0.5rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);border:1px solid var(--border);border-radius:5px;padding:3px 7px;}
.foot-eco .fe-item .st.live{color:var(--coral);border-color:var(--coral);}
