/* ============================================================
   LATINTECH — Web · Home
   Sistema: Forest / Bone / Lime · Inter Tight / Inter / JetBrains Mono
   ============================================================ */
:root{
  --bone:#F2EEE5; --bone-soft:#E8E2D2;
  --forest:#0E2A24; --forest-deep:#071A16;
  --sage:#365B52; --muted:#8C9892;
  --line:#D8D2C2; --line-dark:#1F4538;
  --lime:#D9F23C; --lime-soft:#E8F77A;
  --signal:#E8431F;
  --display:'Inter Tight',system-ui,sans-serif;
  --body:'Inter',system-ui,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;
  --pad:clamp(20px,5vw,80px);
  --nav-h:74px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--bone);color:var(--forest);
  font-family:var(--body);font-size:17px;-webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;overflow-x:hidden;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.mark{display:block}
.mark .stroke{stroke:currentColor;fill:none}
.mark .dot{fill:currentColor}
.mark .quad{fill:var(--lime)}

/* ---------- utility ---------- */
.mono{font-family:var(--mono);font-size:11px;letter-spacing:.26em;text-transform:uppercase}
.pad{padding-left:var(--pad);padding-right:var(--pad)}
.rule{border:0;border-top:1px solid var(--line);margin:0}
.section-tag{display:flex;align-items:center;gap:14px;margin-bottom:34px}
.section-tag .num{font-family:var(--mono);font-size:11px;letter-spacing:.26em;opacity:.55}
.section-tag .lbl{font-family:var(--mono);font-size:11px;letter-spacing:.26em;text-transform:uppercase;opacity:.8}
.section-tag .ln{flex:1;height:1px;background:var(--line)}
[hidden]{display:none!important}
[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .6s ease, transform .6s ease}
[data-reveal].in{opacity:1;transform:none}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--body);font-weight:600;font-size:16px;letter-spacing:-.01em;
  padding:15px 24px;border:1px solid transparent;cursor:pointer;
  transition:transform .15s ease, background .15s ease, color .15s ease, border-color .15s ease;
  white-space:nowrap;line-height:1;
}
.btn .ar{font-family:var(--mono);font-weight:500}
.btn:hover{transform:translateY(-2px)}
.btn-lime{background:var(--lime);color:var(--forest)}
.btn-lime:hover{background:var(--lime-soft)}
.btn-forest{background:var(--forest);color:var(--bone)}
.btn-forest:hover{background:var(--forest-deep)}
.btn-ghost{background:transparent;color:var(--forest);border-color:var(--forest)}
.btn-ghost:hover{background:var(--forest);color:var(--bone)}
.btn-ghost-bone{background:transparent;color:var(--bone);border-color:rgba(242,238,229,.4)}
.btn-ghost-bone:hover{background:var(--bone);color:var(--forest);border-color:var(--bone)}

/* ============================================================
   NAV
   ============================================================ */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;height:var(--nav-h);
  display:flex;align-items:center;justify-content:space-between;
  padding-left:var(--pad);padding-right:var(--pad);
  color:var(--bone);
  transition:background .3s ease, color .3s ease, border-color .3s ease;
  border-bottom:1px solid transparent;
}
.nav.solid{background:var(--bone);color:var(--forest);border-bottom-color:var(--line)}
.nav-logo{display:flex;align-items:center;gap:11px;font-family:var(--display);font-weight:700;font-size:21px;letter-spacing:-.03em}
.nav-logo .mark{width:30px;height:30px;flex:none}
.nav-links{display:flex;align-items:center;gap:30px}
.nav-links a.lnk{font-weight:500;font-size:15.5px;letter-spacing:-.005em;opacity:.85;transition:opacity .15s;position:relative;padding:4px 0}
.nav-links a.lnk:hover{opacity:1}
.nav-links a.lnk::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:1.5px;background:var(--lime);transition:right .22s ease}
.nav-links a.lnk:hover::after{right:0}
.nav-right{display:flex;align-items:center;gap:18px}
.lang-toggle{display:flex;align-items:center;font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.1em;border:1px solid currentColor;border-radius:0;overflow:hidden;opacity:.85}
.lang-toggle button{font:inherit;background:transparent;color:inherit;border:0;padding:7px 10px;cursor:pointer;letter-spacing:.1em;transition:background .15s,color .15s}
.lang-toggle button.on{background:var(--lime);color:var(--forest)}
.nav.solid .lang-toggle button.on{background:var(--forest);color:var(--lime)}
.nav .btn{padding:12px 20px;font-size:14px}
.nav-burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:6px}
.nav-burger span{width:24px;height:2px;background:currentColor;display:block;transition:.2s}

