/* ==========================================================================
   SÁM digital · páginas internas (se carga después de styles.css)
   Reutiliza los tokens y componentes del Home: hero fijo que la sección siguiente cubre, mega menú,
   tarjetas con luz que sigue al cursor, degradados blanco→naranja y oscuros con profundidad.
   ========================================================================== */

/* ───────── Hero de página ───────── */
.hero--page .hero__copy{max-width:min(42rem,48vw)}
.hero--page .hero__title{font-size:clamp(2.3rem,4.3vw,4.4rem)}
.hero--page .hero__lead{max-width:30em}
.hero--page + .sheet{border-radius:var(--r-sheet) var(--r-sheet) 0 0;box-shadow:0 -40px 90px -30px rgba(2,15,25,.55)}
.hero--compact{position:relative;height:auto;min-height:56svh;padding-bottom:clamp(64px,8svh,100px)}
.hero--compact .hero__scroll{display:none}
.hero--compact + .sheet{border-radius:0;box-shadow:none}
.hero--compact .hero__title{font-size:clamp(2.2rem,4.6vw,4.6rem)}

.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:clamp(14px,2.6svh,28px);font:700 .8rem/1.3 var(--f-display);letter-spacing:.04em}
.crumbs a{color:rgba(255,255,255,.72);transition:color .3s}
.crumbs a:hover{color:var(--orange)}
.crumbs i{font-style:normal;opacity:.4}
.crumbs span{color:#fff}

/* Visual derecho del hero (ilustración, íconos u fotos) */
.hero__visual{position:absolute;top:0;bottom:0;right:clamp(0px,2.5vw,48px);width:min(52vw,900px);z-index:-3;display:grid;place-items:center;pointer-events:none}
.hv__disc{position:absolute;width:76%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 40% 35%,rgba(37,168,179,.6),rgba(11,121,176,.3) 46%,transparent 70%)}
.hv__rings{position:absolute;width:106%;aspect-ratio:1;border-radius:50%;background:repeating-radial-gradient(circle,rgba(255,255,255,0) 0 30px,rgba(254,160,39,.24) 30px 32px);-webkit-mask-image:radial-gradient(circle,#000 32%,transparent 70%);mask-image:radial-gradient(circle,#000 32%,transparent 70%)}
.hv__img{position:relative;display:block;height:auto}
.hv__img--main{width:min(78%,640px);filter:drop-shadow(0 40px 50px rgba(2,15,25,.5))}
.hv__chip{position:absolute;left:4%;bottom:15%;display:flex;align-items:center;gap:12px;padding:10px 20px 10px 10px;border-radius:22px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 24px 60px -20px rgba(3,26,43,.6);animation:bob 6s ease-in-out infinite}
.hv__chip img{width:48px;height:auto;padding:6px;border-radius:14px;background:linear-gradient(150deg,#fff8ea,#ffd9a0)}
.hv__chip b{font:800 .92rem var(--f-display)}
@keyframes bob{50%{margin-top:-12px}}

/* Soluciones: íconos en órbita */
.hero__visual--orbit{--r:min(17.5vw,300px)}
.orb{position:absolute;left:calc(50% + var(--r) * cos(var(--a)));top:calc(50% + var(--r) * sin(var(--a)));width:clamp(60px,5.8vw,92px);aspect-ratio:1;margin:calc(clamp(60px,5.8vw,92px) / -2) 0 0 calc(clamp(60px,5.8vw,92px) / -2);border-radius:28%;display:grid;place-items:center;background:linear-gradient(150deg,#fff8ea,#ffd9a0);box-shadow:0 26px 50px -20px rgba(0,0,0,.6);animation:bob 7s ease-in-out infinite}
.orb img{width:66%;height:auto}
.orb--1{--a:-90deg}.orb--2{--a:-50deg;animation-delay:-1s}.orb--3{--a:-10deg;animation-delay:-2s}.orb--4{--a:30deg;animation-delay:-3s}.orb--5{--a:70deg;animation-delay:-4s}
.orb--6{--a:110deg;animation-delay:-5s}.orb--7{--a:150deg;animation-delay:-1.5s}.orb--8{--a:190deg;animation-delay:-2.5s}.orb--9{--a:230deg;animation-delay:-3.5s}

/* Fotos flotantes (Nosotros y Blog) */
.hp{position:absolute;margin:0;border-radius:24px;overflow:hidden;box-shadow:0 40px 80px -30px rgba(0,0,0,.65),0 0 0 1px rgba(255,255,255,.14)}
.hp img{width:100%;height:100%;object-fit:cover;display:block}
.hp--1{width:min(26vw,430px);aspect-ratio:4/3;left:4%;top:17%;rotate:-5deg}
.hp--2{width:min(16vw,260px);aspect-ratio:1;right:5%;top:11%;rotate:6deg}
.hp--3{width:min(21vw,340px);aspect-ratio:4/3;right:12%;bottom:11%;rotate:-3deg}
.hp--stat{left:20%;bottom:12%;width:min(11.5vw,190px);aspect-ratio:1;border-radius:28px;display:grid;place-content:center;text-align:center;color:var(--navy-900);background:linear-gradient(150deg,#ffc561,#fea027 46%,#e67a1f);rotate:4deg}
.hp--stat b{font:900 clamp(2.4rem,4vw,4rem)/1 var(--f-display);letter-spacing:-.04em}
.hp--stat span{font:800 .8rem/1.2 var(--f-display)}
.hero__visual--blog .hp--p1{width:min(26vw,430px);aspect-ratio:4/3;left:6%;top:15%;rotate:-5deg}
.hero__visual--blog .hp--p2{width:min(20vw,330px);aspect-ratio:4/3;right:6%;top:24%;rotate:5deg}
.hero__visual--blog .hp--p3{width:min(21vw,340px);aspect-ratio:4/3;left:24%;bottom:10%;rotate:-2deg}
.hp figcaption{position:absolute;left:12px;bottom:12px;padding:7px 14px;border-radius:12px;background:rgba(4,31,51,.7);backdrop-filter:blur(8px);font:800 .76rem var(--f-display)}

/* Contacto: tarjetas de vidrio */
.cc{position:absolute;display:flex;flex-direction:column;gap:2px;padding:16px 24px 16px 78px;border-radius:24px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 30px 70px -24px rgba(3,26,43,.7);animation:bob 7s ease-in-out infinite}
.cc b{font:800 1.05rem var(--f-display)}
.cc small{font-size:.82rem;color:rgba(255,255,255,.75)}
.cc__ico{position:absolute;left:16px;top:50%;margin-top:-23px;width:46px;height:46px;border-radius:16px;display:grid;place-items:center;background:var(--grad-wa);color:#fff}
.cc__ico--o{background:linear-gradient(135deg,#ffb94d,#e67a1f);color:var(--navy-900)}
.cc__ico--b{background:#fff;color:var(--blue)}
.cc--1{left:12%;top:24%}.cc--2{right:6%;top:44%;animation-delay:-2s}.cc--3{left:22%;bottom:16%;animation-delay:-4s}

/* Hero de artículo (foto de fondo) */
.hero--post{align-items:flex-end}
.hero__bg--photo{background:#031a2b}
.hero__bg--photo img{width:100%;height:100%;object-fit:cover;opacity:.5}
.hero__shade--post{background:linear-gradient(180deg,rgba(3,26,43,.7) 0%,rgba(3,26,43,.35) 35%,rgba(3,26,43,.85) 80%,var(--navy-900) 100%)!important}
.hero__copy--wide{max-width:min(60rem,86vw)}
.hero__title--post{font-size:clamp(2rem,3.9vw,3.9rem)!important;max-width:22em}
.post-meta{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:clamp(14px,2.4svh,26px)}
.post-meta time{font:700 .9rem var(--f-display);color:rgba(255,255,255,.8)}

/* ───────── Secciones ───────── */
.psec{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding-block:clamp(44px,7svh,110px)}
.psec-tall{min-height:0;padding-block:clamp(64px,10svh,140px)}
.s-why,.s-steps,.s-article,.s-legal{overflow:clip}   /* clip (no hidden): permite sticky respecto a la ventana */
.h2--lg{font-size:clamp(2rem,3.9vw,3.9rem)}
.lead-p{font-size:clamp(1.05rem,1.3vw,1.3rem);line-height:1.6;color:var(--muted)}
.section--dark .lead-p{color:rgba(255,255,255,.82)}
.checks{display:flex;flex-direction:column;gap:12px}
.checks li{display:flex;align-items:flex-start;gap:12px;font-weight:700;color:var(--ink)}
.checks svg{flex:none;width:28px;height:28px;padding:6px;border-radius:50%;background:var(--orange);color:var(--navy-900);margin-top:-1px}

/* Intro del servicio */
.s-intro__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,5vw,96px);align-items:center}
.s-intro__copy{display:flex;flex-direction:column;gap:clamp(14px,2.2svh,22px);align-items:flex-start}
.s-intro__copy p:not(.lead-p):not(.eyebrow){color:var(--muted);font-size:clamp(1rem,1.15vw,1.2rem)}
.stage{position:relative;aspect-ratio:1/.95;border-radius:clamp(26px,3.2vw,48px);display:grid;place-items:center;overflow:hidden;isolation:isolate;
  background:radial-gradient(70% 60% at 70% 20%,rgba(37,168,179,.45),transparent 70%),radial-gradient(60% 50% at 20% 100%,rgba(254,160,39,.3),transparent 70%),linear-gradient(155deg,#0a4467 0%,#06304c 50%,#031a2b 100%);
  box-shadow:0 50px 100px -40px rgba(6,48,76,.65)}
.stage__rings{position:absolute;right:-30%;bottom:-30%;width:100%;aspect-ratio:1;border-radius:50%;z-index:-1;background:repeating-radial-gradient(circle,rgba(255,255,255,0) 0 24px,rgba(254,160,39,.3) 24px 26px);-webkit-mask-image:radial-gradient(circle,#000 30%,transparent 70%);mask-image:radial-gradient(circle,#000 30%,transparent 70%)}
.stage img{width:86%;height:auto;filter:drop-shadow(0 30px 40px rgba(2,15,25,.5))}

/* ¿Por qué? */
.s-why__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,96px);align-items:start}
.s-why__head{position:sticky;top:clamp(90px,17svh,170px);display:flex;flex-direction:column;gap:clamp(16px,2.4svh,26px);align-items:flex-start}
.s-why__body{display:flex;flex-direction:column;gap:clamp(14px,2.2svh,22px)}
.why-list{display:flex;flex-direction:column;gap:clamp(10px,1.4svh,14px)}
.why-item{position:relative;display:flex;align-items:center;gap:clamp(14px,1.6vw,24px);padding:clamp(16px,2.2svh,24px) clamp(18px,2vw,28px);border-radius:22px;overflow:hidden;isolation:isolate;
  background:linear-gradient(160deg,rgba(255,255,255,.12),rgba(255,255,255,.03) 60%,rgba(3,26,43,.3));border:1px solid rgba(255,255,255,.14);font:800 clamp(1rem,1.3vw,1.25rem)/1.3 var(--f-display);transition:transform .5s var(--ease),border-color .3s}
.why-item:hover{transform:translateX(8px);border-color:rgba(254,160,39,.6)}
.why-item b{flex:none;font:900 clamp(1.8rem,2.6vw,2.6rem)/1 var(--f-display);color:transparent;-webkit-text-stroke:1.5px var(--orange)}
.callout{padding:clamp(16px,2.2svh,24px) clamp(18px,2vw,28px);border-left:4px solid var(--orange);border-radius:0 20px 20px 0;background:rgba(254,160,39,.12);font:800 clamp(1.05rem,1.4vw,1.35rem)/1.35 var(--f-display)}

/* Proceso: tarjetas que se apilan con sticky */
.s-steps__grid{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(28px,5vw,96px);align-items:start}
.s-steps__head{position:sticky;top:clamp(90px,17svh,170px);display:flex;flex-direction:column;gap:clamp(14px,2.2svh,22px);align-items:flex-start}
.s-steps__count{font:700 1rem var(--f-num);color:var(--muted)}
.s-steps__count b{font-size:clamp(2.4rem,3.4vw,3.6rem);line-height:1;color:var(--blue);font-weight:700}
.s-steps__bar{width:min(240px,100%);height:4px;border-radius:4px;background:rgba(6,48,76,.12);overflow:hidden}
.s-steps__bar i{display:block;height:100%;background:var(--grad-cta);transform:scaleX(.2);transform-origin:left;transition:transform .6s var(--ease)}
.s-steps__list{display:flex;flex-direction:column}
.step-card{position:sticky;top:calc(clamp(86px,14svh,140px) + var(--i) * 22px);min-height:clamp(240px,44svh,400px);margin-bottom:clamp(28px,7svh,80px);border-radius:clamp(24px,2.6vw,36px);padding:clamp(22px,3vw,46px);
  display:flex;gap:clamp(16px,2.4vw,40px);align-items:flex-start;overflow:hidden;isolation:isolate;transform-origin:50% 0;color:#fff;box-shadow:0 40px 80px -40px rgba(6,48,76,.6)}
.step-card--1{background:linear-gradient(150deg,#0a4467 0%,#06304c 55%,#031a2b 100%)}
.step-card--2{background:linear-gradient(150deg,#0b79b0 0%,#0a4467 100%)}
.step-card--3{background:linear-gradient(150deg,#ffc561 0%,#fea027 45%,#e67a1f 100%);color:var(--navy-900)}
.step-card--4{background:linear-gradient(150deg,#13919d 0%,#06304c 100%)}
.step-card--5{background:linear-gradient(150deg,#031a2b 0%,#0a4467 100%)}
.step-card__n{flex:none;font:900 clamp(3.4rem,7vw,7.2rem)/.85 var(--f-display);letter-spacing:-.05em;color:transparent;-webkit-text-stroke:2px currentColor;opacity:.9}
.step-card__txt{display:flex;flex-direction:column;gap:clamp(10px,1.6svh,18px);padding-top:clamp(4px,1svh,14px)}
.step-card h3{font:900 clamp(1.5rem,2.5vw,2.5rem)/1.06 var(--f-display);letter-spacing:-.03em}
.step-card p{font-size:clamp(1rem,1.2vw,1.2rem);line-height:1.55;opacity:.88;max-width:32em}
.step-card__rings{position:absolute;right:-18%;bottom:-40%;width:70%;aspect-ratio:1;border-radius:50%;z-index:-1;pointer-events:none;background:repeating-radial-gradient(circle,rgba(255,255,255,0) 0 22px,rgba(255,255,255,.22) 22px 24px)}

/* Beneficios */
.s-ben__head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:clamp(24px,5svh,56px)}
.s-ben__head .h2{max-width:14em}
.s-ben__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,1.2vw,18px)}
.ben{position:relative;min-height:clamp(240px,40svh,400px);padding:clamp(18px,1.8vw,28px);border-radius:28px;display:flex;flex-direction:column;justify-content:flex-end;gap:10px;overflow:hidden;isolation:isolate;
  background:linear-gradient(160deg,rgba(255,255,255,.13),rgba(255,255,255,.03) 60%,rgba(3,26,43,.3));border:1px solid rgba(255,255,255,.14);transition:transform .6s var(--ease),border-color .3s}
.ben:hover{transform:translateY(-8px);border-color:rgba(254,160,39,.6)}
.ben__n{position:absolute;top:18px;left:24px;font:900 clamp(2.8rem,4.4vw,4.8rem)/1 var(--f-display);letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.55)}
.ben h3{font:900 clamp(1.15rem,1.55vw,1.6rem)/1.12 var(--f-display);letter-spacing:-.02em}
.ben p{font-size:.98rem;line-height:1.5;opacity:.82}
.ben--1{background:linear-gradient(155deg,#ffc561,#fea027 46%,#e67a1f);color:var(--navy-900);border-color:transparent}
.ben--1 .ben__n{-webkit-text-stroke-color:rgba(6,48,76,.5)}
.ben--3{background:linear-gradient(155deg,#13919d,#0b79b0 55%,#06304c);border-color:transparent}

/* Tarjetas de soluciones */
.sgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.4vw,22px)}
.scard{position:relative;display:flex;flex-direction:column;gap:10px;padding:clamp(18px,2vw,30px);min-height:clamp(210px,30svh,330px);border-radius:28px;overflow:hidden;isolation:isolate;
  background:linear-gradient(160deg,#fff 0%,#fff3e1 100%);border:1px solid rgba(254,160,39,.3);box-shadow:0 30px 60px -38px rgba(230,122,31,.6);transition:transform .6s var(--ease),border-color .3s,box-shadow .4s}
.scard:hover{transform:translateY(-8px);border-color:var(--orange);box-shadow:0 40px 70px -34px rgba(230,122,31,.75)}
.scard__ico{width:72px;height:72px;border-radius:22px;display:grid;place-items:center;background:linear-gradient(150deg,#fff8ea,#ffd9a0);box-shadow:0 14px 30px -16px rgba(230,122,31,.7);margin-bottom:6px}
.scard__ico img{width:54px;height:auto}
.scard__t{font:900 clamp(1.25rem,1.7vw,1.7rem)/1.1 var(--f-display);letter-spacing:-.025em;color:var(--ink)}
.scard__d{color:var(--muted);font-size:.98rem;line-height:1.5;max-width:30em}
.scard__go{position:absolute;top:22px;right:22px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:1.5px solid rgba(6,48,76,.22);transition:background .3s,color .3s,transform .6s var(--ease),border-color .3s}
.scard:hover .scard__go{background:var(--orange);border-color:var(--orange);color:var(--navy-900);transform:rotate(45deg)}
.s-grid .scard{min-height:clamp(180px,27svh,260px)}
.s-related{padding-block:clamp(64px,9svh,120px)}
.s-related__head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:clamp(24px,5svh,52px)}

/* Nosotros */
.s-about__grid{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,2fr);gap:clamp(24px,3.4vw,56px);align-items:center}
.s-about__p{max-width:30rem}
.mv__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,1.6vw,26px)}
.mv{position:relative;min-height:clamp(320px,58svh,540px);padding:clamp(24px,3vw,48px);border-radius:clamp(26px,3vw,44px);overflow:hidden;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;gap:clamp(12px,2svh,20px)}
.mv--1{background:linear-gradient(155deg,#ffc561,#fea027 46%,#e67a1f);color:var(--navy-900);box-shadow:0 50px 100px -40px rgba(254,160,39,.7)}
.mv--2{background:linear-gradient(160deg,rgba(255,255,255,.13),rgba(255,255,255,.03) 60%,rgba(3,26,43,.3));border:1px solid rgba(255,255,255,.16)}
.mv__rings{position:absolute;right:-26%;top:-30%;width:90%;aspect-ratio:1;border-radius:50%;z-index:-1;background:repeating-radial-gradient(circle,rgba(255,255,255,0) 0 24px,rgba(255,255,255,.32) 24px 26px)}
.mv--2 .mv__rings{background:repeating-radial-gradient(circle,rgba(255,255,255,0) 0 24px,rgba(37,168,179,.35) 24px 26px)}
.mv__n{position:absolute;top:clamp(20px,2.4vw,36px);left:clamp(24px,3vw,48px);font:900 clamp(3rem,6vw,6rem)/1 var(--f-display);letter-spacing:-.05em;color:transparent;-webkit-text-stroke:2px currentColor;opacity:.85}
.mv h3{font:900 clamp(2rem,3.4vw,3.4rem)/1.02 var(--f-display);letter-spacing:-.035em}
.mv p{font-size:clamp(1rem,1.2vw,1.2rem);line-height:1.6;max-width:34em;opacity:.9}
.s-ally__inner{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(18px,3svh,30px)}
.s-ally__big{max-width:20em;font:900 clamp(1.9rem,4vw,4rem)/1.12 var(--f-display);letter-spacing:-.032em}

/* Portafolio */
.ptabs{position:relative;display:inline-flex;flex-wrap:wrap;gap:6px;padding:6px;border-radius:999px;background:rgba(6,48,76,.06);border:1px solid rgba(6,48,76,.12);margin-bottom:clamp(20px,4svh,44px)}
.ptabs__bar{display:none}
.ptab{padding:12px 24px;border-radius:999px;font:800 .92rem/1 var(--f-display);color:var(--ink);transition:color .3s,background .3s,box-shadow .3s}
.ptab:hover{background:rgba(6,48,76,.08)}
.ptab.is-on{background:linear-gradient(135deg,#0a4467,#031a2b);color:#fff;box-shadow:0 14px 30px -14px rgba(3,26,43,.7)}
.pgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.6vw,26px)}
.pf[hidden]{display:none}
.pf{position:relative;display:flex;flex-direction:column;border-radius:28px;overflow:hidden;background:#fff;border:1px solid rgba(6,48,76,.08);box-shadow:0 36px 70px -44px rgba(6,48,76,.55);transition:transform .6s var(--ease),box-shadow .4s}
.pf:hover{transform:translateY(-8px);box-shadow:0 50px 80px -40px rgba(6,48,76,.65)}
.pf__img{display:block;aspect-ratio:3/2;overflow:hidden;background:#e8eef2}
.pf__img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.pf:hover .pf__img img{transform:scale(1.06)}
.pf__meta{display:flex;flex-direction:column;gap:6px;padding:18px 24px 4px}
.pf__t{font:900 clamp(1.05rem,1.3vw,1.3rem)/1.15 var(--f-display);letter-spacing:-.015em;color:var(--ink)}
.pf__d{color:var(--muted);font-size:.92rem;line-height:1.45}
.pf__cta{display:inline-flex;align-items:center;gap:10px;margin:12px 24px 22px;font:800 .86rem var(--f-display);color:var(--blue)}
.pf__cta i{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;border:1.5px solid currentColor;transition:background .3s,color .3s,transform .6s var(--ease)}
.pf:hover .pf__cta i{background:var(--orange);border-color:var(--orange);color:var(--navy-900);transform:rotate(45deg)}
.pempty{text-align:center;padding:clamp(48px,10svh,120px) 0;color:var(--muted);font:800 1.1rem var(--f-display)}

/* Contacto */
.s-contact__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,96px);align-items:center}
.s-contact__side .h2{margin-bottom:clamp(8px,1.6svh,18px)}
.cinfo{display:flex;flex-direction:column;gap:16px;margin:clamp(18px,3svh,30px) 0}
.cinfo li{display:flex;align-items:center;gap:16px}
.cinfo__ico{flex:none;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--grad-wa);color:#fff;box-shadow:0 16px 30px -14px rgba(254,160,39,.6)}
.cinfo__ico--o{background:linear-gradient(135deg,#ffb94d,#e67a1f);color:var(--navy-900)}
.cinfo small{display:block;color:var(--muted);font:800 .72rem var(--f-display);letter-spacing:.16em;text-transform:uppercase}
.cinfo a{font:800 1.12rem var(--f-display);color:var(--ink);transition:color .3s}
.cinfo a:hover{color:var(--orange-2)}
.social--dark a{border-color:rgba(6,48,76,.25);color:var(--ink)}
.cform{position:relative;display:flex;flex-direction:column;gap:clamp(12px,2svh,18px);padding:clamp(22px,2.6vw,44px);border-radius:clamp(24px,2.6vw,36px);background:#fff;overflow:hidden;box-shadow:0 50px 100px -50px rgba(6,48,76,.55),0 0 0 1px rgba(6,48,76,.06)}
.cform::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,#25a8b3,#fea027)}
.cform__row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,1.4vw,18px)}
.fld{position:relative;display:block}
.fld input,.fld textarea{width:100%;padding:26px 18px 10px;border-radius:16px;border:1.5px solid rgba(6,48,76,.16);background:#f7fafb;font:600 1rem var(--f-body);color:var(--ink);transition:border-color .25s,box-shadow .25s,background .25s;resize:vertical}
.fld span{position:absolute;left:19px;top:19px;font:600 .95rem var(--f-body);color:var(--muted);pointer-events:none;transition:transform .25s var(--ease),font-size .25s,color .25s;transform-origin:0 0}
.fld input:focus+span,.fld input:not(:placeholder-shown)+span,.fld textarea:focus+span,.fld textarea:not(:placeholder-shown)+span{transform:translateY(-11px);font-size:.74rem;color:var(--blue)}
.fld input:focus,.fld textarea:focus{outline:0;border-color:var(--orange);background:#fff;box-shadow:0 0 0 4px rgba(254,160,39,.2)}
.fld.is-bad input,.fld.is-bad textarea{border-color:#e5484d;background:#fff6f6}
.chk{position:relative;display:flex;align-items:flex-start;gap:12px;cursor:pointer;font-size:.9rem;line-height:1.45;color:var(--muted)}
.chk input{position:absolute;opacity:0;pointer-events:none}
.chk i{flex:none;width:24px;height:24px;border-radius:8px;border:1.5px solid rgba(6,48,76,.3);display:grid;place-items:center;color:transparent;transition:background .25s,border-color .25s,color .25s}
.chk i svg{width:14px;height:14px}
.chk input:checked+i{background:var(--orange);border-color:var(--orange);color:var(--navy-900)}
.chk input:focus-visible+i{outline:3px solid var(--orange);outline-offset:2px}
.chk.is-bad i{border-color:#e5484d}
.chk a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.cform__btn{align-self:flex-start}
.cform__err{color:#c2272d;font-weight:700;font-size:.9rem}
.cform__err a{text-decoration:underline;text-underline-offset:3px}
.cform__trap{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.cform.is-sending .cform__btn{opacity:.7;pointer-events:none}
.cform__ok{padding:18px 22px;border-radius:18px;background:#e8fbf1;border:1px solid #8be0b3;color:#0b5132}
.cform__ok b{font:900 1.1rem var(--f-display)}
.cform__ok a{text-decoration:underline}

/* Blog */
.bgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,32px)}
.bgrid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.bcard{display:flex;flex-direction:column;gap:12px}
.bcard__img{display:block;overflow:hidden;border-radius:clamp(20px,2vw,30px);aspect-ratio:37/25;background:#d6e9ec}
.bcard__img img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.bcard:hover .bcard__img img{transform:scale(1.08)}
.bcard__tag{margin-top:10px;font:800 .76rem var(--f-display);letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}
.bcard__t{font:800 clamp(1.1rem,1.45vw,1.5rem)/1.25 var(--f-display);letter-spacing:-.015em;color:var(--ink);transition:color .3s}
.bcard:hover .bcard__t{color:var(--blue)}
.bcard__d{font-size:.9rem;color:var(--muted)}

/* Documentos y artículos */
.doc{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,2.2fr);gap:clamp(24px,5vw,96px);align-items:start}
.doc__toc{position:sticky;top:clamp(90px,16svh,150px)}
.doc__toc-t{font:800 .72rem/1 var(--f-display);letter-spacing:.2em;text-transform:uppercase;color:var(--blue);margin-bottom:14px}
.doc__toc-t--sp{margin-top:clamp(24px,4svh,40px)}
.doc__toc ol{list-style:none;display:flex;flex-direction:column;border-left:2px solid rgba(6,48,76,.12)}
.doc__toc ol a{display:block;margin-left:-2px;padding:8px 14px;border-left:2px solid transparent;font:700 .9rem/1.3 var(--f-display);color:var(--muted);transition:color .3s,border-color .3s}
.doc__toc ol a:hover{color:var(--ink)}
.doc__toc ol a.is-on{color:var(--ink);border-left-color:var(--orange)}
.doc__links{display:flex;flex-direction:column;gap:8px}
.doc__links a{font:700 .9rem var(--f-display);color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.doc__links a:hover{color:var(--orange-2)}
.prose{max-width:46rem;font-size:1.08rem;line-height:1.78;color:#2d4558}
.prose h2{margin:2.1em 0 .6em;font:900 clamp(1.5rem,2.3vw,2.2rem)/1.12 var(--f-display);letter-spacing:-.025em;color:var(--ink);scroll-margin-top:110px}
.prose h2:first-child{margin-top:0}
.prose h3{margin:1.6em 0 .5em;font:800 1.3rem/1.2 var(--f-display);color:var(--ink)}
.prose p{margin:0 0 1.15em}
.prose strong{color:var(--ink)}
.prose ul,.prose ol{margin:0 0 1.4em;padding:0;list-style:none}
.prose li{position:relative;padding-left:30px;margin-bottom:.6em}
.prose li::before{content:"";position:absolute;left:4px;top:.62em;width:10px;height:10px;border-radius:50%;background:var(--grad-cta)}
.prose a{color:var(--blue);text-decoration:underline;text-underline-offset:3px;transition:color .3s}
.prose a:hover{color:var(--orange-2)}
.prose img{max-width:100%;height:auto;border-radius:22px;margin:1.6em 0}
.prose blockquote{margin:1.6em 0;padding:18px 24px;border-left:4px solid var(--orange);background:rgba(254,160,39,.1);border-radius:0 18px 18px 0;font-weight:700;color:var(--ink)}
.s-related--posts{padding-block:clamp(56px,9svh,110px)}

/* ───────── Responsive ───────── */
@media (max-width:1180px){
  .hero--page .hero__copy{max-width:min(32rem,46vw)}
  .hero__visual{width:52vw}
  .s-ben__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sgrid,.pgrid,.bgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .hero--page .hero__copy{max-width:100%}
  .hero--page + .sheet{margin-top:calc(var(--r-sheet) * -1)}
  .hero__visual{position:relative;order:2;inset:auto;width:100%;height:clamp(300px,80vw,420px);margin-top:32px;z-index:0;right:auto}
  .hero__visual--orbit{--r:min(34vw,150px)}
  .orb{width:clamp(54px,15vw,72px);margin:calc(clamp(54px,15vw,72px) / -2) 0 0 calc(clamp(54px,15vw,72px) / -2)}
  .hp--1{width:56vw;left:0;top:8%}.hp--2{width:34vw;right:0;top:0}.hp--3{width:44vw;right:4%;bottom:0}.hp--stat{width:28vw;left:6%;bottom:6%}
  .hero__visual--blog .hp--p1{width:54vw;left:0;top:6%}.hero__visual--blog .hp--p2{width:44vw;right:0;top:30%}.hero__visual--blog .hp--p3{width:46vw;left:10%;bottom:0}
  .cc{padding:12px 16px 12px 66px}.cc--1{left:0;top:6%}.cc--2{right:0;top:38%}.cc--3{left:6%;bottom:2%}
  .s-intro__grid,.s-why__grid,.s-steps__grid,.s-about__grid,.s-contact__grid,.doc{grid-template-columns:minmax(0,1fr)}
  .s-why__head,.s-steps__head,.doc__toc{position:static}
  .doc__toc{display:none}
  .s-steps__head{margin-bottom:24px}
  .mv__grid{grid-template-columns:minmax(0,1fr)}
  .psec{min-height:0}
  .cform__row{grid-template-columns:minmax(0,1fr)}
  .sgrid,.pgrid,.bgrid,.bgrid--2{grid-template-columns:minmax(0,1fr)}
  .step-card{flex-direction:column;top:calc(86px + var(--i) * 14px)}
}
@media (max-width:560px){
  .s-ben__grid{grid-template-columns:minmax(0,1fr)}
  .ptabs{border-radius:24px}
  /* Etiquetas largas ("Quiero mi sitio web profesional ahora") caben en una sola línea sin ensanchar la columna */
  .btn{max-width:100%;font-size:min(1rem,3.85vw);padding-left:20px}
  .btn--lg,.btn--xl{padding-left:22px;font-size:min(1.05rem,3.95vw)}
}

/* ───────── Movimiento reducido ───────── */
.reduce .step-card{position:relative;top:auto}
.reduce .hero__visual{position:relative;inset:auto;height:auto;margin-top:24px}

/* ───────── 404 ───────── */
.hero--404 .hero__scroll{display:none}
.n404{position:relative;font:900 clamp(7rem,19vw,19rem)/.85 var(--f-display);letter-spacing:-.06em;background:linear-gradient(160deg,#fff 0%,#ffd9a0 42%,#fea027 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 30px 50px rgba(2,15,25,.5));animation:bob 7s ease-in-out infinite}
