:root{--blue:#173d70;--blue2:#0e2f5c;--ink:#14243a;--muted:#6e7885;--line:#dce1e7;--soft:#f2f4f7;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'DM Sans',sans-serif;background:#fff}img{display:block;width:100%}a{color:inherit;text-decoration:none}button{font:inherit}.header{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid rgba(20,36,58,.1);position:absolute;z-index:10;width:100%}.brand{display:flex;align-items:center;gap:15px}.brand img{width:112px;height:48px;object-fit:contain}.brand span{font:600 9px/1.25 'Manrope';letter-spacing:.2em;border-left:1px solid #bdc5cd;padding-left:14px}.nav{display:flex;align-items:center;gap:34px;font:500 13px 'Manrope'}.nav a:not(.nav-cta){position:relative}.nav a:not(.nav-cta):after{content:"";position:absolute;bottom:-6px;left:0;width:0;height:1px;background:var(--blue);transition:.3s}.nav a:hover:after{width:100%}.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:30px}.nav-cta{background:var(--blue);color:#fff;padding:14px 20px;min-width:132px}.menu-btn{display:none;background:none;border:0}.hero{min-height:790px;display:grid;grid-template-columns:47% 53%;background:linear-gradient(135deg,#f8f9fa,#edf1f5)}.hero-copy{padding:185px 4vw 80px 7vw;z-index:2}.eyebrow{font:600 11px 'Manrope';letter-spacing:.17em;text-transform:uppercase;display:flex;align-items:center;gap:10px;margin:0 0 32px}.eyebrow span{width:32px;height:2px;background:#376eac}.hero h1,.section h2,.contact h2{font:500 clamp(42px,5vw,76px)/.98 'Manrope';letter-spacing:-.06em;margin:0}.hero h1 em,.section h2 em,.contact h2 em{font-style:normal;color:#5277a5;font-weight:400}.hero-lead{max-width:480px;font-size:17px;line-height:1.6;color:#52606f;margin:35px 0}.hero-actions{display:flex;align-items:center;gap:30px}.btn{padding:18px 24px;font:600 12px 'Manrope';letter-spacing:.03em}.btn-primary{background:var(--blue);color:#fff}.btn-primary:hover,.nav-cta:hover{background:#24548e}.text-link{font-size:13px;border-bottom:1px solid #aab4bf;padding:10px 0}.hero-visual{position:relative;overflow:hidden;margin-top:92px}.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(238,242,246,.55),transparent 30%)}.hero-visual>img{height:100%;object-fit:cover}.experience{position:absolute;z-index:2;right:5vw;top:9%;color:#fff;display:flex;align-items:center;gap:14px;text-shadow:0 1px 8px #345}.experience strong{font:400 76px/1 'Manrope'}.experience span{font-size:12px;text-transform:uppercase;letter-spacing:.1em}.scroll-note{position:absolute;z-index:2;bottom:35px;left:40px;color:#fff;font-size:9px;letter-spacing:.16em}.scroll-note i{display:inline-block;width:70px;height:1px;background:#fff;margin:0 0 3px 14px}.trust-strip{display:flex;justify-content:space-around;padding:22px 5vw;border-bottom:1px solid var(--line);color:#65717f;font-size:10px;text-transform:uppercase;letter-spacing:.16em}.section{padding:120px 7vw}.section-heading{display:flex;justify-content:space-between;align-items:flex-start}.section-heading h2{font-size:clamp(38px,4vw,58px)}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:80px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service-card{min-height:390px;padding:28px;border-right:1px solid var(--line);position:relative;transition:.35s}.service-card:last-child{border:0}.service-card>span{font-size:10px;color:#8b96a2}.service-icon{font:400 44px 'Manrope';height:100px;display:flex;align-items:center;color:#8b9db2}.service-card h3{font:500 22px 'Manrope';margin:20px 0 15px}.service-card p{font-size:13px;line-height:1.65;color:var(--muted)}.service-card a{position:absolute;bottom:28px;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.service-card:hover{background:var(--blue);color:#fff;transform:translateY(-8px)}.service-card:hover p,.service-card:hover>span{color:#cbd6e2}.about{padding:0;display:grid;grid-template-columns:1fr 1fr;background:var(--blue2);color:#fff}.about-image{min-height:680px;position:relative}.about-image img{height:100%;object-fit:cover}.about-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,30,60,.6),transparent 40%)}.about-image>span{position:absolute;z-index:2;left:40px;bottom:38px;font-size:10px;letter-spacing:.15em}.about-copy{padding:100px 7vw}.eyebrow.light span{background:#9cb6d3}.about h2{font-size:clamp(38px,4vw,58px)}.about-copy>p:not(.eyebrow){color:#c1ccda;line-height:1.7;font-size:14px;max-width:550px}.stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.2);margin-top:70px;padding-top:30px}.stats strong{display:block;font:400 34px 'Manrope'}.stats span{font-size:10px;color:#9cacbe;text-transform:uppercase;letter-spacing:.1em}.project-top{display:flex;justify-content:space-between;align-items:flex-end}.project-top>p{max-width:350px;color:var(--muted);line-height:1.6}.filters{display:flex;gap:8px;margin:60px 0 32px}.filters button{border:1px solid var(--line);background:#fff;padding:10px 17px;font-size:11px;cursor:pointer}.filters button.active{background:var(--blue);color:#fff;border-color:var(--blue)}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:36px 20px}.project-card.large{grid-row:span 2}.project-card.wide{grid-column:span 2}.project-image{height:330px;overflow:hidden;position:relative;background:var(--soft)}.project-card.large .project-image{height:730px}.project-card.wide .project-image{height:470px}.project-image img{height:100%;object-fit:cover;transition:.7s}.project-image>span{position:absolute;right:18px;top:18px;width:42px;height:42px;background:#fff;display:grid;place-items:center;opacity:0;transform:translateY(10px);transition:.3s}.project-card:hover img{transform:scale(1.035)}.project-card:hover .project-image>span{opacity:1;transform:none}.project-card>div:last-child p{font-size:9px;letter-spacing:.14em;color:#7a8794;margin:18px 0 8px}.project-card h3{font:500 21px 'Manrope';margin:0}.project-card.hidden{display:none}.process{background:var(--soft)}.steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:80px}.steps article{border-top:1px solid #bfc7d0;padding:28px 30px 20px 0;min-height:230px}.steps article+article{padding-left:30px;border-left:1px solid #d5dbe1}.steps span{font-size:10px;color:#75818d}.steps h3{font:500 20px 'Manrope';margin-top:45px}.steps p{font-size:13px;color:var(--muted);line-height:1.6}.contact{background:var(--blue);color:#fff;display:grid;grid-template-columns:1.45fr 1fr;padding:110px 7vw;gap:8vw}.contact h2{font-size:clamp(43px,5vw,70px)}.contact h2 em{color:#a8bdd7}.btn-light{background:#fff;color:var(--blue);margin-top:45px;min-width:250px}.contact-info{display:grid;grid-template-columns:1fr 1fr;gap:50px 35px;border-left:1px solid rgba(255,255,255,.2);padding-left:60px}.contact-info small{display:block;color:#91a9c5;font-size:9px;letter-spacing:.17em;margin-bottom:14px}.contact-info a,.contact-info p{display:block;font:400 14px/1.6 'Manrope';margin:0}.contact-info a:hover{text-decoration:underline}footer{display:flex;align-items:center;justify-content:space-between;padding:32px 5vw;background:#0b2345;color:#aab9ca;font-size:10px}.footer-brand{display:flex;align-items:center;gap:15px;color:#fff}.footer-brand img{width:75px;background:#fff;padding:4px}.footer-brand span{letter-spacing:.13em}.whatsapp{position:fixed;z-index:20;right:25px;bottom:24px;background:#25d366;color:#fff;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;font-size:25px;box-shadow:0 8px 24px #1235}.whatsapp span{position:absolute;right:64px;background:#183a65;padding:9px 12px;font-size:10px;opacity:0;transform:translateX(8px);transition:.3s}.whatsapp:hover span{opacity:1;transform:none}.reveal{opacity:0;transform:translateY(25px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.header{height:76px;position:fixed;background:rgba(255,255,255,.95);backdrop-filter:blur(12px)}.brand img{width:86px}.brand span{display:none}.menu-btn{display:block;width:40px;height:40px;position:relative;z-index:12}.menu-btn span{display:block;width:24px;height:1px;background:var(--ink);margin:7px auto;transition:.3s}.nav{position:fixed;inset:0;background:#fff;flex-direction:column;justify-content:center;font-size:22px;transform:translateX(100%);transition:.4s}.nav.open{transform:none}.menu-btn.open span:first-child{transform:translateY(4px) rotate(45deg)}.menu-btn.open span:last-child{transform:translateY(-4px) rotate(-45deg)}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:140px 7vw 70px}.hero h1{font-size:clamp(45px,12vw,65px)}.hero-visual{margin:0;height:470px}.trust-strip{overflow:auto;justify-content:flex-start;gap:50px}.trust-strip p{white-space:nowrap}.section{padding:80px 6vw}.section-heading,.project-top{display:block}.service-grid{grid-template-columns:1fr 1fr;margin-top:50px}.service-card:nth-child(2){border-right:0}.service-card{border-bottom:1px solid var(--line)}.about{grid-template-columns:1fr}.about-image{min-height:480px}.about-copy{padding:75px 7vw}.project-top>p{margin-top:25px}.project-card.large{grid-row:auto}.project-card.large .project-image,.project-image{height:390px}.steps{grid-template-columns:1fr 1fr}.contact{grid-template-columns:1fr}.contact-info{border-left:0;border-top:1px solid rgba(255,255,255,.2);padding:45px 0 0}.project-card.wide{grid-column:span 2}}
@media(max-width:560px){.hero-copy{padding-top:125px}.hero-lead{font-size:15px}.hero-actions{align-items:flex-start;flex-direction:column}.hero-visual{height:380px}.experience{top:25px}.experience strong{font-size:54px}.section-heading h2,.about h2{font-size:39px}.service-grid{grid-template-columns:1fr}.service-card{border-right:0;min-height:330px}.project-grid{grid-template-columns:1fr}.project-card.wide{grid-column:auto}.project-card .project-image,.project-card.large .project-image,.project-card.wide .project-image{height:380px}.filters{overflow-x:auto;padding-bottom:8px}.filters button{white-space:nowrap}.steps{grid-template-columns:1fr}.steps article+article{border-left:0;padding-left:0}.contact{padding:75px 7vw}.contact-info{grid-template-columns:1fr}.stats{gap:10px}.stats strong{font-size:28px}footer{align-items:flex-start;gap:25px;flex-direction:column}.footer-brand span{display:none}}
.project-grid{grid-template-columns:repeat(3,1fr);gap:42px 20px}.project-card.large,.project-card.wide{grid-column:auto;grid-row:auto}.project-card .project-image,.project-card.large .project-image,.project-card.wide .project-image{height:315px}.project-image>span{display:none}.project-card h3{font-size:19px;line-height:1.3}
@media(max-width:900px){.project-grid{grid-template-columns:repeat(2,1fr)}.project-card .project-image,.project-card.large .project-image,.project-card.wide .project-image{height:360px}}
@media(max-width:560px){.project-grid{grid-template-columns:1fr}.project-card .project-image,.project-card.large .project-image,.project-card.wide .project-image{height:380px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{opacity:1;transform:none;transition:none}}

/* Jerarquía editorial y hero de imagen completa */
.hero{position:relative;display:block;min-height:100svh;background:#e8edf2;overflow:hidden}.hero-visual{position:absolute;inset:0;margin:0;height:100%;z-index:0}.hero-visual:after{background:linear-gradient(90deg,rgba(244,247,249,.97) 0%,rgba(244,247,249,.88) 35%,rgba(244,247,249,.18) 67%,rgba(13,36,62,.1) 100%)}.hero-copy{position:relative;width:min(720px,58vw);padding:clamp(170px,21vh,230px) 4vw 90px 7vw;z-index:2}.hero h1{font-size:clamp(58px,6.4vw,104px);line-height:.93}.hero-lead{font-size:20px;line-height:1.55;max-width:590px}.experience{top:auto;bottom:80px}.eyebrow{font-size:13px}.service-card p,.steps p,.project-top>p,.about-copy>p:not(.eyebrow){font-size:16px}.service-card a,.filters button{font-size:14px}.project-card>div:last-child p{font-size:12px}.project-card h3{font-size:22px}.contact-info a,.contact-info p{font-size:17px}.contact-info small{font-size:12px}.stats span{font-size:12px}
.purpose{background:#f4f4f3}.purpose-head{display:grid;grid-template-columns:1.25fr .75fr;column-gap:8vw;align-items:end}.purpose-head .eyebrow{grid-column:1/-1}.purpose-head h2{font-size:clamp(48px,5vw,76px)}.purpose-head>p:last-child{font-size:19px;line-height:1.55;margin:0 0 5px}.purpose-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:70px}.purpose-card{min-height:570px;border-radius:18px;padding:34px;display:flex;flex-direction:column;justify-content:space-between}.purpose-card.mission{background:#111;color:#fff}.purpose-card.vision{background:#dfe2e5;color:#111}.purpose-number{font:500 24px 'Manrope'}.purpose-label{font:600 16px 'Manrope';text-transform:uppercase;letter-spacing:.08em;margin:0 0 25px}.purpose-card h3{font:500 clamp(35px,3vw,52px)/1.02 'Manrope';letter-spacing:-.04em;max-width:600px;margin:0 0 30px}.purpose-card div>p:last-child{font-size:19px;line-height:1.55;max-width:650px;margin:0}.about-copy>p:not(.eyebrow){line-height:1.65}
@media(max-width:900px){.hero{min-height:860px}.hero-copy{width:82vw;padding-top:150px}.hero-visual:after{background:linear-gradient(90deg,rgba(244,247,249,.96),rgba(244,247,249,.7) 70%,rgba(244,247,249,.25))}.hero h1{font-size:clamp(54px,11vw,80px)}.purpose-head{grid-template-columns:1fr}.purpose-head>p:last-child{margin-top:30px;max-width:620px}.purpose-cards{grid-template-columns:1fr}.purpose-card{min-height:500px}}
@media(max-width:560px){.hero{min-height:760px}.hero-copy{width:100%;padding:135px 7vw 60px}.hero h1{font-size:50px}.hero-lead{font-size:18px}.hero-visual:after{background:linear-gradient(180deg,rgba(244,247,249,.97) 0%,rgba(244,247,249,.8) 52%,rgba(244,247,249,.1) 100%)}.experience{bottom:24px}.scroll-note{display:none}.purpose-head h2{font-size:43px}.purpose-card{min-height:520px;padding:27px}.purpose-card div>p:last-child{font-size:17px}}
.trust-strip{font-size:13px}.project-card>div:last-child p{font-size:13px;line-height:1.4}.service-card>span,.steps span{font-size:14px}.scroll-note{font-size:11px}.experience span{font-size:14px}.stats span{font-size:14px}.footer-brand span,footer{font-size:13px}

/* Hero centrado */
.hero-copy{width:min(1000px,88vw);margin:0 auto;padding-left:0;padding-right:0;text-align:center;display:flex;flex-direction:column;align-items:center}.hero-visual:after{background:linear-gradient(rgba(7,25,46,.48),rgba(7,25,46,.48))}.hero h1,.hero h1 em{color:#fff;text-shadow:0 3px 28px rgba(0,0,0,.2)}.hero-lead{color:#fff}.hero-actions{justify-content:center}.hero .text-link{color:#fff;border-color:rgba(255,255,255,.7)}.hero .experience{display:none}.header{color:#fff;border-color:rgba(255,255,255,.25)}.header .brand img{background:#fff;padding:5px}.header .brand span{border-color:rgba(255,255,255,.45)}.header .nav a:not(.nav-cta):after{background:#fff}

/* Sin etiquetas pequeñas */
.eyebrow,.trust-strip,.scroll-note{display:none}.section-heading,.project-top{justify-content:flex-end}.project-top>div{width:100%}

/* Portafolio a pantalla completa */
.projects.section{padding:110px 0 0}.project-top,.filters{padding-left:5vw;padding-right:5vw}.project-top>p{font-size:18px;margin-right:5vw}.filters{margin-top:45px;margin-bottom:35px}.project-grid{width:100%;grid-template-columns:repeat(3,1fr);gap:0}.project-card{position:relative;cursor:pointer;overflow:hidden;background:#122c4c;outline-offset:-4px}.project-card .project-image,.project-card.large .project-image,.project-card.wide .project-image{height:auto;aspect-ratio:4/3}.project-card>div:last-child{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:70px 28px 26px;color:#fff;background:linear-gradient(transparent,rgba(4,15,29,.88));pointer-events:none}.project-card>div:last-child p{font-size:14px;color:rgba(255,255,255,.8);margin:0 0 7px}.project-card h3{font-size:25px;color:#fff}.project-card:hover img{transform:scale(1.06)}

/* Visor de galería */
.lightbox{position:fixed;z-index:100;inset:0;background:rgba(4,12,24,.96);display:none;align-items:center;justify-content:center;padding:55px 9vw}.lightbox.open{display:flex}.lightbox figure{margin:0;max-width:min(1200px,82vw);width:100%;height:88vh;display:flex;flex-direction:column;justify-content:center}.lightbox figure img{width:100%;height:calc(100% - 80px);object-fit:contain}.lightbox figcaption{min-height:80px;color:#fff;padding-top:18px}.lightbox figcaption strong{display:block;font:500 25px 'Manrope'}.lightbox figcaption span{display:block;font-size:16px;color:#b9c5d3;margin-top:4px}.lightbox button{position:absolute;border:0;background:#fff;color:#102b4e;cursor:pointer;display:grid;place-items:center}.lightbox-close{right:28px;top:22px;width:50px;height:50px;font-size:36px}.lightbox-prev,.lightbox-next{top:50%;width:54px;height:70px;font-size:45px;transform:translateY(-50%)}.lightbox-prev{left:28px}.lightbox-next{right:28px}
@media(max-width:900px){.header{color:var(--ink)}.header .brand span{border-color:#bdc5cd}.hero-copy{width:88vw}.project-grid{grid-template-columns:repeat(2,1fr)}.project-top,.filters{padding-left:6vw;padding-right:6vw}.lightbox{padding:40px 70px}.lightbox figure{max-width:100%}}
@media(max-width:560px){.hero-copy{width:86vw;padding-left:0;padding-right:0}.hero h1{font-size:48px}.projects.section{padding-top:80px}.project-top>p{margin-top:24px;margin-right:0}.project-grid{grid-template-columns:1fr}.project-card .project-image,.project-card.large .project-image,.project-card.wide .project-image{height:auto;aspect-ratio:4/3}.project-card>div:last-child{padding:60px 20px 20px}.lightbox{padding:70px 16px 30px}.lightbox figure{height:82vh;max-width:100%}.lightbox-prev,.lightbox-next{top:auto;bottom:18px;width:50px;height:50px}.lightbox-prev{left:calc(50% - 58px)}.lightbox-next{right:calc(50% - 58px)}.lightbox-close{right:16px;top:14px}}

/* Sección Nosotros contenida y alineada */
.about{width:min(1320px,90vw);margin:110px auto;grid-template-columns:48% 52%;border-radius:18px;overflow:hidden}.about-image{min-height:610px}.about-copy{padding:70px 6vw;display:flex;flex-direction:column;justify-content:center}.about-copy h2{font-size:clamp(42px,4vw,61px)}.about-copy>p:not(.eyebrow){max-width:580px}.stats{margin-top:48px}.whatsapp svg{width:30px;height:30px;display:block}
@media(max-width:900px){.about{width:88vw;margin:80px auto;grid-template-columns:1fr}.about-image{min-height:520px}.about-copy{padding:65px 7vw}}
@media(max-width:560px){.about{width:90vw;margin:60px auto;border-radius:12px}.about-image{min-height:420px}.about-copy{padding:50px 7vw}.about-copy h2{font-size:40px}}

/* Geometría recta y logos sin contenedor */
.about,.purpose-card,.whatsapp,.btn,.nav-cta,.filters button,.lightbox button{border-radius:0}.header .brand img,.footer-brand img{background:transparent;padding:0}
.whatsapp{border-radius:50%}
.header .brand img,.footer-brand img{mix-blend-mode:multiply}.footer-brand img{width:92px}footer{background:#eef1f4;color:#173d70}.footer-brand{color:#173d70}
.header{background:#fff;color:var(--ink);border-color:var(--line)}.header .brand span{border-color:#bdc5cd}.header .nav a:not(.nav-cta):after{background:var(--blue)}
.section h2 em,.contact h2 em,.hero h1 em{color:inherit}
html *{font-family:'Montserrat',sans-serif!important}
.purpose-card.mission{background:#123965;color:#fff}.purpose-card.vision{background:#356b9f;color:#fff}