/* ============================================================
   HERO  (Eclipse: bone sobre forest)
   ============================================================ */
.hero{
  position:relative;background:var(--forest-deep);color:var(--bone);
  padding-top:calc(var(--nav-h) + clamp(48px,8vw,96px));
  padding-bottom:clamp(56px,8vw,104px);
  overflow:hidden;
}
.hero-grid-bg{position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(242,238,229,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(242,238,229,.04) 1px,transparent 1px);
  background-size:64px 64px;mask-image:radial-gradient(120% 90% at 80% 0,#000,transparent 75%)}
.hero-orb{position:absolute;top:-14%;right:-12%;width:min(40vw,480px);height:min(40vw,480px);color:rgba(242,238,229,.14);pointer-events:none;opacity:.5}
.hero-inner{position:relative;max-width:1180px}
.hero .eyebrow{color:var(--lime);opacity:.95;margin-bottom:26px;display:inline-flex;gap:12px;align-items:center}
.hero .eyebrow::before{content:"";width:26px;height:1px;background:var(--lime)}
.hero h1{
  font-family:var(--display);font-weight:700;
  font-size:clamp(40px,7.2vw,92px);line-height:.96;letter-spacing:-.045em;
  margin:0;max-width:16ch;text-wrap:balance;
}
.hero h1 em{font-style:normal;color:var(--lime)}
.hero .sub{font-size:clamp(17px,1.9vw,21px);line-height:1.55;max-width:62ch;opacity:.86;margin:30px 0 0;font-weight:400}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:42px}

/* ============================================================
   PROOF STRIP
   ============================================================ */
.proof{background:var(--forest);color:var(--bone);border-top:1px solid var(--line-dark)}
.proof-row{display:grid;grid-template-columns:repeat(5,1fr);gap:0}
.proof-cell{padding:30px clamp(16px,2.2vw,32px);border-left:1px solid var(--line-dark)}
.proof-cell:first-child{border-left:0}
.proof-cell .stat{font-family:var(--display);font-weight:700;font-size:clamp(30px,3.4vw,46px);letter-spacing:-.03em;line-height:1;color:var(--lime)}
.proof-cell .lab{font-size:15px;line-height:1.4;opacity:.78;margin-top:9px}

/* ============================================================
   JOURNEYS  (selector)
   ============================================================ */
.journeys{padding-top:clamp(64px,9vw,112px);padding-bottom:clamp(40px,6vw,72px)}
.journeys-head{max-width:760px;margin-bottom:46px}
.journeys-head h2{font-family:var(--display);font-weight:700;font-size:clamp(30px,4.2vw,52px);letter-spacing:-.035em;line-height:1.02;margin:0}
.journeys-head p{font-size:18px;line-height:1.55;opacity:.78;margin:18px 0 0;max-width:60ch}
.jcards{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.jcard{
  position:relative;display:flex;flex-direction:column;
  border:1px solid var(--line);background:#fff;padding:clamp(28px,3vw,42px);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s;
  overflow:hidden;
}
.jcard:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(14,42,36,.13)}
.jcard.dark{background:var(--forest);color:var(--bone);border-color:var(--forest)}
.jcard .jc-mark{width:48px;height:48px;margin-bottom:26px;color:var(--forest)}
.jcard.dark .jc-mark{color:var(--bone)}
.jcard h3{font-family:var(--display);font-weight:700;font-size:clamp(26px,3vw,34px);letter-spacing:-.03em;margin:0;line-height:1.02}
.jcard .jc-sub{font-size:17px;line-height:1.5;opacity:.82;margin:12px 0 24px;font-weight:500}
.jcard ul{list-style:none;margin:0 0 30px;padding:0;display:flex;flex-direction:column;gap:13px}
.jcard li{display:flex;gap:12px;font-size:17px;line-height:1.45;align-items:flex-start}
.jcard li::before{content:"";flex:none;width:7px;height:7px;background:var(--lime);margin-top:6px;transform:rotate(45deg)}
.jcard .jc-cta{margin-top:auto;display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:17px}
.jcard .jc-cta .ar{font-family:var(--mono);transition:transform .18s}
.jcard:hover .jc-cta .ar{transform:translateX(5px)}
.jcard .jc-cta{color:var(--sage)}
.jcard.dark .jc-cta{color:var(--lime)}

/* ============================================================
   PILLARS  (lo que hacemos)
   ============================================================ */
.pillars{padding-top:clamp(48px,6vw,72px);padding-bottom:clamp(64px,9vw,112px)}
.pgrid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
.pcell{background:var(--bone);padding:clamp(26px,3vw,40px);display:flex;flex-direction:column;min-height:230px;transition:background .18s}
.pcell:hover{background:#fff}
.pcell .p-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:auto}
.pcell .p-mark{width:38px;height:38px;color:var(--sage)}
.pcell .p-num{font-family:var(--mono);font-size:11px;letter-spacing:.26em;opacity:.5}
.pcell h3{font-family:var(--display);font-weight:700;font-size:clamp(21px,2.4vw,27px);letter-spacing:-.025em;margin:26px 0 0;line-height:1.05}
.pcell p{font-size:16.5px;line-height:1.5;opacity:.78;margin:10px 0 0;max-width:42ch}
.pcell .p-price{font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:var(--sage);margin-top:14px}
.pcell .p-link{margin-top:18px;font-weight:600;font-size:14px;color:var(--forest);display:inline-flex;gap:8px;align-items:center;opacity:0;transform:translateY(4px);transition:.2s}
.pcell:hover .p-link{opacity:1;transform:none}
.pcell .p-link .ar{font-family:var(--mono)}

/* ============================================================
   CASE  PHDC
   ============================================================ */
.case{background:var(--forest);color:var(--bone);overflow:hidden}
.case-inner{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(36px,5vw,72px);align-items:center;padding-top:clamp(56px,7vw,88px);padding-bottom:clamp(56px,7vw,88px)}
.case-copy .kicker{color:var(--lime);margin-bottom:22px}
.case-copy blockquote{font-family:var(--display);font-weight:600;font-size:clamp(23px,2.9vw,34px);letter-spacing:-.025em;line-height:1.18;margin:0;text-wrap:pretty}
.case-copy .case-cta{margin-top:34px}
.case-metrics{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line-dark);border:1px solid var(--line-dark)}
.case-metrics .m{background:var(--forest);padding:26px 22px}
.case-metrics .m .big{font-family:var(--display);font-weight:700;font-size:clamp(28px,3.4vw,40px);letter-spacing:-.03em;color:var(--lime);line-height:1}
.case-metrics .m .sm{font-size:15px;line-height:1.4;opacity:.78;margin-top:9px}

