:root { --ink:#061d3a; --ink-deep:#031226; --blue:#087fd1; --sky:#19a6f1; --orange:#ff6b24; --paper:#f7f7f3; --white:#fff; --line:rgba(6,29,58,.14); --muted:#526174; --display:'Syne',sans-serif; --body:'Sora',sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--body); font-size:16px; -webkit-font-smoothing:antialiased; }
body.menu-open { overflow:hidden; }
a { color:inherit; }
.shell { width:min(1192px, calc(100% - 64px)); margin-inline:auto; }
.visually-hidden { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.skip-link { position:fixed; left:16px; top:-60px; z-index:2000; padding:10px 14px; background:var(--orange); color:#fff; font-size:13px; text-decoration:none; }.skip-link:focus { top:16px; }
.site-header { position:absolute; z-index:20; width:100%; padding:24px 0; color:#fff; transition:background .25s, padding .25s; }.site-header.is-scrolled { position:fixed; padding:13px 0; background:rgba(3,18,38,.92); backdrop-filter:blur(15px); }
.nav { display:flex; align-items:center; justify-content:space-between; }.brand { display:block; width:126px; height:59px; }.brand img { display:block; width:100%; height:100%; object-fit:contain; }.nav-links { display:flex; align-items:center; gap:32px; }.nav-links > a:not(.nav-cta) { font-size:12px; letter-spacing:.05em; text-decoration:none; opacity:.84; transition:opacity .2s; }.nav-links > a:not(.nav-cta):hover { opacity:1; }.nav-cta { padding:11px 15px; border:1px solid rgba(255,255,255,.47); font-size:11px; letter-spacing:.04em; text-decoration:none; transition:background .2s,color .2s; }.nav-cta:hover { background:#fff; color:var(--ink); }.nav-cta span,.button span,.text-link span,.card-link span { margin-left:8px; font-size:1.15em; }.menu-toggle { display:none; }
.hero { min-height:720px; height:100vh; min-height:620px; position:relative; isolation:isolate; overflow:hidden; color:#fff; background:radial-gradient(circle at 74% 33%,#0e5b93 0%,#082c58 27%,var(--ink) 61%); }.hero-grid { position:absolute; inset:0; opacity:.21; background-image:linear-gradient(rgba(255,255,255,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.18) 1px,transparent 1px); background-size:80px 80px; mask-image:linear-gradient(90deg,transparent 0%,#000 35%,#000 72%,transparent 100%); }.hero::after { content:''; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(3,18,38,.58),transparent 65%); }.hero-orbit { position:absolute; border:1px solid rgba(107,204,255,.26); border-radius:50%; z-index:-1; }.orbit-one { width:790px; height:790px; right:-220px; top:-180px; }.orbit-two { width:540px; height:540px; right:-95px; top:-60px; border-color:rgba(255,255,255,.1); }.hero-layout { min-height:100vh; padding:156px 0 110px; display:grid; grid-template-columns:1.2fr .8fr; align-items:center; gap:75px; }.eyebrow { display:flex; align-items:center; gap:10px; margin:0 0 23px; color:var(--blue); font-size:10px; font-weight:700; letter-spacing:.17em; text-transform:uppercase; }.eyebrow span { display:inline-block; width:27px; height:1px; background:currentColor; }.eyebrow-light { color:#82cffa; }.hero h1,.section-intro h2,.method h2,.about h2,.contact h2 { margin:0; font-family:var(--display); font-weight:700; letter-spacing:-.065em; line-height:.97; }.hero h1 { max-width:730px; font-size:clamp(3.1rem,6vw,5.5rem); }.hero h1 em { color:var(--sky); font-style:normal; }.hero-description { max-width:535px; margin:29px 0 35px; color:#d1e0ee; font-size:15px; line-height:1.8; }.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:28px; }.button { display:inline-flex; align-items:center; justify-content:center; padding:15px 19px; font-weight:700; font-size:11px; letter-spacing:.045em; text-decoration:none; transition:transform .2s,box-shadow .2s,background .2s; }.button:hover { transform:translateY(-3px); box-shadow:0 14px 28px rgba(0,0,0,.2); }.button-accent { background:var(--orange); color:#fff; }.text-link { display:inline-flex; align-items:center; color:var(--ink); font-size:11px; font-weight:700; letter-spacing:.06em; text-decoration:none; }.text-link.light { color:#fff; }.text-link:hover span { transform:translateX(4px); }.text-link span { transition:transform .2s; }.hero-panel { position:relative; max-width:345px; justify-self:end; padding:25px 24px 20px; border:1px solid rgba(151,218,255,.4); background:rgba(8,53,95,.42); box-shadow:0 28px 55px rgba(0,0,0,.17); backdrop-filter:blur(8px); }.panel-index { margin:0; font-size:9px; letter-spacing:.14em; color:#8bcffd; }.panel-mark { margin:31px 0 24px; font-family:var(--display); font-size:70px; line-height:.8; letter-spacing:-.1em; }.panel-mark span { color:var(--orange); }.panel-line { width:100%; height:1px; background:rgba(255,255,255,.25); }.hero-panel > p:not(.panel-index) { margin:19px 0 25px; color:#d9e8f3; font-size:11px; line-height:1.75; }.panel-foot { display:flex; gap:12px; flex-wrap:wrap; font-size:8px; color:#8bcffd; letter-spacing:.1em; }.hero-bottom { position:absolute; bottom:29px; left:50%; transform:translateX(-50%); display:flex; justify-content:space-between; font-size:10px; letter-spacing:.05em; color:#9db5ca; }.hero-bottom p { margin:0; }.hero-bottom a { color:#fff; text-decoration:none; }.hero-bottom span { color:var(--sky); margin-left:6px; }
.section { padding:130px 0; }.section-intro { display:grid; grid-template-columns:1.25fr .75fr; gap:50px; align-items:end; margin-bottom:66px; }.section-intro .eyebrow,.section-intro h2 { grid-column:1; }.section-intro .eyebrow { margin-bottom:-11px; }.section-intro h2 { font-size:clamp(2.35rem,4.1vw,4rem); }.section-intro > p { grid-area:2 / 2; margin:0 0 3px; color:var(--muted); font-size:14px; line-height:1.8; }.service-list { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); }.service-card { min-height:410px; padding:25px 26px 27px; border-right:1px solid var(--line); display:flex; flex-direction:column; transition:background .35s,color .35s,transform .35s; }.service-card:first-child { border-left:1px solid var(--line); }.service-card:hover { background:var(--ink); color:#fff; transform:translateY(-10px); }.service-card.featured { background:#e7f3fb; }.service-card.featured:hover { background:var(--blue); }.service-number { font-family:var(--display); font-size:12px; color:var(--blue); }.service-card:hover .service-number { color:#7cd2ff; }.service-main { margin:auto 0 20px; }.service-icon { display:block; margin-bottom:24px; color:var(--blue); font-size:28px; }.service-card:hover .service-icon { color:var(--sky); }.service-card h3 { margin:0; font-family:var(--display); font-size:clamp(1.45rem,2.2vw,2rem); line-height:1.08; letter-spacing:-.06em; }.service-card p { margin:0 0 25px; color:var(--muted); font-size:12px; line-height:1.8; }.service-card:hover p { color:#d6e6f2; }.card-link { font-size:10px; font-weight:700; letter-spacing:.12em; text-decoration:none; text-transform:uppercase; }.card-link span { color:var(--orange); }
.method { color:#fff; background:var(--ink-deep); position:relative; overflow:hidden; }.method::after { content:'LMA'; position:absolute; right:-22px; bottom:-80px; color:rgba(255,255,255,.025); font-family:var(--display); font-size:300px; font-weight:800; letter-spacing:-.15em; }.method-grid { position:relative; z-index:1; display:grid; grid-template-columns:.95fr 1.05fr; gap:100px; }.method h2 { font-size:clamp(2.3rem,4vw,3.8rem); }.method-steps { border-top:1px solid rgba(255,255,255,.22); }.method-steps article { display:grid; grid-template-columns:61px 1fr; gap:17px; padding:23px 0; border-bottom:1px solid rgba(255,255,255,.22); }.method-steps > article > span { color:var(--sky); font-family:var(--display); font-size:11px; }.method-steps h3 { margin:0 0 9px; font-family:var(--display); font-size:18px; letter-spacing:-.04em; }.method-steps p { margin:0; max-width:410px; color:#aac0d2; font-size:12px; line-height:1.75; }
.about { background:#e9eff0; }.about-layout { display:grid; grid-template-columns:1fr 1fr; gap:100px; }.about-statement { border-top:2px solid var(--blue); padding-top:25px; }.quote-mark { color:var(--blue); font-family:var(--display); font-size:82px; line-height:.5; }.about-statement p { margin:25px 0 0; max-width:450px; font-family:var(--display); font-size:clamp(1.55rem,2.5vw,2.4rem); line-height:1.17; letter-spacing:-.055em; }.about-copy { max-width:455px; }.about-copy h2 { font-size:clamp(2rem,3vw,3.1rem); }.about-copy > p:not(.eyebrow) { margin:24px 0 27px; color:var(--muted); font-size:13px; line-height:1.9; }
.contact { padding:118px 0; color:#fff; background:linear-gradient(110deg,#063564,#071d39); }.contact-wrap { position:relative; }.contact-wrap::after { content:''; position:absolute; right:4%; top:-47px; width:185px; height:185px; border:1px solid rgba(122,205,249,.5); border-radius:50%; box-shadow:0 0 0 31px rgba(122,205,249,.06),0 0 0 65px rgba(122,205,249,.035); }.contact h2 { max-width:770px; margin-bottom:36px; font-size:clamp(2.65rem,5vw,4.8rem); }.button-large { padding:18px 23px; }
.footer { padding:35px 0 19px; color:#aebdca; background:#020e1d; }.footer-top { display:flex; align-items:center; justify-content:space-between; padding-bottom:30px; border-bottom:1px solid rgba(255,255,255,.16); }.footer-top img { width:140px; height:66px; object-fit:contain; }.footer-top a { color:#fff; font-size:10px; font-weight:700; letter-spacing:.08em; text-decoration:none; }.footer-top a span { margin-left:7px; color:var(--sky); }.footer-bottom { display:flex; justify-content:space-between; gap:20px; padding-top:17px; font-size:9px; letter-spacing:.06em; }.footer-bottom p { margin:0; }
.hero-image { width:min(100%,480px); height:620px; margin:0; justify-self:end; overflow:visible; }.hero-image img { display:block; width:100%; height:100%; object-fit:contain; object-position:center; }.contact { position:relative; overflow:hidden; }.contact-wrap { min-height:340px; }.contact-wrap::after { content:none; }.contact-wrap > :not(.contact-person) { position:relative; z-index:1; }.contact-person { position:absolute; z-index:0; right:-16px; bottom:-118px; width:min(40vw,390px); height:auto; pointer-events:none; }.reveal { opacity:1; transform:none; }.js-enabled .reveal { opacity:0; transform:translateY(18px); transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1); }.js-enabled .reveal.is-visible { opacity:1; transform:none; }.service-card:nth-child(2) { transition-delay:.1s; }.service-card:nth-child(3) { transition-delay:.2s; }
.hero-bottom { justify-content:flex-end; }
.nav-cta { padding:15px 19px; border:1px solid var(--orange); background:var(--orange); color:#fff; font-size:11px; font-weight:700; letter-spacing:.045em; text-decoration:none; transition:transform .2s,box-shadow .2s,background .2s; }.nav-cta:hover { background:#ff8533; color:#fff; transform:translateY(-3px); box-shadow:0 14px 28px rgba(0,0,0,.2); }
.footer-social { display:flex; align-items:center; gap:16px; }.footer-social a { display:grid; width:62px; height:62px; place-items:center; color:#1498e9; transition:color .2s,transform .2s; }.footer-social a:hover { color:#fff; transform:translateY(-2px); }.footer-social svg { width:48px; height:48px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }.footer-social .social-fill,.footer-social .footer-whatsapp svg { fill:currentColor; stroke:none; }
.footer-contact { text-align:right; }.footer-contact a { display:block; margin-top:8px; color:#1498e9; font-size:22px; letter-spacing:.06em; text-decoration:none; }.footer-contact a:hover { color:#fff; }
.footer-copyright { font-size:14px; }
@media (max-width:760px) { .shell { width:min(100% - 40px,1192px); }.site-header { padding:14px 0; }.brand { width:106px; height:50px; }.menu-toggle { display:flex; width:38px; height:33px; padding:8px 3px; flex-direction:column; justify-content:center; gap:6px; border:0; background:transparent; color:#fff; }.menu-toggle span:not(.visually-hidden) { width:27px; height:1px; background:currentColor; transition:transform .2s; }.menu-toggle[aria-expanded='true'] span:nth-of-type(2) { transform:translateY(3.5px) rotate(45deg); }.menu-toggle[aria-expanded='true'] span:nth-of-type(3) { transform:translateY(-3.5px) rotate(-45deg); }.nav-links { position:absolute; top:90px; left:20px; right:20px; display:none; padding:22px; flex-direction:column; align-items:stretch; gap:19px; background:#082646; box-shadow:0 18px 35px rgba(0,0,0,.3); }.nav-links.is-open { display:flex; }.nav-links > a:not(.nav-cta) { font-size:13px; }.nav-cta { text-align:center; }.hero { min-height:660px; height:auto; }.hero-layout { min-height:660px; padding:124px 0 86px; display:block; }.hero h1 { font-size:clamp(2.85rem,13vw,4.4rem); }.hero-description { font-size:13px; }.hero-image { display:none; }.hero-bottom { bottom:20px; font-size:9px; }.section { padding:80px 0; }.section-intro { display:block; margin-bottom:42px; }.section-intro h2 { font-size:2.3rem; }.section-intro > p { margin-top:20px; font-size:13px; }.service-list { grid-template-columns:1fr; }.service-card,.service-card:first-child { min-height:280px; border-left:1px solid var(--line); border-bottom:1px solid var(--line); }.service-card.featured { background:#e7f3fb; }.method-grid,.about-layout { grid-template-columns:1fr; gap:52px; }.method h2 { font-size:2.45rem; }.method-steps article { grid-template-columns:45px 1fr; }.about-statement p { font-size:1.85rem; }.contact { padding:77px 0; }.contact-wrap { min-height:0; }.contact-person { display:none; }.contact h2 { font-size:2.55rem; }.footer-top img { width:125px; height:59px; }.footer-top,.footer-bottom { align-items:flex-start; flex-direction:column; }.footer-bottom { gap:8px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.reveal { opacity:1; transform:none; transition:none; } *,*::before,*::after { transition-duration:.01ms!important; animation-duration:.01ms!important; } }
