/* Diseño adaptable, sin fuentes ni dependencias externas. */
:root{color-scheme:light;--navy:#0b1a30;--ink:#14243c;--muted:#526178;--blue:#2762e8;--line:#dfe5ee;--pale:#f3f6fb;--max:1160px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:#fff;font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #438bff;outline-offset:6px}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.18;letter-spacing:-.035em}p{color:var(--muted)}.container{width:min(var(--max),calc(100% - 80px));margin-inline:auto}.header{position:sticky;top:0;z-index:10;background:#ffffffed;border-bottom:1px solid var(--line);backdrop-filter:blur(15px)}.nav-wrap{min-height:90px;display:flex;align-items:center;gap:30px}.brand{display:inline-flex;align-items:center;gap:12px;font-size:20px;letter-spacing:-.6px;font-weight:750;white-space:nowrap}.brand b{color:var(--blue)}.brand-mark{display:grid;place-items:center;background:var(--blue);border-radius:9px;color:white;width:40px;height:40px;font-size:19px;font-weight:650;letter-spacing:-2px}.nav-wrap nav{display:flex;gap:27px;align-items:center;margin-left:auto;font-size:14px;font-weight:600}.nav-wrap nav a{padding:14px 0;transition:color .2s}.nav-wrap nav a:hover{color:var(--blue)}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;background:var(--blue);color:white;border:1px solid var(--blue);font-size:14px;font-weight:650;padding:13px 19px;border-radius:6px;transition:background .2s,transform .2s}.button:hover{background:#174dcc;transform:translateY(-2px)}.button span{font-size:21px;line-height:1}.hero{position:relative;overflow:hidden;background:var(--navy);color:white}.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff03 1px,transparent 1px),linear-gradient(90deg,#ffffff03 1px,transparent 1px);background-size:52px 52px;pointer-events:none}.hero-grid{position:relative;display:grid;grid-template-columns:1.25fr .85fr;gap:25px;align-items:center;min-height:650px;padding-block:72px}.accent-line{width:48px;height:4px;background:#68a2ff;margin-bottom:28px}h1{font-size:clamp(2.6rem,4.05vw,3.6rem);font-weight:650;line-height:1.09;max-width:660px}h1 span{co.portrait-onelor:#77a9ff}.hero-copy>p{color:#bbc9dd;max-width:580px;margin-top:26px;font-size:17px;line-height:1.8}.hero-button{margin-top:34px;padding:16px 23px}.network{margin-right:-28px}.network svg{width:100%;display:block}.section{padding-block:90px}h2{font-size:clamp(1.9rem,3vw,2.65rem);font-weight:650}.about-grid{display:grid;grid-template-columns:.9fr 1.3fr;gap:100px;align-items:start}.about h2{max-width:360px}.about p{font-size:17px;line-height:1.9}.services{background:var(--pale);border-block:1px solid #e9edf4}.section-heading{display:flex;gap:35px;align-items:center;margin-bottom:40px}.heading-rule{height:1px;flex:1;background:var(--line)}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.service{background:white;padding:32px;border:1px solid var(--line);border-radius:10px;position:relative;box-shadow:0 5px 12px #0b1a3003}.service-icon{width:52px;height:52px;display:grid;place-items:center;background:#edf3ff;color:var(--blue);border-radius:11px;font-size:36px;line-height:1}.code-icon{font-size:23px;font-weight:600;letter-spacing:-2px}.number{position:absolute;right:30px;top:39px;color:#718198;font-size:13px;font-variant-numeric:tabular-nums}.service h3{font-size:23px;line-height:1.27;margin-top:31px;margin-bottom:18px}.service p{font-size:16px;line-height:1.8}.team{padding-bottom:80px}.team-cards{align-items:stretch}.profile{overflow:hidden;border:1px solid var(--line);border-radius:10px;background:white}.portrait{height:340px;background-repeat:no-repeat;background-size:300% auto;background-position-y:12%;background-color:#dbe3ef}.portrait-one {background-image: url('mateo.jpeg');background-position: center;background-size: cover;}.portrait-two {background-image: url('parrales.jpeg');background-position: center;background-size: cover;}.portrait-three {background-image: url('velazco.jpeg');background-position:center;background-size: cover;}.profile-copy{padding:28px}.profile h3{font-size:24px}.profile .role{font-size:14px;color:var(--blue);font-weight:650;margin-top:9px;margin-bottom:18px;letter-spacing:0}.profile-copy>p:last-child{font-size:15px;line-height:1.8}.featured{border-color:var(--blue);box-shadow:0 12px 32px #164ab41a}.featured .profile-copy{background:#f1f6ff;border-top:4px solid var(--blue);padding-top:24px}.portal-section{padding-bottom:90px}.portal{display:grid;grid-template-columns:.85fr 1.4fr;gap:55px;border:1px solid #d3e0f5;border-radius:12px;background:#f3f7ff;padding:45px}.portal-title svg{color:var(--blue);margin-bottom:20px}.portal h2{font-size:29px;max-width:240px}.portal p{font-size:16px;line-height:1.85}footer{background:var(--navy);color:#fff;padding:55px 0 26px}.footer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:60px;padding-bottom:40px}.footer-top .brand b{color:#77a9ff}.contact{max-width:470px}.contact h2{font-size:16px;letter-spacing:0;margin-bottom:15px;font-weight:600}.contact p{font-size:14px;color:#b7c6da}.contact .email{color:#fff;margin-top:12px;overflow-wrap:anywhere}.footer-bottom{border-top:1px solid #2b3a50;padding-top:25px;display:grid;grid-template-columns:1fr 1fr;gap:65px}.footer-bottom p{font-size:12px;line-height:1.8;color:#aebed3}
@media(min-width:1500px){.hero-grid{min-height:700px}}
@media(max-width:1050px){.nav-wrap{gap:20px}.nav-wrap nav{gap:17px;font-size:13px}.brand{font-size:18px}.client-button{padding:11px 13px}.container{width:calc(100% - 48px)}.hero-grid{grid-template-columns:1.3fr .8fr;min-height:610px}.about-grid{gap:55px}.service{padding:26px}.service h3{font-size:21px}.portrait{height:280px}.profile-copy{padding:23px}.portal{gap:35px}}
@media(max-width:800px){html{scroll-padding-top:140px}.nav-wrap{flex-wrap:wrap;justify-content:space-between;gap:0;padding-block:16px}.nav-wrap nav{order:3;flex-basis:100%;justify-content:space-between;margin:13px 0 -5px;gap:12px;font-size:14px}.nav-wrap nav a{padding:6px 0}.hero-grid{grid-template-columns:1fr;min-height:0;padding-block:65px;gap:5px}.hero-copy{max-width:620px}.hero-copy h1{font-size:clamp(2.8rem,6.9vw,3.5rem)}.network{width:300px;margin:-10px auto -25px}.about-grid{grid-template-columns:1fr;gap:27px}.about h2{max-width:500px}.section{padding-block:65px}.cards{gap:16px}.service{padding:24px 19px}.service h3{font-size:20px}.service p{font-size:15px}.number{right:20px}.team-cards{grid-template-columns:1fr}.profile{display:grid;grid-template-columns:1fr 1.2fr}.portrait{height:100%;min-height:275px;background-size:300% auto}.featured .profile-copy{border-top:0;border-left:4px solid var(--blue);padding-top:23px}.portal{grid-template-columns:1fr;gap:24px;padding:32px}.portal-title{display:flex;gap:22px;align-items:center}.portal-title svg{margin:0;flex-shrink:0}.portal h2{max-width:none}.portal-section{padding-bottom:65px}.footer-top{gap:35px}.footer-bottom{gap:30px}}
@media(max-width:600px){.container{width:calc(100% - 40px)}.brand{font-size:17px;gap:8px}.brand-mark{width:34px;height:34px;font-size:17px}.client-button{font-size:12px;gap:10px;padding:9px 10px}.nav-wrap nav{font-size:13px}.hero-grid{padding-top:48px;padding-bottom:38px}.hero-copy h1{font-size:2.8rem}.hero-copy>p{font-size:16px}.network{width:260px}.section{padding-block:52px}.cards{grid-template-columns:1fr;gap:20px}.service{padding:28px}.service h3{font-size:23px;max-width:270px;margin-top:24px}.service p{font-size:16px}.service .number{right:28px}.section-heading{margin-bottom:30px;gap:20px}.profile{display:block}.portrait{height:330px;min-height:0;background-position-y:12%}.profile-copy{padding:27px}.featured .profile-copy{border-left:0;border-top:4px solid var(--blue);padding-top:23px}.portal{padding:28px}.portal h2{font-size:26px}.portal-title{gap:17px}.portal-title svg{width:30px}.portal p{font-size:15px}.footer-top,.footer-bottom{display:flex;flex-direction:column;gap:30px}.footer-top{padding-bottom:30px}.footer-bottom{gap:16px}.hero-button{font-size:14px}.about p{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}