/* ============================================================
   COURSES
   ============================================================ */
.courses{padding-top:clamp(64px,9vw,108px);padding-bottom:clamp(48px,6vw,72px)}
.courses-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:42px;flex-wrap:wrap}
.courses-head h2{font-family:var(--display);font-weight:700;font-size:clamp(28px,3.8vw,46px);letter-spacing:-.035em;margin:0;line-height:1.02}
.courses-head p{font-size:17px;opacity:.78;margin:14px 0 0;max-width:48ch;line-height:1.5}
.cgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.ccard{border:1px solid var(--line);background:#fff;display:flex;flex-direction:column;transition:transform .18s,box-shadow .18s}
.ccard:hover{transform:translateY(-4px);box-shadow:0 16px 38px rgba(14,42,36,.12)}
.ccard .cthumb{aspect-ratio:16/10;position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.ccard .cbody{padding:24px;display:flex;flex-direction:column;flex:1}
.ccard .cmeta{display:flex;gap:14px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;opacity:.6;margin-bottom:14px}
.ccard h3{font-family:var(--display);font-weight:700;font-size:21px;letter-spacing:-.02em;margin:0;line-height:1.1}
.ccard .cdesc{font-size:16px;line-height:1.5;opacity:.78;margin:10px 0 0}
.ccard .cfoot{display:flex;justify-content:space-between;align-items:center;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.ccard .cprice{font-family:var(--display);font-weight:700;font-size:22px;letter-spacing:-.02em}
.ccard .cbtn{font-weight:600;font-size:15.5px;color:var(--forest);display:inline-flex;gap:8px;align-items:center}
.ccard .cbtn .ar{font-family:var(--mono);transition:transform .18s}
.ccard:hover .cbtn .ar{transform:translateX(4px)}

/* striped image placeholder */
.ph{background:
   repeating-linear-gradient(135deg,var(--bone-soft) 0 11px,var(--bone) 11px 22px);
   display:flex;align-items:center;justify-content:center;color:var(--sage)}
.ph .ph-tag{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;background:var(--forest);color:var(--bone);padding:6px 11px;opacity:.92}
.ph.dark{background:repeating-linear-gradient(135deg,rgba(242,238,229,.06) 0 11px,rgba(242,238,229,.02) 11px 22px)}

/* ============================================================
   TESTIMONIALS
   ============================================================ */
.testi{padding-top:clamp(48px,6vw,72px);padding-bottom:clamp(64px,9vw,108px)}
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.tgrid.t2{grid-template-columns:1fr 1fr}
.tcard{border:1px solid var(--line);background:var(--bone-soft);padding:32px;display:flex;flex-direction:column}
.tcard .quote{font-family:var(--display);font-weight:600;font-size:21px;letter-spacing:-.02em;line-height:1.32;margin:0 0 26px;text-wrap:pretty}
.tcard .who{display:flex;align-items:center;gap:14px;margin-top:auto}
.tcard .ava{width:46px;height:46px;flex:none;border-radius:50%;overflow:hidden;background:var(--sage);position:relative}
.tcard .who .n{font-weight:600;font-size:16px}
.tcard .who .r{font-size:14.5px;opacity:.7;margin-top:2px}
.pending{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--signal);border:1px dashed var(--signal);padding:3px 8px;display:inline-block;margin-bottom:18px;opacity:.85}

/* ============================================================
   FINAL CTA
   ============================================================ */
.finalcta{background:var(--lime);color:var(--forest)}
.finalcta-inner{padding-top:clamp(64px,9vw,112px);padding-bottom:clamp(64px,9vw,112px);text-align:center;display:flex;flex-direction:column;align-items:center}
.finalcta h2{font-family:var(--display);font-weight:700;font-size:clamp(36px,6vw,76px);letter-spacing:-.04em;line-height:.98;margin:0;text-wrap:balance}
.finalcta p{font-size:clamp(17px,2vw,21px);line-height:1.5;margin:22px 0 0;max-width:54ch;opacity:.82}
.finalcta .btn-forest{margin-top:38px;padding:18px 32px;font-size:16px}
.finalcta .micro{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin-top:20px;opacity:.6}

/* ============================================================
   FOOTER
   ============================================================ */
.footer{background:var(--forest-deep);color:var(--bone)}
.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;padding-top:clamp(56px,7vw,84px);padding-bottom:clamp(40px,5vw,60px)}
.footer-brand .nav-logo{font-size:23px;margin-bottom:20px}
.footer-brand p{font-size:16px;line-height:1.6;opacity:.72;max-width:34ch;margin:0 0 20px}
.footer-brand .addr{font-family:var(--mono);font-size:11px;letter-spacing:.14em;line-height:1.9;opacity:.6;text-transform:uppercase}
.fcol h4{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--lime);margin:6px 0 20px;font-weight:500}
.fcol ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:13px}
.fcol a{font-size:15.5px;opacity:.78;transition:opacity .15s}
.fcol a:hover{opacity:1}
.footer-bot{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding-top:26px;padding-bottom:34px;border-top:1px solid var(--line-dark)}
.footer-bot .socials{display:flex;gap:10px}
.footer-bot .socials a{width:36px;height:36px;border:1px solid var(--line-dark);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:11px;letter-spacing:.05em;transition:.15s}
.footer-bot .socials a:hover{background:var(--lime);color:var(--forest);border-color:var(--lime)}
.footer-bot .legal{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;opacity:.55;display:flex;gap:18px;flex-wrap:wrap;align-items:center}
.footer-bot .legal a{opacity:1}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:1080px){
  .nav-links{display:none}
  .nav-burger{display:flex}
  .proof-row{grid-template-columns:repeat(3,1fr)}
  .proof-cell:nth-child(4){border-left:0}
  .proof-cell:nth-child(n+4){border-top:1px solid var(--line-dark)}
}
@media(max-width:860px){
  .jcards{grid-template-columns:1fr}
  .case-inner{grid-template-columns:1fr;gap:40px}
  .cgrid,.tgrid,.tgrid.t2{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr 1fr;gap:32px}
  .footer-brand{grid-column:1/-1}
}
@media(max-width:620px){
  .proof-row{grid-template-columns:1fr 1fr}
  .proof-cell:nth-child(3){border-left:0}
  .proof-cell:nth-child(n+3){border-top:1px solid var(--line-dark)}
  .pgrid{grid-template-columns:1fr}
  .case-metrics{grid-template-columns:1fr 1fr}
  .footer-top{grid-template-columns:1fr}
  .hero-cta .btn{flex:1;justify-content:center}
}

