:root{--bg:#050505;--text:#f4f4f1;--text-2:#c2c2be;--text-3:#9a9a96;--text-4:#7c7c78;--line:#292929;--line-strong:#454545;--fs-micro:.6875rem;--fs-sm:.875rem;--fs-base:1.0625rem;--fs-md:1.25rem;--fs-lg:1.875rem;--fs-xl:2.1875rem;--fs-display:9rem;--fs-heading:5.25rem;--fs-error-code:15.625rem;--fs-error-heading:3.25rem;--track-label:.16em;--track-ui:.09em;--max:90rem;--pad:4rem;--section-block:10.625rem;--layout-gap:6rem;--approach-gap:9rem;--contact-gap:10.5rem;--error-page-block:7.5rem;--error-art-height:20.625rem;--error-art-gap:3.25rem}*{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}:focus-visible{outline:2px solid var(--text);outline-offset:3px}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:Arial,Helvetica,sans-serif;font-weight:400;line-height:1.5}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{color:inherit}.site-header{z-index:20;width:100%;height:78px;padding:0 var(--pad);backdrop-filter:blur(16px);background:#050505c7;border-bottom:1px solid #ffffff17;grid-template-columns:1fr auto 1fr;align-items:center;display:grid;position:fixed;top:0;left:0}.brand{font-size:var(--fs-md);letter-spacing:-.06em;font-weight:700}.brand-dot{color:#fff}.main-nav{justify-content:center;gap:34px;display:flex}.main-nav a,.header-cta,.language-button{font-size:var(--fs-micro);letter-spacing:var(--track-ui);text-transform:uppercase}.main-nav a,.language-button{color:var(--text-4);transition:color .18s}.main-nav a:hover,.language-button:hover,.language-button.active{color:#fff}.header-actions{justify-content:flex-end;align-items:center;gap:22px;display:flex}.language-switcher{gap:5px;display:flex}.language-button{cursor:pointer;background:0 0;border:0;padding:4px}.header-cta{border:1px solid var(--line-strong);padding:10px 14px;transition:background .18s,border-color .18s}.header-cta:hover{color:#000;background:#fff;border-color:#fff}.hero{border-bottom:1px solid var(--line);align-items:flex-end;min-height:100svh;display:flex;position:relative;overflow:hidden}.hero-art{background:radial-gradient(circle at 50% 45%,#ffffff0f,#0000 26%),linear-gradient(135deg,#050505 0%,#080808 48%,#030303 100%);position:absolute;inset:0}.hero-canvas{pointer-events:none;opacity:0;width:100%;height:100%;transition:opacity .7s;display:block;position:absolute;inset:0}.hero-art--webgl .hero-canvas{opacity:1}.hero-art--webgl .beam{opacity:0}.beam{transition:opacity .7s}.hero-grid{opacity:.34;background-image:linear-gradient(#ffffff09 1px,#0000 1px),linear-gradient(90deg,#ffffff09 1px,#0000 1px);background-size:90px 90px;position:absolute;inset:0;mask-image:linear-gradient(#0000,#000 25% 75%,#0000)}.beam{transform-origin:50%;opacity:.72;background:linear-gradient(90deg,#0000,#fffffff2,#0000);height:1px;position:absolute;box-shadow:0 0 28px #ffffff57}.beam-one{width:52vw;top:34%;right:4vw;transform:rotate(-28deg)}.beam-two{opacity:.45;width:40vw;top:62%;left:9vw;transform:rotate(23deg)}.beam-three{opacity:.25;width:34vw;top:73%;right:19vw;transform:rotate(-17deg)}.hero-content{z-index:2;width:100%;max-width:var(--max);padding:140px var(--pad) 56px;margin:0 auto;position:relative}.eyebrow,.section-label{font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:var(--track-label);color:var(--text-4)}.eyebrow{align-items:center;gap:9px;margin-bottom:34px;display:flex}.status-dot{background:#fff;border-radius:50%;width:6px;height:6px;box-shadow:0 0 12px #ffffffbf}.hero h1{max-width:1060px;font-size:var(--fs-display);letter-spacing:-.075em;margin:0;font-weight:500;line-height:.86}.hero-bottom{grid-template-columns:1fr auto;align-items:end;gap:30px;margin-top:54px;display:grid}.hero-copy{max-width:490px;color:var(--text-2);font-size:var(--fs-base);margin:0;line-height:1.55}.circle-link{border:1px solid var(--line-strong);width:72px;height:72px;font-size:var(--fs-lg);border-radius:50%;place-items:center;transition:background .18s,color .18s;display:grid}.circle-link:hover{color:#000;background:#fff}.circle-link .arrow-icon{width:22px;height:22px;transform:rotate(135deg)}.hero-index{z-index:2;right:var(--pad);transform-origin:100%;color:var(--text-4);font-size:var(--fs-micro);letter-spacing:var(--track-label);position:absolute;top:50%;transform:rotate(90deg)}.section{max-width:var(--max);padding:var(--section-block) var(--pad);margin:0 auto}@keyframes hero-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.hero .eyebrow,.hero h1,.hero-copy,.circle-link{animation:.8s both hero-in}.hero .eyebrow{animation-delay:80ms}.hero h1{animation-delay:.2s}.hero-copy{animation-delay:.38s}.circle-link{animation-delay:.48s}[data-reveal]{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(24px)}[data-reveal].is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.hero .eyebrow,.hero h1,.hero-copy,.circle-link{animation:none}[data-reveal]{opacity:1;transition:none;transform:none}}.statement{gap:var(--layout-gap);border-bottom:1px solid var(--line);grid-template-columns:20% 1fr;display:grid}.statement-content{max-width:930px}.statement-kicker{color:var(--text-4);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:var(--track-label);margin:0 0 24px}.statement h2,.approach h2,.contact h2{max-width:1050px;font-size:var(--fs-heading);letter-spacing:-.065em;margin:0;font-weight:500;line-height:.96}.statement-text{max-width:610px;color:var(--text-3);font-size:var(--fs-base);margin:48px 0 0}.services{border-bottom:1px solid var(--line)}.section-top{gap:var(--layout-gap);grid-template-columns:20% 1fr;align-items:start;margin-bottom:64px;display:grid}.section-top>p{max-width:570px;color:var(--text-3);font-size:var(--fs-base);margin:0}.service-list{border-top:1px solid var(--line)}.service-item{border-bottom:1px solid var(--line);grid-template-columns:90px 1fr 50px;align-items:start;gap:28px;padding:27px 0;transition:padding .18s;display:grid}.service-item:hover{padding-left:12px}.service-number{color:var(--text-4);font-size:var(--fs-micro);letter-spacing:var(--track-label)}.service-item h3{font-size:var(--fs-xl);letter-spacing:-.04em;margin:0 0 8px;font-weight:500;line-height:1}.service-item p{max-width:620px;color:var(--text-3);font-size:var(--fs-sm);margin:0}.service-arrow{color:var(--text-4);justify-content:flex-end;transition:color .22s;display:flex}.arrow-icon{transition:transform .22s}.service-item:hover .service-arrow{color:var(--text)}.service-item:hover .arrow-icon{transform:translate(3px,-3px)}.approach{border-bottom:1px solid var(--line)}.approach-layout{gap:var(--approach-gap);grid-template-columns:1fr 1fr;margin-top:70px;display:grid}.approach-heading{align-self:start;position:sticky;top:120px}.process{border-top:1px solid var(--line)}.process-step{border-bottom:1px solid var(--line);grid-template-columns:55px 1fr;gap:20px;padding:30px 0;display:grid}.process-step>span{color:var(--text-4);font-size:var(--fs-micro);letter-spacing:var(--track-label)}.process-step h3{font-size:var(--fs-lg);letter-spacing:-.04em;margin:0 0 10px;font-weight:500}.process-step p{max-width:490px;color:var(--text-3);font-size:var(--fs-sm);margin:0}.contact{position:relative;overflow:hidden}.contact-art{pointer-events:none;opacity:.38;position:absolute;inset:0}.contact-line{background:linear-gradient(90deg,#0000,#fff,#0000);height:1px;position:absolute;box-shadow:0 0 28px #ffffff4d}.line-a{width:70%;top:25%;right:-10%;transform:rotate(-18deg)}.line-b{width:50%;top:68%;left:-5%;transform:rotate(24deg)}.line-c{opacity:.5;width:35%;top:79%;right:15%;transform:rotate(-8deg)}.contact>:not(.contact-art){z-index:2;position:relative}.contact-layout{gap:var(--contact-gap);grid-template-columns:1fr 1fr;margin-top:70px;display:grid}.contact-note{color:var(--text-3);font-size:var(--fs-sm);margin-top:35px}.contact-form{border-top:1px solid var(--line-strong);background:var(--bg);align-self:start}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.contact-form label{border-bottom:1px solid var(--line-strong);align-items:center;gap:1.5rem;padding:1.375rem 1rem;transition:background-color .18s,border-color .18s;display:flex}.contact-form label:hover{background:#ffffff06}.contact-form label:focus-within{border-color:var(--text);background:#ffffff0b}.contact-form label>span{min-width:7.5rem;color:var(--text-4);font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:var(--track-label);padding-right:.25rem 0;flex:.4 1 0}.contact-form label:has(:required)>span:after{content:" *";color:var(--text)}.contact-form input,.contact-form textarea{resize:vertical;color:#fff;min-width:0;font-size:var(--fs-micro);background:0 0;border:0;outline:0;flex:1 1 0;padding:.25rem 0;line-height:1.5}.contact-form input{min-height:2.5rem}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--text-4);opacity:1}.contact-form input:user-invalid,.contact-form textarea:user-invalid{box-shadow:inset 0 -.125rem #c87575}.contact-form textarea{min-height:7.5rem}.form-actions{margin-top:1.5rem}@media (width<=520px){.contact-form label{flex-direction:column;align-items:stretch;gap:.5rem}.contact-form label>span{flex:none;min-width:0}}.submit-button{border:1px solid var(--line-strong);color:#fff;cursor:pointer;width:100%;font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:var(--track-ui);background:#000;justify-content:center;align-items:center;gap:12px;padding:17px 18px;transition:background .18s,color .18s;display:flex}.submit-button:hover{color:#000;background:#fff}.submit-button:hover .arrow-icon{transform:translate(3px,-3px)}.confirm-modal{z-index:100;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.confirm-modal[hidden]{display:none}.confirm-backdrop{background:#000000b3;position:absolute;inset:0}.confirm-box{background:var(--bg);border:1px solid var(--line-strong);text-align:center;width:100%;max-width:26rem;padding:2rem;position:relative}.confirm-title{font-size:var(--fs-lg);margin:0 0 .75rem;font-weight:700}.confirm-text{color:var(--text-2);margin:0 0 1.5rem}.confirm-close{border:1px solid var(--line-strong);color:#000;cursor:pointer;font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:var(--track-ui);background:#fff;padding:14px 28px;transition:background .18s,color .18s}.confirm-close:hover{color:#fff;background:0 0}.error-page{min-height:100svh;padding:var(--error-page-block) var(--pad);background:radial-gradient(circle at 50% 42%,#ffffff12,#0000 30%),linear-gradient(150deg,#050505 0%,#080808 50%,#030303 100%);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.error-content{z-index:2;text-align:center;width:100%;max-width:760px;position:relative}.error-art{height:var(--error-art-height);margin-bottom:var(--error-art-gap);position:relative}.error-canvas{pointer-events:none;opacity:0;width:100%;height:100%;transition:opacity .7s;display:block;position:absolute;inset:0}.error-art--webgl .error-canvas{opacity:1}.error-code{font-size:var(--fs-error-code);letter-spacing:-.07em;justify-content:center;align-items:center;font-weight:500;line-height:1;transition:opacity .7s;display:flex;position:absolute;inset:0}.error-art--webgl .error-code{opacity:0}.error-copy{display:none}html:not([data-lang]) .error-copy[data-for=es],html[data-lang=es] .error-copy[data-for=es],html[data-lang=pt] .error-copy[data-for=pt],html[data-lang=en] .error-copy[data-for=en]{display:block}.error-copy h1{font-size:var(--fs-error-heading);letter-spacing:-.045em;margin:18px 0 0;font-weight:500;line-height:1.04}.error-copy p{max-width:470px;color:var(--text-3);font-size:var(--fs-sm);margin:18px auto 0;line-height:1.6}.error-cta{border:1px solid var(--line-strong);font-size:var(--fs-micro);letter-spacing:var(--track-ui);text-transform:uppercase;align-items:center;gap:9px;margin-top:38px;padding:14px 22px;transition:background-color .18s,border-color .18s,color .18s;display:inline-flex}.error-cta:hover{color:#000;background-color:#fff;border-color:#fff}.error-cta:hover .arrow-icon{transform:translate(3px,-3px)}.site-footer{max-width:var(--max);padding:60px var(--pad) 28px;border-top:1px solid var(--line);grid-template-columns:1.5fr 1fr;gap:40px;margin:0 auto;display:grid}.site-footer p{max-width:360px;color:var(--text-3);font-size:var(--fs-sm);margin:18px 0 0}.footer-links{font-size:var(--fs-micro);color:var(--text-4);justify-content:flex-end;gap:24px;display:flex}.footer-links a:hover{color:#fff}.footer-bottom{border-top:1px solid var(--line);color:var(--text-4);font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:var(--track-label);grid-column:1/-1;justify-content:space-between;margin-top:40px;padding-top:28px;display:flex}.cookie-banner{z-index:30;padding:1.25rem var(--pad);border-top:1px solid var(--line);backdrop-filter:blur(16px);background-color:#050505eb;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1.5rem;display:grid;position:fixed;inset-block-end:0;inset-inline:0}html[data-consent] .cookie-banner{display:none}.cookie-title{font-size:var(--fs-micro);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--text-4);margin:0}.cookie-text{max-width:42rem;color:var(--text-2);font-size:var(--fs-sm);margin:.4rem 0 0;line-height:1.5}.cookie-details{margin-top:.65rem}.cookie-details summary{cursor:pointer;color:var(--text-3);font-size:var(--fs-micro);letter-spacing:var(--track-ui);text-transform:uppercase}.cookie-details ul{max-width:42rem;color:var(--text-3);font-size:var(--fs-sm);margin:.6rem 0 0;padding-inline-start:1.1rem;line-height:1.55}.cookie-details li+li{margin-top:.35rem}.cookie-actions{flex-shrink:0;gap:10px;display:flex}.cookie-button{border:1px solid var(--line-strong);color:#000;cursor:pointer;font-size:var(--fs-micro);letter-spacing:var(--track-ui);text-transform:uppercase;background-color:#fff;padding:12px 18px;transition:background-color .18s,color .18s}.cookie-button:hover{color:#fff;background-color:#0000}.cookie-button--ghost{color:var(--text);background-color:#0000}.cookie-button--ghost:hover{color:#000;background-color:#fff}@media (width<=75rem){:root{--fs-display:6.75rem;--fs-heading:4.5rem;--pad:3rem;--section-block:8.25rem;--layout-gap:5.25rem;--approach-gap:7.5rem;--contact-gap:9rem}}@media (width<=65.625rem){:root{--fs-display:5.625rem;--fs-heading:3.75rem;--section-block:7rem;--layout-gap:4.5rem;--approach-gap:6.5rem;--contact-gap:7.5rem}}@media (width<=900px){:root{--fs-lg:1.375rem;--fs-xl:1.5rem;--fs-display:5rem;--fs-heading:3.375rem;--fs-error-code:12rem;--fs-error-heading:2.5rem;--pad:2.25rem;--section-block:6.25rem;--layout-gap:2.375rem;--approach-gap:2.375rem;--contact-gap:2.375rem;--error-page-block:5.625rem;--error-art-height:15rem;--error-art-gap:2.5rem}.header-actions{gap:14px}.header-cta{display:none}.hero{align-items:stretch}.hero-content{flex-direction:column;justify-content:space-between;padding-top:110px;display:flex}.eyebrow{margin-bottom:0}.hero-bottom{margin-top:0}.statement,.section-top,.approach-layout,.contact-layout{grid-template-columns:1fr;gap:38px}.approach-heading{position:static}}@media (width<=600px){:root{--fs-display:3.75rem;--fs-heading:3rem;--fs-error-code:6.875rem;--fs-error-heading:1.875rem;--pad:1.25rem;--section-block:5.625rem;--error-page-block:4.375rem;--error-art-height:11.875rem;--error-art-gap:1.75rem}.site-header{grid-template-columns:1fr auto;grid-template-areas:"brand actions""nav nav";row-gap:10px;height:auto;padding-block:12px}.brand{grid-area:brand}.header-actions{grid-area:actions}.main-nav{scrollbar-width:none;grid-area:nav;justify-content:flex-start;gap:18px;overflow-x:auto}.main-nav::-webkit-scrollbar{display:none}.hero-content{padding-top:108px;padding-bottom:32px}.hero h1{letter-spacing:-.05em}.hero-copy{font-size:var(--fs-sm)}.circle-link{width:56px;height:56px}.hero-index{display:none}.statement h2,.approach h2,.contact h2{letter-spacing:-.045em}.service-item{grid-template-columns:40px 1fr 25px;gap:12px}.service-item h3{font-size:var(--fs-md)}.service-item p{font-size:var(--fs-sm)}.footer-links{flex-direction:column;justify-content:flex-start;gap:8px}.site-footer{grid-template-columns:1fr}.footer-bottom{flex-direction:column;grid-column:auto;gap:8px}.cookie-banner{grid-template-columns:1fr;gap:1rem;padding-block:1rem}.cookie-actions{grid-template-columns:1fr 1fr;display:grid}}@media (width<=25rem){:root{--fs-display:3rem;--fs-heading:2.5rem}}
