:root{
  --navy:#002048; --navy-2:#00152f; --navy-3:#0a3470;
  --accent:#27d3ff; --accent-2:#7cf0c8;
  --ink:#0b1a30; --muted:#51627d; --line:#dbe3ef; --tint:#f3f6fb; --bg:#fff;
  --r:16px; --maxw:1120px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{font:16px/1.65 Inter,system-ui,sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:"Space Grotesk",Inter,sans-serif;line-height:1.12;letter-spacing:-.02em}
.wrap{width:min(var(--maxw),100% - 32px);margin-inline:auto}

/* botones */
.btn{display:inline-block;background:var(--accent);color:var(--navy-2);font-weight:600;text-decoration:none;padding:.85em 1.5em;border-radius:999px;border:0;cursor:pointer;font-size:1rem;transition:transform .15s,box-shadow .15s}
.btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(39,211,255,.35)}
.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.burger:focus-visible{outline:3px solid var(--accent-2);outline-offset:2px}
.btn--sm{padding:.5em 1.1em;font-size:.92rem}
.btn--ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.4)}
.btn--ghost:hover{box-shadow:none;border-color:#fff}

/* navegación */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;background:rgba(0,21,47,.0);transition:background .25s,box-shadow .25s}
.nav.solid{background:rgba(0,21,47,.94);backdrop-filter:blur(8px);box-shadow:0 1px 0 rgba(255,255,255,.08)}
.nav__in{display:flex;align-items:center;justify-content:space-between;height:68px}
.brand{display:flex;align-items:center;gap:.6rem;color:#fff;text-decoration:none;font:600 1.1rem "Space Grotesk",sans-serif;letter-spacing:.04em}
.brand b{color:var(--accent);font-weight:700}
.brand__ico{height:34px;width:auto}
.menu{display:flex;align-items:center;gap:1.6rem}
.menu a:not(.btn){color:#cfd9ea;text-decoration:none;font-size:.95rem;font-weight:500}
.menu a:not(.btn):hover{color:#fff}
.burger{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;flex-direction:column;justify-content:center;gap:6px;align-items:center}
.burger i{display:block;width:24px;height:2px;background:#fff;transition:.2s}

/* hero */
.hero{position:relative;background:radial-gradient(1200px 600px at 80% 20%,var(--navy-3) 0,var(--navy) 45%,var(--navy-2) 100%);color:#fff;overflow:hidden;padding:150px 0 90px}
.hero__grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(180deg,#000 30%,transparent 100%)}
.hero__in{position:relative;display:grid;grid-template-columns:1.25fr .75fr;gap:48px;align-items:center}
.eyebrow{color:var(--accent);font-weight:600;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:1rem}
.eyebrow--dark{color:var(--navy-3)}
.hero h1{font-size:clamp(2.2rem,5.2vw,3.9rem);font-weight:700}
.hero h1 span{background:linear-gradient(90deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{font-size:1.15rem;color:#c3d0e6;max-width:56ch;margin-top:1.2rem}
.lead--dark{color:var(--muted)}
.hero__cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}
.hero__facts{display:flex;flex-wrap:wrap;gap:2rem;list-style:none;margin-top:3rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.15)}
.hero__facts b{display:block;font:700 1.35rem "Space Grotesk",sans-serif;color:#fff}
.hero__facts span{font-size:.85rem;color:#9fb1cf}
.hero__art img{width:100%;height:auto;border-radius:24px;border:1px solid rgba(255,255,255,.18);box-shadow:0 0 60px rgba(39,211,255,.28),0 30px 60px rgba(0,0,0,.45);animation:float 7s ease-in-out infinite}
@keyframes float{50%{transform:translateY(-12px)}}

/* nosotros */
.mv{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.mv__card{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;padding:48px 40px;box-shadow:0 14px 40px rgba(0,32,72,.08);overflow:hidden}
.mv__card--dark{background:linear-gradient(145deg,var(--navy),var(--navy-3));color:#fff;border-color:transparent}
.mv__n{position:absolute;top:18px;right:26px;font:700 4.5rem/1 "Space Grotesk",sans-serif;color:transparent;-webkit-text-stroke:1.5px var(--line)}
.mv__card--dark .mv__n{-webkit-text-stroke-color:rgba(255,255,255,.25)}
.mv__card h2{font-size:2rem;margin-bottom:1rem}
.mv__card p{font-size:1.15rem;line-height:1.75;color:var(--muted)}
.mv__card--dark p{color:#d4e0f4}
.vals{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:3rem}
.val{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:30px 24px;transition:transform .2s,box-shadow .2s,border-color .2s}
.val:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,32,72,.1);border-color:var(--accent)}
.val svg{width:42px;height:42px;fill:none;stroke:var(--navy-3);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;margin-bottom:1.1rem}
.val h3{font-size:1.15rem;margin-bottom:.5rem}
.val p{color:var(--muted);font-size:.95rem}
.pv{list-style:none;display:grid;gap:14px}
.pv li{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:var(--r);padding:22px 26px 22px 62px;position:relative;font-size:1.1rem;color:#d4e0f4}
.pv li b{color:#fff;font-family:"Space Grotesk",sans-serif}
.pv li::before{content:"";position:absolute;left:26px;top:50%;width:18px;height:10px;margin-top:-8px;border-left:3px solid var(--accent-2);border-bottom:3px solid var(--accent-2);transform:rotate(-45deg)}
.about-link{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px}

/* sobre el fundador */
.about{display:grid;grid-template-columns:minmax(260px,360px) 1fr;gap:64px;align-items:start}
.about__side{position:sticky;top:96px}
.about__fig img{width:100%;height:auto;aspect-ratio:3/4;max-height:480px;object-fit:cover;object-position:top;border-radius:var(--r);box-shadow:0 24px 60px rgba(0,32,72,.22)}
.about__card{display:grid;gap:4px;justify-items:start;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px 22px;margin-top:-36px;position:relative;margin-inline:16px;box-shadow:0 12px 30px rgba(0,32,72,.1)}
.about__card b{font:600 1.05rem "Space Grotesk",sans-serif}
.about__card span{color:var(--muted);font-size:.9rem;margin-bottom:.7rem}
.about__lead{font-size:1.2rem;line-height:1.7;color:var(--ink);margin-top:1.2rem;max-width:62ch}
.about__stats{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:2rem 0}
.about__stats li{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px 18px}
.about__stats b{display:block;font:700 2rem/1 "Space Grotesk",sans-serif;color:var(--navy);margin-bottom:.5rem}
.about__stats span{color:var(--muted);font-size:.88rem;line-height:1.4;display:block}
.about__tech{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.about__tech>span{font-weight:600;font-size:.92rem}
.about__tech ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.about__tech li{background:var(--navy);color:#fff;border-radius:999px;padding:.35em 1em;font-size:.88rem;font-weight:500}
.about__h{font-size:1.3rem;margin:2.6rem 0 1rem}
.about__path{list-style:none;display:grid;gap:0;border-left:2px solid var(--line);margin-left:6px}
.about__path li{position:relative;padding:0 0 22px 26px}
.about__path li::before{content:"";position:absolute;left:-7px;top:.35em;width:12px;height:12px;border-radius:50%;background:var(--accent);border:2px solid #fff;box-shadow:0 0 0 2px var(--navy-3)}
.about__path li:last-child{padding-bottom:0}
.about__path b{display:block;font:600 1.05rem "Space Grotesk",sans-serif}
.about__path span{color:var(--muted);font-size:.95rem}
.about__text{margin-top:2.4rem;display:grid;gap:1.1rem;color:#33445f;max-width:64ch}
.about__quote{margin-top:2.4rem;background:linear-gradient(135deg,var(--navy),var(--navy-3));color:#fff;border-radius:var(--r);padding:28px 30px;font:500 1.25rem/1.5 "Space Grotesk",sans-serif}
.about__quote span{display:block;color:var(--accent);font:600 .78rem "Inter",sans-serif;letter-spacing:.14em;text-transform:uppercase;margin-bottom:.7rem}

/* reseñas */
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:3rem}
.review{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:36px 28px 28px;display:flex;flex-direction:column;gap:22px;box-shadow:0 10px 30px rgba(0,32,72,.06)}
.review__q{width:34px;height:34px;fill:none;stroke:var(--accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.review blockquote{font-size:1.02rem;line-height:1.7;color:var(--ink);flex:1}
.review figcaption{display:flex;align-items:center;gap:14px;padding-top:18px;border-top:1px solid var(--line)}
.review figcaption b{display:block;font:600 1rem "Space Grotesk",sans-serif}
.review figcaption small{color:var(--muted);font-size:.86rem}
.review__av{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--navy),var(--navy-3));color:#fff;display:grid;place-items:center;font:600 1.1rem "Space Grotesk",sans-serif;flex:none}
.review__tag{position:absolute;top:12px;right:12px;background:#fff4d6;color:#8a5a00;border:1px dashed #e0b24a;border-radius:999px;font-size:.7rem;font-weight:600;padding:2px 10px}

/* galería */
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:900px;margin-top:2.5rem}
.gallery__item{border:0;padding:0;background:none;cursor:zoom-in;border-radius:var(--r);overflow:hidden;box-shadow:0 10px 30px rgba(0,32,72,.12);transition:transform .25s,box-shadow .25s}
.gallery__item:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(0,32,72,.22)}
.gallery__item img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block}
.lb{border:0;background:transparent;padding:0;max-width:94vw;max-height:94vh;overflow:visible}
.lb::backdrop{background:rgba(0,10,25,.88)}
.lb img{max-width:94vw;max-height:90vh;border-radius:12px;display:block}
.lb__x{position:absolute;top:-14px;right:-14px;width:40px;height:40px;border-radius:50%;border:0;background:#fff;color:var(--navy);font-size:1.5rem;line-height:1;cursor:pointer}


/* CTA + footer */
.cta{background:linear-gradient(100deg,var(--navy-3),var(--navy) 60%);color:#fff;padding:56px 0;border-top:1px solid rgba(255,255,255,.08)}
.cta__in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px}
.cta h2{font-size:clamp(1.5rem,3vw,2.1rem)}
.cta p{color:#b8c7e0;margin-top:.4rem}
.cta__btns{display:flex;gap:12px;flex-wrap:wrap}
.foot{background:var(--navy-2);color:#a9b9d3;font-size:.94rem}
.foot__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:48px;padding:72px 0 56px}
.foot__logo{height:92px;width:auto;margin-bottom:1rem;margin-left:-6px}
.foot__brand p{max-width:34ch;line-height:1.7}
.foot__social{list-style:none;display:flex;gap:10px;margin-top:1.2rem;flex-wrap:wrap}
.foot__social a{display:inline-block;border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:.35em 1em;color:#fff;text-decoration:none;font-size:.85rem}
.foot__social a:hover{border-color:var(--accent);color:var(--accent)}
.foot__col h3{color:#fff;font:600 .8rem "Inter",sans-serif;letter-spacing:.14em;text-transform:uppercase;margin-bottom:1.1rem}
.foot__col ul{list-style:none;display:grid;gap:.7rem}
.foot__col a{color:#a9b9d3;text-decoration:none;transition:color .15s}
.foot__col a:hover{color:var(--accent)}
.foot__bar{border-top:1px solid rgba(255,255,255,.1);padding:22px 0;font-size:.85rem}
.foot__bar-in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}
.foot__top{color:#fff;text-decoration:none}
.foot__top:hover{color:var(--accent)}

/* blog */
.page-hero{position:relative;background:radial-gradient(900px 400px at 85% 0,var(--navy-3) 0,var(--navy) 55%,var(--navy-2) 100%);color:#fff;padding:140px 0 72px;overflow:hidden}
.page-hero .wrap{position:relative}
.page-hero h1{font-size:clamp(2rem,4.6vw,3.2rem);max-width:20ch}
.page-hero--post h1{max-width:26ch;font-size:clamp(1.9rem,4vw,2.9rem)}
.wrap--narrow{width:min(780px,100% - 32px)}
.back{display:inline-block;color:#b8c7e0;text-decoration:none;font-size:.9rem;margin-bottom:1.4rem}
.back:hover{color:var(--accent)}
.post-meta{color:#b8c7e0;margin-top:1.2rem;font-size:.95rem}
.draft-note{display:inline-block;margin-top:1rem;background:#fff4d6;color:#8a5a00;border:1px dashed #e0b24a;border-radius:999px;padding:2px 14px;font-size:.8rem;font-weight:600}
.sec__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px}
.link-arrow{color:var(--navy-3);font-weight:600;text-decoration:none}
.link-arrow:hover{color:var(--navy)}
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:3rem}
.post{display:flex;flex-direction:column;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s}
.post:hover{transform:translateY(-5px);box-shadow:0 20px 44px rgba(0,32,72,.14);border-color:var(--accent)}
.post__img{position:relative;aspect-ratio:16/9;background:var(--tint);overflow:hidden}
.post__img>img{width:100%;height:100%;object-fit:cover;display:block}
.post__ph{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(135deg,var(--navy),var(--navy-3))}
.post__ph img{height:92px;width:auto;opacity:.9}
.post__tag{position:absolute;top:10px;left:10px;background:#fff4d6;color:#8a5a00;border:1px dashed #e0b24a;border-radius:999px;font-size:.7rem;font-weight:600;padding:2px 10px}
.post__body{padding:22px 22px 24px;display:flex;flex-direction:column;gap:.55rem;flex:1}
.post__meta{font-size:.78rem;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}
.post h3{font-size:1.2rem;line-height:1.25}
.post p{color:var(--muted);font-size:.95rem;flex:1}
.post__more{color:var(--navy-3);font-weight:600;font-size:.9rem;margin-top:.4rem}
.chips--filter{margin:0 0 .5rem}
.chips--filter a{background:var(--tint);border:1px solid var(--line);padding:.5em 1.1em;border-radius:999px;font-weight:500;font-size:.92rem;text-decoration:none}
.chips--filter a:hover{border-color:var(--navy-3)}
.chips--filter a.on{background:var(--navy);border-color:var(--navy);color:#fff}
.pager{display:flex;gap:8px;justify-content:center;margin-top:3rem}
.pager a{min-width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;text-decoration:none;font-weight:600}
.pager a.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.empty{text-align:center;max-width:520px;margin:3rem auto;display:grid;gap:12px;justify-items:center}
.empty img{height:90px;width:auto;opacity:.9}
.empty p{color:var(--muted)}
.empty a:not(.btn){color:var(--navy-3);font-weight:600}
.sec--article{padding-top:56px}
.post-cover{width:100%;border-radius:var(--r);margin-bottom:2.4rem;box-shadow:0 20px 50px rgba(0,32,72,.15)}
.prose{font-size:1.1rem;line-height:1.85;color:#1b2b44}
.prose>*+*{margin-top:1.3em}
.prose h2{font-size:1.65rem;margin-top:2.2em;color:var(--ink)}
.prose h3{font-size:1.3rem;margin-top:1.8em;color:var(--ink)}
.prose h4{font-size:1.1rem;margin-top:1.5em}
.prose a{color:var(--navy-3);text-underline-offset:3px}
.prose ul,.prose ol{padding-left:1.4em;display:grid;gap:.5em}
.prose blockquote{border-left:4px solid var(--accent);background:var(--tint);padding:1em 1.4em;border-radius:0 12px 12px 0;font-size:1.15rem;font-family:"Space Grotesk",sans-serif;color:var(--navy)}
.prose img{max-width:100%;border-radius:12px}
.prose figure figcaption{font-size:.85rem;color:var(--muted);margin-top:.5rem;text-align:center}
.prose code{background:var(--tint);border-radius:6px;padding:.1em .4em;font-size:.92em}
.prose pre{background:var(--navy-2);color:#e6eefc;padding:1.1em 1.3em;border-radius:12px;overflow:auto;font-size:.92rem}
.prose pre code{background:none;padding:0}
.prose hr{border:0;border-top:1px solid var(--line);margin:2.4em 0}
.share{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:3rem;padding-top:1.6rem;border-top:1px solid var(--line)}
.share span{font-weight:600;margin-right:6px}
.share a{border:1px solid var(--line);border-radius:999px;padding:.4em 1em;text-decoration:none;font-size:.9rem;font-weight:500}
.share a:hover{border-color:var(--navy-3);color:var(--navy-3)}
.author{display:flex;gap:18px;align-items:center;margin-top:2rem;background:var(--tint);border-radius:var(--r);padding:20px}
.author img{width:72px;height:72px;border-radius:50%;object-fit:cover;object-position:top;flex:none}
.author p{color:var(--muted);font-size:.93rem;margin-top:.2rem}
.menu a.is-on:not(.btn){color:#fff;box-shadow:0 2px 0 var(--accent)}

/* portfolio */
.works{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:3rem}
.work{display:block;text-decoration:none;color:inherit}
.work__frame{border-radius:12px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:0 10px 30px rgba(0,32,72,.08);transition:transform .25s,box-shadow .25s}
.work:hover .work__frame{transform:translateY(-6px);box-shadow:0 22px 50px rgba(0,32,72,.18)}
.work__bar{display:flex;align-items:center;gap:6px;padding:9px 12px;background:#eef2f8;border-bottom:1px solid var(--line)}
.work__bar i{width:9px;height:9px;border-radius:50%;background:#c3cfe0}
.work__bar span{margin-left:10px;font-size:.72rem;color:var(--muted);background:#fff;border-radius:999px;padding:2px 12px;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.work__frame img{width:100%;height:auto;aspect-ratio:1440/680;max-height:260px;object-fit:cover;object-position:top;display:block}
.work__ph{aspect-ratio:1440/680;display:grid;place-items:center;background:linear-gradient(135deg,var(--navy),var(--navy-3));color:#fff;font:600 1.3rem "Space Grotesk",sans-serif;text-align:center;padding:20px}
.work__meta{display:grid;gap:2px;padding:16px 4px 0}
.work__meta b{font:600 1.1rem "Space Grotesk",sans-serif}
.work__meta span{color:var(--muted);font-size:.92rem}
.work__meta em{font-style:normal;color:var(--navy-3);font-weight:600;font-size:.9rem;margin-top:6px}

/* secciones */
.sec{padding:96px 0}
.sec--tint{background:var(--tint)}
.sec--dark{background:linear-gradient(160deg,var(--navy) 0,var(--navy-2) 100%);color:#fff}
.sec__t{font-size:clamp(1.8rem,3.6vw,2.7rem);max-width:22ch;font-weight:700}
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.band{background:var(--tint);padding:56px 0;border-bottom:1px solid var(--line)}
.band h2{font-size:clamp(1.4rem,2.6vw,1.9rem);margin-bottom:1.5rem}
.cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.cols3 p{color:var(--muted)}
.cols3 b{display:block;color:var(--ink);font-family:"Space Grotesk",sans-serif;font-size:1.05rem}

.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:3rem}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px 24px;transition:transform .2s,box-shadow .2s,border-color .2s}
.card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,32,72,.1);border-color:var(--accent)}
.card svg{width:40px;height:40px;fill:none;stroke:var(--navy-3);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;margin-bottom:1.1rem}
.card h3{font-size:1.15rem;margin-bottom:.6rem}
.card p{color:var(--muted);font-size:.95rem}

.ticks{list-style:none;margin:1.6rem 0}
.ticks li{padding:.35rem 0 .35rem 1.8rem;position:relative;color:#dbe6f7}
.ticks li::before{content:"";position:absolute;left:0;top:.8em;width:.9rem;height:.5rem;border-left:2.5px solid var(--accent-2);border-bottom:2.5px solid var(--accent-2);transform:rotate(-45deg)}
.note{color:#9fb1cf;font-size:.92rem;margin-bottom:1.6rem}
.mods{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.mods div{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.05);border-radius:var(--r);padding:34px 18px;text-align:center;font-family:"Space Grotesk",sans-serif;font-size:1.1rem}
.mods div:nth-child(odd){border-color:rgba(39,211,255,.4)}

.chips{display:flex;flex-wrap:wrap;gap:10px;margin:2rem 0 3rem}
.chips span{background:var(--tint);border:1px solid var(--line);padding:.55em 1.1em;border-radius:999px;font-weight:500;font-size:.95rem}
.values{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.values div{border-top:3px solid var(--accent);padding-top:1rem}
.values b{font:600 1.1rem "Space Grotesk",sans-serif}
.values p{color:var(--muted);font-size:.93rem;margin-top:.3rem}

.steps{list-style:none;counter-reset:s;display:grid;grid-template-columns:repeat(5,1fr);gap:20px;margin-top:3rem}
.steps li{counter-increment:s;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px 20px}
.steps li::before{content:"0" counter(s);display:block;font:700 1.9rem "Space Grotesk",sans-serif;color:var(--accent);-webkit-text-stroke:1px var(--navy-3);color:transparent;margin-bottom:.6rem}
.steps b{font-family:"Space Grotesk",sans-serif;font-size:1.05rem}
.steps p{color:var(--muted);font-size:.92rem;margin-top:.3rem}

.map{list-style:none;display:flex;flex-wrap:wrap;gap:12px}
.map li{border:1.5px dashed var(--line);padding:.8em 1.3em;border-radius:12px;color:var(--muted);font-weight:500}
.map li.on{border:1.5px solid var(--navy);background:var(--navy);color:#fff}


.contact{list-style:none;margin-top:2rem;display:grid;gap:1rem}
.contact span{display:block;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.contact a{color:#fff}
.form{background:#fff;color:var(--ink);padding:32px;border-radius:20px;display:grid;gap:16px;box-shadow:0 30px 60px rgba(0,0,0,.3)}
.form label{display:grid;gap:6px;font-weight:500;font-size:.92rem}
.form input,.form select,.form textarea{font:inherit;padding:.75em .9em;border:1.5px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);width:100%}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--navy-3)}
.form .btn{justify-self:start}
.hp{position:absolute!important;left:-9999px!important;height:0;width:0;opacity:0}
.alert{padding:.8em 1em;border-radius:10px;font-size:.93rem;font-weight:500}
.alert--ok{background:#e3fbf1;color:#0a6b46}.alert--err{background:#fdeaea;color:#a02020}


.wa{position:fixed;right:18px;bottom:18px;z-index:40;width:56px;height:56px;border-radius:50%;background:#25d366;display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.3);transition:transform .15s}
.wa:hover{transform:scale(1.08)}
.wa svg{width:30px;height:30px;fill:#fff}

.rv{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}
.rv.in{opacity:1;transform:none}

/* precios */
.prices{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:3rem}
.price{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px 24px;display:flex;flex-direction:column;gap:12px;transition:transform .2s,box-shadow .2s}
.price:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,32,72,.1)}
.price--hl{border-color:var(--accent);box-shadow:0 10px 40px rgba(39,211,255,.22)}
.price h3{font-size:1.1rem;min-height:2.3em}
@media (max-width:980px){.price h3{min-height:0}}
.price__n{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px}
.price__n small{flex-basis:100%;color:var(--muted);font-size:.85rem}
.price__n b{font:700 2rem/1 "Space Grotesk",sans-serif;color:var(--navy)}
.price__n span{color:var(--muted);font-weight:600;font-size:.9rem}
.price__d{color:var(--muted);font-size:.93rem;flex:1}
.price .btn{align-self:flex-start}
.note--dark{color:var(--muted);margin:2rem 0 0}

@media (max-width:980px){
  .cards,.works,.posts{grid-template-columns:1fr 1fr}
  .vals{grid-template-columns:1fr 1fr}
  .mv{grid-template-columns:1fr}
  .about{grid-template-columns:1fr;gap:40px}
  .about__side{position:static;max-width:360px}
  .foot__grid{grid-template-columns:1fr 1fr;gap:36px}
  .reviews{grid-template-columns:1fr 1fr}
  .prices{grid-template-columns:1fr 1fr}
  .gallery{grid-template-columns:1fr 1fr 1fr;gap:10px}
  .steps{grid-template-columns:1fr 1fr}
  .values{grid-template-columns:1fr 1fr}
  .split,.hero__in{grid-template-columns:1fr}
  .hero__art{order:-1}.hero__art img{width:100%;max-width:420px}
  .hero{padding-top:120px}
}
@media (max-width:720px){
  .burger{display:flex}
  .menu{position:fixed;inset:68px 0 auto 0;background:var(--navy-2);flex-direction:column;align-items:stretch;padding:12px 16px 24px;gap:0;display:none;border-top:1px solid rgba(255,255,255,.1)}
  .menu.open{display:flex}
  .menu a:not(.btn){padding:.9rem 0;border-bottom:1px solid rgba(255,255,255,.08)}
  .menu .btn{margin-top:1rem;text-align:center}
  .nav.menu-open{background:var(--navy-2)}
  .cards,.steps,.values,.cols3,.works,.reviews,.posts,.prices{grid-template-columns:1fr}
  .foot__grid{grid-template-columns:1fr;padding:52px 0 36px}
  .page-hero{padding:112px 0 52px}
  .vals{grid-template-columns:1fr}
  .mv__card{padding:36px 26px}
  .about__stats{grid-template-columns:1fr}
  .about__quote{font-size:1.1rem;padding:22px}
  .author{flex-direction:column;align-items:flex-start}
  .sec{padding:68px 0}
  .form{padding:22px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}.rv{opacity:1;transform:none}}