/* mobile menu */
.mobile-menu{position:fixed;inset:var(--nav-h) 0 0;z-index:99;background:var(--forest-deep);color:var(--bone);
  display:flex;flex-direction:column;padding:32px var(--pad);gap:4px;transform:translateY(-12px);opacity:0;pointer-events:none;transition:.22s}
.mobile-menu.open{transform:none;opacity:1;pointer-events:auto}
.mobile-menu a{font-family:var(--display);font-weight:700;font-size:30px;letter-spacing:-.03em;padding:14px 0;border-bottom:1px solid var(--line-dark)}
.mobile-menu .btn{margin-top:24px;justify-content:center}
body.menu-open{overflow:hidden}

/* ============================================================
   MULTI-PÁGINA — componentes adicionales
   ============================================================ */
/* ---- Page hero (variant claro + oscuro) ---- */
.phero{position:relative;overflow:hidden;padding-top:calc(var(--nav-h) + clamp(44px,6vw,72px));padding-bottom:clamp(40px,6vw,72px)}
.phero.dark{background:var(--forest-deep);color:var(--bone)}
.phero .crumb{display:inline-flex;gap:10px;align-items:center;margin-bottom:22px;color:var(--sage)}
.phero.dark .crumb{color:var(--lime)}
.phero .crumb::before{content:"";width:24px;height:1px;background:currentColor}
.phero h1{font-family:var(--display);font-weight:700;font-size:clamp(38px,6vw,78px);line-height:.98;letter-spacing:-.04em;margin:0;max-width:18ch;text-wrap:balance}
.phero h1 em{font-style:normal;color:var(--sage)}
.phero.dark h1 em{color:var(--lime)}
.phero .psub{font-size:clamp(17px,1.9vw,21px);line-height:1.55;max-width:60ch;opacity:.85;margin:26px 0 0}
.phero .pcta{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}
.phero-orb{position:absolute;top:-16%;right:-10%;width:min(38vw,440px);height:min(38vw,440px);color:rgba(242,238,229,.13);pointer-events:none;opacity:.55}

