:root{--navy:#092541;--navy2:#102f4b;--blue:#1974b9;--blue2:#2b8cca;--pale:#e9f4fb;--cream:#f7f9fb;--text:#193248;--muted:#667789;--line:#e3eaf0;--white:#fff;--shadow:0 15px 55px rgba(9,37,65,.1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;color:var(--text);background:white;font-family:Inter,"Plus Jakarta Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.66}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit}p{margin:0 0 1em}h1,h2,h3{line-height:1.17;letter-spacing:-.036em}h1,h2,h3,p{overflow-wrap:break-word}h1{font-size:clamp(2.9rem,5.25vw,5.7rem);font-weight:750;margin:.5rem 0 1.5rem}h2{font-size:clamp(2rem,3.65vw,3.85rem);font-weight:720;margin:.8rem 0 1.5rem}h2 span{color:#1978b9}h3{font-size:1.3rem;margin:0 0 .8rem}svg{width:20px;height:20px;flex-shrink:0}a:focus-visible,button:focus-visible{outline:3px solid #45a3ed;outline-offset:4px}.container{width:min(1240px,calc(100% - 56px));margin:0 auto}.skip{position:absolute;left:-1000px;top:6px;z-index:1000;background:white;padding:8px 14px}.skip:focus{left:8px}.topbar{background:var(--navy);color:#dce8f3;font-size:.78rem}.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:37px}.topbar-inner span{display:flex;align-items:center;gap:5px}.topbar-inner svg{width:13px;height:13px;color:#8fd3fe}.topbar-inner a{color:#fff}.topbar-inner a:hover{text-decoration:underline}.header{position:sticky;top:0;background:#fff;z-index:30;box-shadow:0 2px 26px rgba(9,37,65,.055)}.nav-wrap{height:82px;display:flex;align-items:center;gap:26px}.brand{display:inline-flex;align-items:center;gap:11px;min-width:max-content}.brand-mark{display:grid;place-items:center;width:49px;height:49px;border-radius:14px;background:linear-gradient(145deg,#0a74c5,#09457a);color:#fff;font-style:italic;font-size:34px;font-weight:850;line-height:1;letter-spacing:-.14em;padding-right:7px;position:relative;box-shadow:0 5px 16px rgba(5,86,159,.14)}.brand-mark-dot{color:#7ad9ff;position:absolute;bottom:8px;right:10px;font-size:18px}.brand-name{display:flex;flex-direction:column;line-height:1.1}.brand-name strong{font-size:1.3rem;letter-spacing:.09em;color:#0a2744;font-weight:900}.brand-name small{font-size:.69rem;letter-spacing:.24em;font-weight:750;margin-top:5px;color:#39718d}.nav-menu{display:flex;align-items:center;gap:25px;margin-left:auto}.nav-menu a{font-size:.86rem;font-weight:650;color:#33495d;white-space:nowrap}.nav-menu a:hover{color:var(--blue)}.nav-cta{display:inline-flex;gap:11px;align-items:center;justify-content:center;background:var(--blue);color:white;border-radius:8px;padding:11px 17px;font-size:.81rem;font-weight:730;white-space:nowrap}.nav-cta:hover{background:#0a548c}.nav-cta svg{width:16px}.menu-toggle{display:none}
.eyebrow{font-size:.76rem;font-weight:850;letter-spacing:.24em;color:#1674b4;display:inline-block}.eyebrow-light{color:#a2d9fb}.eyebrow-line{display:inline-block;background:#3bb2ff;height:2px;width:22px;vertical-align:middle;margin-right:8px}.section{padding:108px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:46px;margin-bottom:36px}.section-head h2{max-width:720px;margin-bottom:0}.section-head>p,.section-head>.portfolio-intro{max-width:380px;font-size:.99rem;color:var(--muted);margin:0 0 5px}.section-head>.portfolio-intro p:last-child{margin-bottom:0}
.hero{background:radial-gradient(ellipse at 56% 0%,#154c73 0%,transparent 51%),linear-gradient(125deg,#071d35,#0c304d);color:white;position:relative;overflow:hidden}.hero-dots{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.09) .65px,transparent .65px);background-size:22px 22px;mask-image:linear-gradient(to bottom,transparent,#000)}.hero-layout{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;padding:88px 0 86px}.hero h1{max-width:720px}.hero h1 em{font-family:Georgia,serif;color:#a2d9fb;font-weight:500}.hero-content>p{font-size:1.02rem;color:#dae7f0;max-width:600px;line-height:1.82}.hero-actions,.contact-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:11px;padding:15px 21px;border-radius:8px;font-size:.91rem;font-weight:750;transition:transform .2s,background .2s;text-align:center}.button:hover{transform:translateY(-2px)}.button svg{width:18px;height:18px}.button-primary{background:#2695d5;color:white}.button-primary:hover{background:#1b7cba}.button-ghost{border:1px solid #5c7286;color:white}.button-ghost:hover{background:#ffffff18}.hero-proof{display:flex;flex-wrap:wrap;gap:10px 19px;margin-top:36px;color:#bbd1df;font-size:.82rem}.hero-proof span{display:inline-flex;align-items:center;gap:4px}.hero-proof svg{width:16px;color:#84d5f4}.hero-visual{position:relative;padding:30px 0 20px 10px}.hero-photo{margin:0;position:relative;isolation:isolate;transform:rotate(1.2deg);box-shadow:0 30px 70px #0005}.hero-photo img{width:100%;aspect-ratio:4/4.45;object-fit:cover;border:9px solid #ffffff14;border-radius:5px}.hero-photo figcaption{position:absolute;bottom:19px;left:23px;background:#ffffffec;color:#143755;padding:12px 16px;border-radius:4px;font-size:.61rem;letter-spacing:.19em;font-weight:850;box-shadow:0 4px 12px #0002}.hero-photo figcaption span{font-size:.84rem;letter-spacing:0;font-weight:730;display:block;margin-top:1px}.hero-floating{position:absolute;right:-24px;top:0;background:#f5faff;color:#0b3155;box-shadow:var(--shadow);display:flex;gap:12px;align-items:center;border-radius:4px;padding:15px 20px;transform:rotate(-1.5deg)}.hero-floating strong{font:700 2.5rem Georgia,serif}.hero-floating span{font-size:.72rem;line-height:1.35;font-weight:750}.hero-footer{position:relative;background:#04182b88;border-top:1px solid #ffffff12}.hero-footer .container{display:flex;justify-content:center;gap:40px;flex-wrap:wrap;padding:15px 0}.hero-footer span{font-size:.71rem;letter-spacing:.1em;text-transform:uppercase;color:#a7c4d9}
.about-layout{display:grid;grid-template-columns:.98fr 1.02fr;gap:100px;align-items:center}.about-photo-col{position:relative;min-height:610px}.photo-large{width:83%;height:520px;border-radius:3px;overflow:hidden;box-shadow:var(--shadow)}.photo-large img,.photo-small img{width:100%;height:100%;object-fit:cover}.photo-small{position:absolute;right:0;bottom:0;width:50%;height:270px;border:10px solid white;overflow:hidden;box-shadow:var(--shadow)}.about-label{position:absolute;top:22px;left:-12px;background:white;box-shadow:var(--shadow);border-radius:2px;padding:12px 20px;font-size:.8rem;font-weight:700;display:flex;align-items:center;gap:10px}.about-label-dot{display:block;width:9px;height:9px;border-radius:50%;background:#2285c2}.about-content p{color:var(--muted)}.about-quote{border-left:3px solid #2c95cd;background:#f0f7fb;padding:18px 24px;margin-top:28px;color:#183e5d;font-weight:740}
.section-services{background:#f4f8fb}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.service{background:white;padding:32px 25px 31px;box-shadow:0 2px 25px #0a274412;border-bottom:3px solid transparent;transition:transform .2s,border .2s}.service:hover{transform:translateY(-6px);border-color:#2a9ad3}.service-icon{display:grid;place-items:center;width:51px;height:51px;border-radius:11px;background:#e8f4fa;color:#147bbd;margin-bottom:25px}.service-icon svg{width:26px;height:26px}.service>span{font-size:.64rem;letter-spacing:.18em;color:#5c91b3;font-weight:800}.service h3{font-size:1.18rem;margin-top:12px}.service p{font-size:.88rem;color:#697987;line-height:1.8;margin:0}
.section-portfolio{background:white}.portfolio-title{align-items:start}.portfolio-intro{padding-top:30px}.filter-wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 25px}.filter-buttons{display:flex;gap:8px;flex-wrap:wrap}.filter{border:1px solid #dce7f0;border-radius:999px;background:white;color:#476075;padding:9px 14px;cursor:pointer;font-weight:680;font-size:.81rem}.filter:hover{background:#f4faff}.filter.active{background:#0b4167;color:white;border-color:#0b4167}.filter span{font-size:.68rem;font-weight:850;margin-left:3px;opacity:.75}.gallery-count{font-size:.8rem;color:#72889a;white-space:nowrap;margin:0}.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 19px}.project-card{background:white;border:1px solid #e7edf2;border-radius:7px;overflow:hidden;transition:box-shadow .2s,transform .2s}.project-card:hover{box-shadow:0 14px 30px #132c461b;transform:translateY(-3px)}.project-card.is-hidden{display:none}.project-visual{width:100%;height:auto;border:0;display:block;padding:0;cursor:zoom-in;position:relative;background:#e2e9ee;overflow:hidden}.project-visual img{width:100%;height:263px;object-fit:cover;transition:transform .45s}.project-visual:hover img{transform:scale(1.045)}.view-icon{position:absolute;bottom:13px;right:13px;display:grid;place-items:center;width:32px;height:32px;border-radius:100px;background:white;color:#174e76;font-size:19px}.project-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:17px 17px 6px}.project-label{font-size:.67rem;text-transform:uppercase;letter-spacing:.16em;color:#287eaf;font-weight:860}.project-number{font-size:.7rem;color:#8c9ba7;font-weight:700}.project-card h3{font-size:1.06rem;margin:0 17px 5px;line-height:1.4;letter-spacing:-.01em}.project-phase{margin:0 17px 20px;color:#82919d;font-size:.78rem}.portfolio-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid #deebf5;background:#f6fbfe;padding:23px;margin-top:37px;border-radius:5px}.portfolio-bottom p{max-width:650px;font-size:.9rem;color:#5a7283;margin:0}.button-outline{border:1px solid #b4d3e8;color:#125989;white-space:nowrap;background:white}.highlight-projects{margin-top:72px}.highlight-projects>h3{font-size:1.5rem;margin-bottom:23px}.highlight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.highlight-grid>div{padding:24px;border:1px solid #e3ecf3;background:#fbfdff;border-radius:5px}.highlight-grid strong{display:block;color:#123b58;font-size:.99rem}.highlight-grid span{display:block;color:#2587bb;font-size:.73rem;font-weight:700;margin-top:6px}.highlight-grid p{margin:12px 0 0;color:#697987;font-size:.82rem;line-height:1.6}
.section-why{background:#f3f7fa}.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.why-grid article{border-top:2px solid #c5dfed;padding:30px 8px 0 0}.why-n{font:700 1.6rem Georgia,serif;color:#6aaacc;display:block;margin-bottom:17px}.why-grid h3{font-size:1.13rem}.why-grid p{font-size:.88rem;color:#647586}.section-steps{background:white}.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;position:relative}.step{padding:10px 15px 8px 0;position:relative}.step-num{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:100px;background:#e9f4fb;color:#136c9d;font-size:1.05rem;font-weight:850;margin-bottom:24px;border:1px solid #c7e2f0}.step:not(:last-child):after{content:"";position:absolute;top:41px;left:84px;right:0;border-top:1px dashed #b7d9eb}.step h3{font-size:1.15rem}.step p{font-size:.88rem;color:#667789}
.section-area{background:linear-gradient(110deg,#103855,#061c34);color:white}.area-inner{display:grid;grid-template-columns:1.3fr .7fr;gap:80px;align-items:center}.area-inner h2{max-width:740px}.area-inner h2 span{color:#a8d7f3}.area-inner p{color:#c1d2df;max-width:750px}.area-aside{border:1px solid #ffffff38;border-radius:7px;padding:35px 30px;display:flex;flex-direction:column;gap:14px;background:#ffffff08}.area-aside>span{font-size:.85rem;color:#c9deeb}.area-aside>span svg{vertical-align:middle;width:17px}.area-aside>strong{font-size:2.3rem;line-height:1.1;letter-spacing:.05em;color:white}.area-sep{height:1px;background:#ffffff42;margin:7px 0}.area-aside>a{font-weight:730;font-size:.84rem;color:#9dd9ff;margin-top:10px}.area-aside>a svg{vertical-align:middle;width:15px}
.section-contact{background:#f5f8fb}.contact-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:90px;align-items:center}.contact-main p{color:#647586}.invitation{display:block;color:#133f5e;margin-top:22px}.button-whatsapp{background:#128657;color:white}.button-whatsapp:hover{background:#0d6742}.button-instagram{background:white;border:1px solid #d1deea;color:#184a6b}.contact-card{padding:37px 40px;background:white;box-shadow:0 20px 60px #0f36501c;border-top:4px solid #218fc9}.card-kicker{font-size:.7rem;font-weight:850;letter-spacing:.21em;color:#1a7fb7}.contact-card h3{font-size:1.65rem;margin:14px 0 25px;max-width:320px}.contact-line{display:flex;flex-direction:column;gap:1px;border-top:1px solid #e6ecf1;padding:14px 0}.contact-line small{font-size:.7rem;color:#8293a0}.contact-line strong,.contact-line a{font-weight:760;font-size:.92rem;color:#184560;overflow-wrap:anywhere}.contact-line a:hover{color:#1588c4;text-decoration:underline}.card-bottom{display:flex;align-items:center;gap:13px;justify-content:center;background:#0c3555;color:white;padding:14px;margin-top:18px;border-radius:4px;font-size:.82rem;font-weight:760}.card-bottom svg{width:17px}.closing{background:#123957;color:white;text-align:center;padding:77px 0 83px}.closing .container{max-width:840px}.closing h2{margin:12px 0 25px}.closing h2 em{font-family:Georgia,serif;color:#abddff;font-weight:500}.closing p{color:#c9dae6}.closing strong{display:block;margin-top:26px;font-size:1.02rem;color:#f1f7fb}
.footer{background:#061b2f;color:white;padding:60px 0 0}.footer-top{display:grid;grid-template-columns:1.4fr .6fr .9fr;gap:65px}.brand-footer .brand-name strong{color:white}.brand-footer .brand-name small{color:#9fc7df}.footer-top p{color:#9fb3c4;max-width:350px;margin:23px 0;font-size:.89rem}.footer-top>div:not(:first-child){display:flex;flex-direction:column;gap:10px}.footer-top h3{font-size:.95rem;letter-spacing:0;margin:6px 0 10px}.footer-top a:not(.brand),.footer-top span:not(.brand-mark){font-size:.84rem;color:#bbcedc}.footer-top a:hover{color:white}.footer-bottom{border-top:1px solid #ffffff21;display:flex;justify-content:space-between;gap:15px;padding:22px 0;margin-top:46px;font-size:.76rem;color:#96b0c4}.floating-wa{position:fixed;z-index:35;right:22px;bottom:22px;display:flex;align-items:center;gap:9px;background:#148c58;color:white;border-radius:50px;padding:12px 18px;box-shadow:0 10px 27px #105a396b;font-weight:800;font-size:.82rem}.floating-wa svg{width:25px;height:25px}.floating-wa:hover{background:#086d42}
.photo-modal{width:min(96vw,1200px);max-width:none;border:none;padding:0;border-radius:9px;background:#071f33;color:white;box-shadow:0 35px 90px #000a}.photo-modal::backdrop{background:#000e}.modal-top,.modal-bottom{display:flex;justify-content:space-between;align-items:center;padding:10px 18px;gap:15px}.modal-top span{font-size:.86rem;font-weight:700}.modal-top button{background:none;border:0;color:white;font-size:2rem;cursor:pointer;line-height:1}.modal-stage{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:240px;background:#061521}.modal-stage img{display:block;max-height:77vh;max-width:calc(100% - 110px);width:auto;height:auto;object-fit:contain}.modal-navigation{background:#ffffff24;border:1px solid #ffffff45;color:white;font-size:2rem;width:44px;height:54px;cursor:pointer;border-radius:3px;flex-shrink:0}.modal-bottom{font-size:.8rem;color:#a7c8de}.modal-bottom a{color:#a7dfff;display:inline-flex;align-items:center;gap:7px}.modal-bottom svg{width:16px}
@media(max-width:1180px){.nav-menu{gap:15px}.nav-menu a{font-size:.79rem}.nav-cta{display:none}.service-grid{grid-template-columns:repeat(2,1fr)}.about-layout{gap:60px}.hero-layout{gap:40px}.hero-floating{right:0}}
@media(max-width:860px){.container{width:min(100% - 34px,720px)}.nav-wrap{height:72px}.menu-toggle{display:flex;flex-direction:column;gap:5px;padding:10px;background:none;border:0;cursor:pointer;margin-left:auto}.menu-toggle span{height:2px;width:24px;background:#173e5e;display:block}.nav-menu{position:absolute;top:100%;left:0;right:0;background:white;flex-direction:column;align-items:stretch;gap:0;margin:0;box-shadow:0 10px 22px #0002;padding:12px 20px;display:none}.nav-menu.open{display:flex}.nav-menu a{padding:11px 9px;border-bottom:1px solid #f0f3f6}.hero-layout{grid-template-columns:1fr;padding:65px 0}.hero-content>p{max-width:670px}.hero-visual{max-width:650px;margin:0 auto}.hero-photo img{aspect-ratio:4/3}.hero-floating{right:3px}.hero-footer .container{gap:12px 22px}.hero-footer span{font-size:.63rem}.section{padding:72px 0}.section-head{display:block}.section-head>p,.section-head>.portfolio-intro{max-width:650px;margin:18px 0 0}.about-layout{grid-template-columns:1fr}.about-photo-col{max-width:580px;min-height:450px;margin:auto;width:100%}.photo-large{height:400px}.photo-small{height:215px}.portfolio-grid,.highlight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.why-grid,.steps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.step:nth-child(2):after{display:none}.area-inner,.contact-layout{grid-template-columns:1fr;gap:35px}.footer-top{grid-template-columns:1fr 1fr;gap:38px}.footer-top>div:first-child{grid-column:span 2}.filter-wrap{display:block}.gallery-count{margin-top:15px}.portfolio-bottom{display:block}.portfolio-bottom .button{margin-top:16px}}
@media(max-width:560px){.container{width:calc(100% - 30px)}.topbar-inner{min-height:34px;justify-content:center}.topbar-inner>span{display:none}.topbar-inner a{font-size:.72rem}.brand-mark{width:40px;height:40px;font-size:27px}.brand-mark-dot{font-size:15px;right:8px;bottom:6px}.brand-name strong{font-size:1rem}.brand-name small{font-size:.51rem;letter-spacing:.19em}.hero-layout{padding:47px 0 57px;gap:24px}.hero h1{font-size:clamp(2.6rem,10.4vw,4rem)}.hero-content>p{font-size:.93rem}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .button{width:100%}.hero-proof{gap:10px}.hero-visual{padding:15px 8px}.hero-photo img{aspect-ratio:1/1}.hero-floating{padding:7px 10px;right:0;top:0;gap:5px}.hero-floating strong{font-size:1.7rem}.hero-floating span{font-size:.54rem}.hero-footer .container{padding:13px 0}.hero-footer span{font-size:.6rem}.section{padding:58px 0}h2{font-size:clamp(1.9rem,9vw,2.8rem)}.about-photo-col{min-height:355px}.photo-large{height:324px}.photo-small{height:167px;width:49%;border-width:6px}.about-label{top:16px;left:0}.service-grid,.portfolio-grid,.highlight-grid{grid-template-columns:1fr}.service{padding:26px 24px}.project-visual img{height:260px}.filter-buttons{gap:7px}.filter{font-size:.77rem;padding:9px 12px}.portfolio-bottom{padding:19px}.portfolio-bottom .button{white-space:normal;width:100%}.highlight-projects{margin-top:50px}.why-grid,.steps-grid{grid-template-columns:1fr;gap:9px}.why-grid article{padding-top:20px}.step:after{display:none!important}.step{padding-bottom:10px}.area-aside{padding:25px}.contact-card{padding:27px 24px}.contact-actions{flex-direction:column}.contact-actions .button{width:100%}.footer-top{grid-template-columns:1fr;gap:22px}.footer-top>div:first-child{grid-column:auto}.footer-bottom{flex-direction:column;text-align:center}.floating-wa{right:14px;bottom:12px;padding:11px;border-radius:999px}.floating-wa span{display:none}.floating-wa svg{width:29px;height:29px}.photo-modal{width:100vw;max-height:100vh;border-radius:0}.modal-stage img{max-width:calc(100% - 80px);max-height:75vh}.modal-navigation{width:35px;height:46px}.modal-bottom{flex-wrap:wrap;justify-content:center}.modal-top{padding:8px 13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
