/* Idea: la tubería del logo recorre la página. Titulares condensados como el logotipo, texto en Poppins,
   azul marino para los momentos de decisión y verde para la acción. */
:root{
  --bg:#ffffff; --surface:#eef5f3; --text:#0b2233; --muted:#4a5f6d;
  --navy:#052b45; --navy-2:#0b3a59; --green:#137063; --green-ink:#0f5c51; --line:#d3e2de;
  --on-navy:#ffffff; --on-navy-muted:#c4d7e0; --mint:#7fd6c8; --shadow:rgba(5,43,69,.14);
  --display:'Barlow Condensed','Arial Narrow','Roboto Condensed',Impact,sans-serif;
  --body:'Poppins',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#071a28; --surface:#0c2434; --text:#e8f1f0; --muted:#a3b8c2;
    --navy:#0a3552; --navy-2:#114463; --green:#1f8a7b; --green-ink:#5cc9b9; --line:#1c3a4c; --shadow:rgba(0,0,0,.4);
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#071a28; --surface:#0c2434; --text:#e8f1f0; --muted:#a3b8c2;
  --navy:#0a3552; --navy-2:#114463; --green:#1f8a7b; --green-ink:#5cc9b9; --line:#1c3a4c; --shadow:rgba(0,0,0,.4);
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);line-height:1.6;font-size:16px;-webkit-text-size-adjust:100%}
h1,h2,h3,h4{margin:0;text-wrap:balance}
h1,h2,.num{font-family:var(--display);font-weight:600;line-height:1.02;letter-spacing:.005em}
h3{font-size:1.1rem;font-weight:600;line-height:1.25}
a{color:inherit}
img{max-width:100%}
.wrap{max-width:1080px;margin:0 auto;padding:0 22px}
section{padding:80px 0}
section.alt{background:var(--surface)}
h2{font-size:clamp(2.1rem,6vw,3.2rem);margin-bottom:14px;max-width:18ch}
.eyebrow{display:block;font-size:.76rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--green-ink);margin-bottom:12px}
.lead{color:var(--muted);max-width:60ch;margin:0 0 38px;font-size:1.02rem}
.btn{display:inline-block;background:var(--green);color:#fff;text-decoration:none;font-weight:600;padding:14px 24px;border-radius:999px;border:2px solid var(--green);text-align:center;line-height:1.3}
.btn.ghost{background:transparent;color:var(--on-navy);border-color:rgba(255,255,255,.5)}
.btn.light{background:#fff;border-color:#fff;color:#052b45}
:focus-visible{outline:3px solid var(--green-ink);outline-offset:3px}
.hero :focus-visible,.cta :focus-visible,.formacion :focus-visible,.modecta :focus-visible{outline-color:var(--mint)}
@media(max-width:720px){section{padding:60px 0}.lead{margin-bottom:28px}}

/* nav */
header{position:sticky;top:0;z-index:20;background:var(--bg);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:64px;gap:12px}
.logo{display:block;text-decoration:none;line-height:0;flex:none}
.logo img{height:46px;width:auto;background:#fff;border-radius:6px;padding:2px 6px}
.nav nav{display:flex;align-items:center;gap:22px}
.nav a.link{text-decoration:none;font-size:.9rem;color:var(--muted);font-weight:500}
.nav a.link:hover{color:var(--text)}
.nav .btn{padding:9px 18px;font-size:.9rem}
.burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;background:transparent;border:1px solid var(--line);border-radius:10px;cursor:pointer;padding:0 11px}
.burger span{display:block;height:2px;background:var(--text);border-radius:2px;transition:transform .25s ease,opacity .2s ease}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobmenu{display:none;border-top:1px solid var(--line);background:var(--bg)}
.mobmenu.open{display:block}
.mobmenu a{display:block;padding:14px 22px;text-decoration:none;font-weight:500;border-bottom:1px solid var(--line)}
.mobmenu a:last-child{border-bottom:0}
@keyframes mm{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference){.mobmenu.open{animation:mm .25s ease}}
@media(max-width:940px){.nav a.link{display:none}.nav nav{gap:8px}.hasjs .burger{display:flex}}
@media(max-width:380px){.nav .btn{padding:8px 12px;font-size:.8rem}.logo img{height:40px}}
@media(min-width:941px){.mobmenu,.mobmenu.open{display:none}}

/* hero */
.hero{background:var(--navy);color:var(--on-navy);padding:76px 0 84px;position:relative;overflow:hidden}
.pipe{position:absolute;right:-40px;top:0;height:100%;width:min(62%,760px);pointer-events:none}
.pipe path{fill:none;stroke:var(--green);stroke-width:30;stroke-linecap:round;stroke-linejoin:round;opacity:.55}
.hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center}
.hero .eyebrow{color:var(--mint)}
.hero h1{font-size:clamp(2.7rem,9.4vw,4.9rem);max-width:13ch}
.hero h1 em{font-style:normal;color:var(--mint)}
.hero .sub{color:var(--on-navy-muted);max-width:50ch;margin:22px 0 30px;font-size:1.06rem}
.actions{display:flex;gap:12px;flex-wrap:wrap}
.hero .note{margin:16px 0 0;font-size:.85rem;color:var(--on-navy-muted);max-width:52ch}
.dgcard{background:var(--navy-2);border:1px solid rgba(127,214,200,.3);border-radius:22px;padding:28px;box-shadow:0 24px 50px rgba(0,0,0,.28)}
.dgcard h2{font-size:clamp(1.7rem,4.6vw,2.1rem);max-width:none;margin-bottom:10px;color:#fff}
.dgcard p{margin:0;color:var(--on-navy-muted);font-size:.95rem}
.dgflow{list-style:none;margin:20px 0 22px;padding:0;display:grid;gap:0}
.dgflow li{position:relative;padding:0 0 16px 34px;font-size:.92rem;color:#fff}
.dgflow li::before{content:"";position:absolute;left:4px;top:3px;width:16px;height:16px;border-radius:50%;border:3px solid var(--mint);background:var(--navy-2)}
.dgflow li::after{content:"";position:absolute;left:10.5px;top:19px;bottom:-3px;width:3px;background:rgba(127,214,200,.45);border-radius:2px}
.dgflow li:last-child{padding-bottom:0}
.dgflow li:last-child::before{background:var(--mint)}
.dgflow li:last-child::after{display:none}
.dgflow span{display:block;color:var(--on-navy-muted);font-size:.84rem}
.dgcard .btn{width:100%}
@media(max-width:900px){.hero{padding:52px 0 60px}.hero .wrap{grid-template-columns:1fr;gap:36px}.pipe{width:120%;right:-45%;opacity:.5}}
@media(max-width:480px){.actions .btn{width:100%}}

/* cifras */
.proof{padding:54px 0 46px;border-bottom:1px solid var(--line)}
.proof h2{font-family:var(--body);font-size:1.05rem;font-weight:600;line-height:1.3;max-width:none;margin:0 0 4px}
.proof .ps{margin:0 0 26px;color:var(--muted);max-width:66ch;font-size:.95rem}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin:0;padding:0;list-style:none}
.stat{border-top:4px solid var(--green);padding-top:14px}
.stat strong{display:block;font-family:var(--display);font-weight:700;font-size:clamp(2.6rem,9vw,3.8rem);line-height:1;color:var(--text);font-variant-numeric:tabular-nums}
.stat span{font-size:.88rem;color:var(--muted);display:block;max-width:22ch;margin-top:6px}
.proof .foot{margin:24px 0 0;font-size:.78rem;color:var(--muted);max-width:76ch}
@media(max-width:720px){.stats{grid-template-columns:1fr 1fr;gap:22px 18px}}

/* retos */
.pains{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:900px){.pains{grid-template-columns:repeat(2,1fr)}}
.pain{border:1px solid var(--line);background:var(--bg);padding:22px;border-radius:16px}
.pain svg{width:32px;height:32px;stroke:var(--green-ink);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;margin-bottom:12px}
.pain h3{font-size:1.02rem;margin-bottom:6px}
.pain p{margin:0;color:var(--muted);font-size:.93rem}
.after{margin:44px 0 0;font-family:var(--display);font-weight:600;font-size:clamp(1.7rem,5vw,2.4rem);line-height:1.08;max-width:24ch;padding-left:18px;border-left:6px solid var(--green)}
.afterp{color:var(--muted);max-width:60ch;margin:14px 0 0 24px}

/* servicios */
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
@media(max-width:720px){.grid{grid-template-columns:1fr}}
.card{border:1px solid var(--line);padding:26px;background:var(--bg);border-radius:16px;position:relative}
.card .n{font-family:var(--display);font-weight:700;font-size:2.6rem;line-height:1;color:var(--green);display:block;margin-bottom:10px;font-variant-numeric:tabular-nums}
.card h3{font-size:1.2rem;margin-bottom:6px}
.card p{margin:0 0 14px;color:var(--muted);font-size:.95rem}
.card ul,.mode ul,.credgrid ul{margin:0;padding:0;list-style:none;font-size:.93rem}
.card li{margin:7px 0;padding-left:22px;position:relative}
.card li::before{content:"";position:absolute;left:0;top:.62em;width:12px;height:3px;border-radius:2px;background:var(--green)}
.formacion{margin-top:16px;background:var(--navy);color:var(--on-navy);padding:32px;border-radius:22px}
.formacion .eyebrow{color:var(--mint)}
.formacion h3{font-family:var(--display);font-size:clamp(1.8rem,5vw,2.3rem);font-weight:600;line-height:1.05;margin-bottom:10px}
.formacion p{margin:0;color:var(--on-navy-muted);font-size:.95rem;max-width:68ch}
.f-items{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:26px 0}
.f-item svg{width:30px;height:30px;stroke:var(--mint);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;margin-bottom:8px}
.f-item strong{display:block;color:#fff;font-size:.98rem;font-weight:600}
.f-item span{display:block;color:var(--on-navy-muted);font-size:.88rem}
.formacion h4{margin:0 0 10px;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mint);font-weight:600}
.f-areas{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.f-areas li{border:1px solid rgba(255,255,255,.24);border-radius:999px;padding:6px 14px;font-size:.86rem;color:#fff}
@media(max-width:900px){.f-items{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.formacion{padding:26px 22px}}
@media(max-width:420px){.f-items{grid-template-columns:1fr}}

/* método */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;padding-top:34px}
.steps::before{content:"";position:absolute;left:0;right:0;top:8px;height:8px;border-radius:8px;background:var(--green)}
.step{padding:0 22px 0 0;position:relative}
.step::before{content:"";position:absolute;left:0;top:-36px;width:28px;height:28px;border-radius:50%;background:var(--bg);border:6px solid var(--green)}
.alt .step::before{background:var(--surface)}
.step .k{display:block;font-weight:600;font-size:.78rem;letter-spacing:.12em;color:var(--green-ink);margin:10px 0 8px}
.step h3{font-size:1.08rem}
.step p{margin:6px 0 0;color:var(--muted);font-size:.93rem}
@media(max-width:960px) and (min-width:721px){.steps{grid-template-columns:1fr 1fr;row-gap:56px}.steps::before{display:none}.step::before{top:-30px}}

/* casos */
.cases{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:960px){.cases{grid-template-columns:1fr}}
.case{border:1px solid var(--line);padding:26px;background:var(--bg);border-radius:16px;display:flex;flex-direction:column}
.case .k{display:block;font-weight:600;font-size:.74rem;letter-spacing:.1em;color:var(--green-ink);margin-bottom:8px}
.case .sector{font-size:.82rem;color:var(--muted);margin:0 0 10px}
.case h3{font-size:1.12rem;margin-bottom:4px}
.case h4{margin:16px 0 4px;font-size:.74rem;letter-spacing:.1em;color:var(--muted);font-weight:600}
.case p{margin:0;font-size:.93rem}
.case .out{margin-top:auto;padding-top:18px}
.case .out div{border-top:1px solid var(--line);padding-top:14px}
.case .big{font-family:var(--display);font-weight:700;font-size:3.2rem;line-height:1;color:var(--green-ink);display:block}
.case .out p{color:var(--muted);font-size:.88rem;margin-top:4px}
.casenote{margin:24px 0 0;font-size:.8rem;color:var(--muted);max-width:80ch}
.dots{display:none}

/* fundador */
.about{display:grid;grid-template-columns:220px 1fr;gap:40px;align-items:start;margin-top:30px}
.avatar{width:220px;height:220px;object-fit:cover;display:block;border-radius:22px;background:var(--bg)}
.about p{margin:0 0 14px;max-width:62ch}
.about h3.name{font-family:var(--display);font-size:2rem;font-weight:600;line-height:1.05;margin-bottom:6px}
.role{color:var(--green-ink);font-weight:600}
.li{display:inline-flex;align-items:center;gap:10px;margin-top:6px;font-weight:600;text-decoration:none;color:var(--green-ink);border-bottom:2px solid currentColor;padding-bottom:2px}
.li svg{width:22px;height:22px;flex:none}
@media(max-width:720px){.about{grid-template-columns:1fr;gap:22px}.avatar{width:150px;height:150px}}
.creds{margin-top:56px}
.creds h3{font-family:var(--display);font-size:1.8rem;font-weight:600;line-height:1.05}
.creds .lead{margin:6px 0 0}
.credgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px}
.credgrid>div{border:1px solid var(--line);background:var(--bg);padding:22px;border-radius:16px}
.credgrid h4{margin:0 0 10px;font-size:1rem;font-weight:600}
.credgrid ul{font-size:.92rem}
.credgrid li{margin:8px 0;padding-left:16px;position:relative}
.credgrid li::before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--green)}
@media(max-width:900px){.credgrid{grid-template-columns:1fr}}

/* modalidades */
.modes{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.mode{border:1px solid var(--line);background:var(--surface);padding:28px;border-radius:16px}
.mode h3{font-size:1.25rem;margin-bottom:6px}
.mode>p{margin:0 0 14px;color:var(--muted);font-size:.95rem}
.mode .opt{border-top:1px solid var(--line);padding:12px 0}
.mode .opt:last-child{padding-bottom:0}
.mode .opt strong{display:block;font-size:.98rem;font-weight:600}
.mode .opt span{display:block;color:var(--muted);font-size:.92rem}
.modecta{margin-top:16px;background:var(--navy);color:var(--on-navy);padding:30px;display:flex;gap:24px;align-items:center;justify-content:space-between;flex-wrap:wrap;border-radius:22px}
.modecta h3{font-size:1.25rem;margin-bottom:6px}
.modecta p{margin:0;color:var(--on-navy-muted);max-width:56ch;font-size:.95rem}
@media(max-width:720px){.modes{grid-template-columns:1fr}.modecta .btn{width:100%}}

/* preguntas */
details{border-top:1px solid var(--line);max-width:780px}
details:last-of-type{border-bottom:1px solid var(--line)}
summary{cursor:pointer;font-weight:600;padding:18px 34px 18px 0;list-style:none;position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:"";position:absolute;right:6px;top:50%;width:9px;height:9px;margin-top:-7px;border-right:2px solid var(--green-ink);border-bottom:2px solid var(--green-ink);transform:rotate(45deg);transition:transform .25s ease}
details[open] summary::after{transform:rotate(-135deg);margin-top:-2px}
details p{margin:0 0 18px;color:var(--muted);max-width:64ch}

/* contacto */
.cta{background:var(--navy);color:var(--on-navy);position:relative;overflow:hidden}
.cta .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.cta .eyebrow{color:var(--mint)}
.cta h2{max-width:16ch}
.cta .lead{color:var(--on-navy-muted);margin-bottom:28px}
.contact{list-style:none;margin:0;padding:0;border-top:1px solid rgba(255,255,255,.2)}
.contact li{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.2);font-size:.95rem}
.contact span{color:var(--on-navy-muted);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;padding-top:3px}
.contact a{color:#fff;font-weight:500;overflow-wrap:anywhere}
@media(max-width:860px){.cta .wrap{grid-template-columns:1fr;gap:34px}}

footer{padding:24px 0 88px;font-size:.85rem;color:var(--muted)}
footer .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
footer img{height:34px;width:auto;vertical-align:middle;background:#fff;border-radius:4px;padding:1px 4px;margin-right:10px}
.wa{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:25;background:#16803f;color:#fff;text-decoration:none;font-weight:600;padding:12px 18px;border-radius:999px;box-shadow:0 4px 14px rgba(0,0,0,.25);font-size:.92rem;display:inline-flex;align-items:center;gap:8px}
.wa svg{width:18px;height:18px;fill:currentColor}

/* movimiento */
@media (prefers-reduced-motion:no-preference){
  @keyframes fu{from{opacity:.001;transform:translateY(14px)}to{opacity:1;transform:none}}
  @keyframes draw{from{stroke-dashoffset:2600}to{stroke-dashoffset:0}}
  .hero .txt>*{animation:fu .7s ease both}
  .hero .txt>*:nth-child(2){animation-delay:.08s}.hero .txt>*:nth-child(3){animation-delay:.16s}
  .hero .txt>*:nth-child(4){animation-delay:.24s}.hero .txt>*:nth-child(5){animation-delay:.3s}
  .pipe path{stroke-dasharray:2600;animation:draw 2.2s cubic-bezier(.6,.1,.2,1) both}
  .card,.pain,.case,.mode,.credgrid>div{transition:transform .25s ease,box-shadow .25s ease}
  .btn,.wa{transition:transform .2s ease,filter .2s ease}
  @media(hover:hover){
    .card:hover,.pain:hover,.case:hover,.mode:hover,.credgrid>div:hover{transform:translateY(-4px);box-shadow:0 12px 26px var(--shadow)}
    .btn:hover,.wa:hover{transform:translateY(-2px);filter:brightness(1.08)}
  }
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* teléfono: menos scroll, mismo contenido */
.tabs{display:none}
@media(max-width:720px){
  .hasjs .cases{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin:0 -22px;padding:6px 22px 14px;scroll-padding-left:22px;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:none}
  .hasjs .cases::-webkit-scrollbar{display:none}
  .hasjs .cases>*{flex:0 0 86%;scroll-snap-align:start}
  .hasjs .dots{display:flex;justify-content:center;gap:7px;margin-top:6px}
  .dots span{width:7px;height:7px;border-radius:7px;background:var(--line);transition:width .25s ease,background .25s ease}
  .dots span.on{width:20px;background:var(--green-ink)}
  .pains{grid-template-columns:1fr;gap:10px}
  .hasjs .pain{display:grid;grid-template-columns:30px 1fr 14px;align-items:center;column-gap:12px;padding:14px 16px;cursor:pointer}
  .hasjs .pain svg{width:28px;height:28px;margin:0}
  .hasjs .pain h3{margin:0;font-size:.98rem}
  .hasjs .pain::after{content:"";grid-column:3;grid-row:1;width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform .25s ease,margin .25s ease;justify-self:end;margin-top:-4px}
  .hasjs .pain.open::after{transform:rotate(-135deg);margin-top:4px}
  .hasjs .pain p{grid-column:1/-1;grid-row:2;max-height:0;opacity:0;overflow:hidden;transition:max-height .3s ease,opacity .3s ease,margin-top .3s ease}
  .hasjs .pain.open p{max-height:220px;opacity:1;margin-top:10px}
  .hasjs .tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 14px}
  .tabs button{font:inherit;font-size:.88rem;font-weight:600;padding:11px 10px;border:1px solid var(--line);border-radius:999px;background:var(--bg);color:var(--text);cursor:pointer;text-align:center}
  .tabs button.on{background:var(--green);border-color:var(--green);color:#fff}
  .hasjs #servicios .grid{display:block}
  .hasjs #servicios .grid .card{display:none}
  .hasjs #servicios .grid .card.active{display:block;animation:tabin .35s ease}
  @keyframes tabin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
  .steps{display:block;position:relative;margin:0;padding:0 0 0 34px}
  .steps::before{left:9px;right:auto;top:8px;bottom:14px;width:3px;height:auto;background:var(--line)}
  .steps::after{content:"";position:absolute;left:9px;top:8px;width:3px;height:var(--p,100%);max-height:calc(100% - 22px);background:var(--green);border-radius:3px;transition:height .2s linear}
  .steps>.step{padding:0 0 26px}
  .steps>.step:last-child{padding-bottom:0}
  .steps>.step::before{left:-33px;top:2px;width:18px;height:18px;border-width:3px;border-color:var(--green)}
  .hasjs .steps>.step::before{border-color:var(--line);transition:background .3s ease,border-color .3s ease}
  .hasjs .steps>.step.lit::before{background:var(--green);border-color:var(--green)}
  .step .k{margin-top:0}
  .credgrid{gap:10px;margin-top:14px}
  .hasjs .credgrid>div{padding:0}
  .hasjs .credgrid h4{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0;padding:16px 18px;cursor:pointer}
  .hasjs .credgrid h4::after{content:"";flex:none;width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform .25s ease}
  .hasjs .credgrid>div.open h4::after{transform:rotate(-135deg)}
  .hasjs .credgrid ul{max-height:0;overflow:hidden;opacity:0;padding:0 18px;transition:max-height .35s ease,opacity .3s ease,padding .3s ease}
  .hasjs .credgrid>div.open ul{max-height:600px;opacity:1;padding:0 18px 16px}
}

.avatar{border-radius:50%;background:#fff}
.sectors{margin-top:34px;border:1px solid var(--line);border-radius:22px;padding:28px;background:var(--bg)}
.sectors h3{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--green-ink);font-weight:600;margin-bottom:16px}
.sectors ul{display:grid;grid-template-columns:repeat(4,1fr);gap:22px 24px;margin:0;padding:0;list-style:none}
.sectors li{border-top:4px solid var(--green);padding-top:10px}
.sectors strong{display:block;font-family:var(--display);font-weight:700;font-size:clamp(1.9rem,6.4vw,2.6rem);line-height:1;color:var(--green-ink)}
.sectors span{display:block;color:var(--muted);font-size:.86rem;margin-top:6px}
.sectors small{display:block;margin-top:20px;color:var(--muted);font-size:.8rem}
.fmt{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:0;padding:0;list-style:none}
.fmt li{border:1px solid var(--line);border-radius:16px;background:var(--bg);padding:22px}
.fmt .k{display:block;font-family:var(--display);font-weight:700;font-size:2rem;line-height:1;color:var(--green);margin-bottom:10px}
.fmt strong{display:block;font-weight:600;font-size:1.02rem}
.fmt span{display:block;color:var(--muted);font-size:.92rem;margin-top:4px}
@media(max-width:900px){.sectors ul{grid-template-columns:repeat(2,1fr)}.fmt{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.sectors{padding:22px}}
@media(max-width:340px){.fmt{grid-template-columns:1fr}}
/* enlaces de servicio */
.more{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-weight:600;font-size:.93rem;color:var(--green-ink);text-decoration:none;border-bottom:2px solid currentColor;padding-bottom:1px}
.more::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-top:2px solid currentColor;transform:rotate(45deg)}
.formacion .more{color:var(--mint)}
.start{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.start a{display:block;text-decoration:none;border:1px solid var(--line);border-radius:16px;padding:24px;background:var(--bg)}
.start .tag{display:block;font-size:.74rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--green-ink);margin-bottom:8px}
.start h3{font-size:1.12rem;margin-bottom:6px}
.start p{margin:0;color:var(--muted);font-size:.93rem}
.start .go{display:inline-block;margin-top:14px;font-weight:600;font-size:.92rem;color:var(--green-ink);border-bottom:2px solid currentColor}
@media(max-width:860px){.start{grid-template-columns:1fr}}
/* subpáginas */
.hero.sub{padding:56px 0 64px}
.hero.sub .wrap{grid-template-columns:1fr}
.hero.sub h1{font-size:clamp(2.5rem,8.4vw,4.2rem);max-width:16ch}
.hero.sub .sub{max-width:58ch}
.crumbs{font-size:.84rem;color:var(--on-navy-muted);margin:0 0 18px}
.crumbs a{color:inherit}
.signs{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:0;padding:0;list-style:none}
.signs li{border:1px solid var(--line);border-radius:16px;background:var(--bg);padding:18px 18px 18px 52px;position:relative;font-size:.97rem}
.signs li::before{content:"";position:absolute;left:18px;top:21px;width:20px;height:20px;border-radius:50%;border:5px solid var(--green)}
.incl{display:grid;grid-template-columns:repeat(2,1fr);gap:0 40px;margin:0;padding:0;list-style:none;counter-reset:i}
.incl li{counter-increment:i;border-top:1px solid var(--line);padding:20px 0 20px 58px;position:relative}
.incl li::before{content:counter(i,decimal-leading-zero);position:absolute;left:0;top:16px;font-family:var(--display);font-weight:700;font-size:2rem;line-height:1;color:var(--green);font-variant-numeric:tabular-nums}
.incl strong{display:block;font-weight:600;font-size:1.02rem}
.incl span{display:block;color:var(--muted);font-size:.93rem;margin-top:2px}
.deliv{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.deliv li{border:1px solid var(--line);background:var(--bg);border-radius:999px;padding:9px 18px;font-size:.93rem;font-weight:500}
.fact{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center;border:1px solid var(--line);border-radius:22px;padding:28px;background:var(--bg)}
.fact .num{font-size:clamp(3rem,11vw,4.6rem);font-weight:700;color:var(--green-ink)}
.fact h3{margin-bottom:6px}
.fact p{margin:0;color:var(--muted);font-size:.95rem;max-width:60ch}
.fact small{display:block;margin-top:10px;color:var(--muted);font-size:.8rem}
.note-b{margin:26px 0 0;padding:14px 18px;border-left:6px solid var(--green);background:var(--surface);font-size:.95rem;max-width:70ch}
.alt .note-b{background:var(--bg)}
.others{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.others a{display:block;border:1px solid var(--line);border-radius:999px;padding:9px 18px;font-size:.92rem;font-weight:500;text-decoration:none;background:var(--bg)}
@media(max-width:720px){.signs,.incl{grid-template-columns:1fr}.fact{grid-template-columns:1fr;gap:8px;padding:22px}.hero.sub{padding:40px 0 48px}}
@media(prefers-reduced-motion:no-preference){@media(hover:hover){.start a,.others a{transition:transform .2s ease,border-color .2s ease}.start a:hover,.others a:hover{transform:translateY(-3px);border-color:var(--green)}}}