/* ---- Priority service list (emprendedores) ---- */
.svc{border-top:1px solid var(--line)}
.svc-row{display:grid;grid-template-columns:80px 1.1fr 1.4fr;gap:clamp(20px,4vw,56px);padding:clamp(30px,4vw,52px) 0;border-bottom:1px solid var(--line);align-items:start;scroll-margin-top:90px}
.svc-row .rank{font-family:var(--display);font-weight:700;font-size:clamp(34px,4vw,54px);letter-spacing:-.04em;color:var(--sage);line-height:.9}
.svc-row .rank .pri{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.24em;color:var(--muted);margin-top:10px;font-weight:500}
.svc-row h3{font-family:var(--display);font-weight:700;font-size:clamp(24px,2.8vw,34px);letter-spacing:-.03em;margin:0;line-height:1.04}
.svc-row .tagline{font-size:18px;line-height:1.5;opacity:.78;margin:12px 0 0;max-width:34ch}
.svc-row .price-tag{display:inline-block;font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--forest);background:var(--lime);padding:6px 12px;margin-top:18px}
.svc-row ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.svc-row ul li{display:flex;gap:13px;font-size:17px;line-height:1.45;align-items:flex-start}
.svc-row ul li::before{content:"";flex:none;width:7px;height:7px;background:var(--lime);margin-top:6px;transform:rotate(45deg)}
.svc-row .svc-link{margin-top:22px;display:inline-flex;gap:9px;align-items:center;font-weight:600;font-size:16px;color:var(--sage)}
.svc-row .svc-link .ar{font-family:var(--mono)}

/* ---- Logo wall (marcas) ---- */
.marcas{background:var(--bone-soft)}
.marcas-inner{padding-top:clamp(48px,6vw,76px);padding-bottom:clamp(48px,6vw,76px)}
.marcas h2{font-family:var(--display);font-weight:700;font-size:clamp(24px,3vw,36px);letter-spacing:-.03em;margin:0;line-height:1.05;max-width:22ch}
.marcas .msub{font-size:17px;opacity:.75;margin:14px 0 0;max-width:52ch;line-height:1.5}
.logo-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:40px}
.logo-grid .lcell{background:var(--bone);aspect-ratio:1;display:flex;align-items:center;justify-content:center;padding:18px;transition:background .15s}
.logo-grid .lcell:hover{background:#fff}
.logo-grid .lcell img{max-width:100%;max-height:100%;object-fit:contain;mix-blend-mode:multiply;filter:saturate(1)}

/* ---- Rubros (por industria) ---- */
.rubros{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.rcard{border:1px solid var(--line);background:#fff;padding:clamp(24px,2.6vw,34px);display:flex;flex-direction:column}
.rcard .rnum{font-family:var(--mono);font-size:11px;letter-spacing:.24em;color:var(--muted);margin-bottom:18px}
.rcard h3{font-family:var(--display);font-weight:700;font-size:23px;letter-spacing:-.02em;margin:0 0 18px;line-height:1.08}
.rcard ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
.rcard li{display:flex;gap:11px;font-size:16px;line-height:1.45;opacity:.85;align-items:flex-start}
.rcard li::before{content:"·";color:var(--sage);font-weight:700}
.rubros-note{font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--muted);text-transform:uppercase;margin-top:26px;text-align:center}

/* ---- Pricing card ---- */
.pricing{display:grid;grid-template-columns:1.3fr 1fr;gap:22px;align-items:stretch}
.pricecard{background:var(--forest);color:var(--bone);padding:clamp(30px,4vw,48px);display:flex;flex-direction:column;justify-content:center}
.pricecard .pk{color:var(--lime);margin-bottom:18px}
.pricecard .amount{font-family:var(--display);font-weight:700;font-size:clamp(48px,7vw,84px);letter-spacing:-.04em;line-height:.9}
.pricecard .amount span{font-size:.32em;opacity:.7;letter-spacing:0;font-weight:500}
.pricecard .pterms{font-size:15px;opacity:.8;margin:16px 0 0;line-height:1.5}
.pricecard .btn{margin-top:30px;align-self:flex-start}
.pricefeat{border:1px solid var(--line);background:var(--bone);padding:clamp(28px,3vw,40px);display:flex;flex-direction:column;justify-content:center}
.pricefeat h4{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--sage);margin:0 0 20px;font-weight:500}
.pricefeat ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.pricefeat li{display:flex;gap:12px;font-size:17px;line-height:1.4;align-items:flex-start}
.pricefeat li::before{content:"✓";color:var(--sage);font-weight:700}

/* ---- Generic 3/4-up feature grid (orgs) ---- */
.feat-grid{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
.feat-grid.c2{grid-template-columns:1fr 1fr}
.feat-grid.c3{grid-template-columns:repeat(3,1fr)}
.feat-grid.c4{grid-template-columns:repeat(4,1fr)}
.fcell{background:var(--bone);padding:clamp(24px,2.6vw,32px);display:flex;flex-direction:column;min-height:200px}
.fcell.dark{background:var(--forest);color:var(--bone)}
.fcell .fnum{font-family:var(--mono);font-size:11px;letter-spacing:.24em;color:var(--muted);margin-bottom:auto}
.fcell.dark .fnum{color:var(--lime);opacity:.9}
.fcell h3{font-family:var(--display);font-weight:700;font-size:clamp(22px,2.4vw,27px);letter-spacing:-.02em;margin:24px 0 0;line-height:1.1}
.fcell p{font-size:16px;line-height:1.5;opacity:.78;margin:10px 0 0}

/* ---- Steps (proceso) ---- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;counter-reset:st}
.step{border-top:2px solid var(--forest);padding-top:20px}
.step .sn{font-family:var(--mono);font-size:11px;letter-spacing:.24em;color:var(--sage);margin-bottom:14px}
.step h4{font-family:var(--display);font-weight:700;font-size:21px;letter-spacing:-.02em;margin:0 0 8px;line-height:1.12}
.step p{font-size:16px;line-height:1.5;opacity:.78;margin:0}

/* ---- Case: capital table ---- */
.captable{border:1px solid var(--line-dark);background:var(--forest)}
.caprow{display:grid;grid-template-columns:1.6fr 1fr 1.4fr;gap:24px;padding:20px clamp(20px,3vw,32px);border-bottom:1px solid var(--line-dark);align-items:baseline}
.caprow:last-child{border-bottom:0}
.caprow.tot{background:var(--forest-deep)}
.caprow .cl{font-weight:600;font-size:17px}
.caprow .cv{font-family:var(--display);font-weight:700;font-size:clamp(20px,2.4vw,28px);letter-spacing:-.02em;color:var(--lime)}
.caprow .cd{font-size:15px;opacity:.72;line-height:1.4}
.caprow.tot .cl,.caprow.tot .cv{font-size:clamp(22px,2.6vw,32px);font-family:var(--display);font-weight:700;letter-spacing:-.02em}

/* ---- Contact ---- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,56px);align-items:start}
.calltypes{display:flex;flex-direction:column;gap:14px;margin-top:8px}
.calltype{border:1px solid var(--line);background:#fff;padding:22px 24px;display:flex;justify-content:space-between;align-items:center;gap:18px;transition:.15s;cursor:pointer}
.calltype:hover{border-color:var(--forest);transform:translateY(-2px)}
.calltype .ct-l h4{font-family:var(--display);font-weight:700;font-size:18px;letter-spacing:-.02em;margin:0 0 5px}
.calltype .ct-l p{font-size:15.5px;opacity:.72;margin:0}
.calltype .ct-time{font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--sage);white-space:nowrap}
.cform{display:flex;flex-direction:column;gap:16px}
.cform label{display:flex;flex-direction:column;gap:7px;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;opacity:.75}
.cform input,.cform textarea,.cform select{font-family:var(--body);font-size:16px;padding:13px 14px;border:1px solid var(--line);background:#fff;color:var(--forest);border-radius:0}
.cform input:focus,.cform textarea:focus,.cform select:focus{outline:2px solid var(--sage);outline-offset:-1px}
.cform .seg{display:flex;gap:0;border:1px solid var(--line)}
.cform .seg button{flex:1;font-family:var(--body);font-size:14px;font-weight:500;padding:12px;background:#fff;border:0;border-right:1px solid var(--line);cursor:pointer}
.cform .seg button:last-child{border-right:0}
.cform .seg button.on{background:var(--forest);color:var(--bone)}
.cform .btn{margin-top:6px;justify-content:center}
.contact-info{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:36px}
.contact-info .ci h5{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--sage);margin:0 0 8px}
.contact-info .ci p{font-size:16px;line-height:1.6;margin:0;opacity:.85}
.map-embed{width:100%;aspect-ratio:16/10;border:1px solid var(--line);margin-top:34px;filter:grayscale(.3)}
.map-embed iframe{width:100%;height:100%;border:0;display:block}

/* ---- Google Reviews widget ---- */
.greview{background:var(--bone-soft)}
.greview-inner{padding-top:clamp(48px,6vw,76px);padding-bottom:clamp(48px,6vw,76px)}
.greview-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:40px;flex-wrap:wrap}
.greview-badge{display:flex;align-items:center;gap:18px}
.greview-badge .glogo{width:42px;height:42px;flex:none}
.greview-badge .grating .gscore{font-family:var(--display);font-weight:700;font-size:38px;letter-spacing:-.04em;line-height:1;color:var(--forest)}
.greview-badge .grating .gstars{color:#FBBC04;font-size:20px;letter-spacing:1px;margin-top:3px}
.greview-badge .grating .gcount{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;opacity:.6;margin-top:5px}
.greview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.grev-card{background:#fff;border:1px solid var(--line);padding:28px;display:flex;flex-direction:column;gap:18px}
.grev-top{display:flex;align-items:center;gap:13px}
.grev-ava{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:700;font-size:17px;color:#fff;flex:none}
.grev-info .grev-name{font-weight:600;font-size:16px;line-height:1.2;color:var(--forest)}
.grev-info .grev-time{font-size:13.5px;opacity:.6;margin-top:2px}
.grev-stars{color:#FBBC04;font-size:17px;letter-spacing:1px}
.grev-text{font-size:16px;line-height:1.55;opacity:.85;color:var(--forest)}
.greview-cta{text-align:center;margin-top:32px}
@media(max-width:860px){.greview-grid{grid-template-columns:1fr}}

/* ---- Quote / pull ---- */
.pull{padding-top:clamp(48px,6vw,80px);padding-bottom:clamp(48px,6vw,80px)}
.pull blockquote{font-family:var(--display);font-weight:600;font-size:clamp(24px,3.4vw,40px);letter-spacing:-.025em;line-height:1.2;margin:0;max-width:24ch;text-wrap:balance}
.pull .pq-meta{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--sage);margin-top:24px}

@media(max-width:980px){
  .svc-row{grid-template-columns:60px 1fr;grid-template-areas:'rank head' 'rank body';row-gap:18px}
  .svc-row .rank{grid-area:rank}.svc-row .svc-head{grid-area:head}.svc-row .svc-body{grid-area:body}
  .rubros{grid-template-columns:1fr}
  .pricing{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr 1fr}
  .feat-grid.c4{grid-template-columns:1fr 1fr}
  .feat-grid.c3{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .logo-grid{grid-template-columns:repeat(4,1fr)}
  .caprow{grid-template-columns:1fr auto;gap:6px 18px}
  .caprow .cd{grid-column:1/-1}
}
@media(max-width:560px){
  .logo-grid{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:1fr}
  .feat-grid.c4,.feat-grid.c2{grid-template-columns:1fr}
  .contact-info{grid-template-columns:1fr}
}
