:root{--bg:#0c0c0d;--fg:#f0efec;--accent:oklch(75% .085 62);--accent-light:oklch(80% .075 62);--muted-1:#a8a7a3;--muted-2:#9a9995;--muted-3:#8a8985;--muted-4:#7a7975;--muted-5:#cfcec9;--border:#f0efec66;--font-display:"Space Grotesk", sans-serif;--font-body:"Archivo", sans-serif;--font-mono:"Space Mono", "Archivo Narrow", monospace}*{box-sizing:border-box;margin:0;padding:0}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:var(--bg);color:var(--fg);font-family:var(--font-body)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font:inherit}@keyframes heroPan{0%{transform:scale(1.08)translate(1.5%,-1%)}to{transform:scale(1.18)translate(-1.5%,1%)}}@keyframes heroPanZoom{0%{transform:scale(1.35)translate(1.5%,-1%)}to{transform:scale(1.48)translate(-1.5%,1%)}}@keyframes heroFade{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes teamSlide{0%{transform:translate(-50%)}to{transform:translate(0)}}.site{background:var(--bg);width:100%;max-width:1680px;color:var(--fg);margin:0 auto;position:relative;overflow:hidden}.eyebrow{font-family:var(--font-mono);letter-spacing:.24em;text-transform:uppercase;color:var(--accent-light)}.site-header{z-index:15;justify-content:space-between;align-items:center;padding:34px 60px;display:flex;position:absolute;top:0;left:0;right:0}.site-logo{font-family:var(--font-display);letter-spacing:.14em;font-size:20px;font-weight:500}.site-nav{letter-spacing:.04em;color:#e6e5e2;gap:36px;font-size:14px;display:flex}.site-nav a:hover{color:var(--accent)}.hero{text-align:center;justify-content:center;align-items:center;height:900px;display:flex;position:relative;overflow:hidden}.hero-img{object-fit:cover;transform-origin:50%;width:100%;height:100%;animation:22s ease-in-out infinite alternate heroPan;position:absolute;inset:0}.hero-overlay-radial{background:radial-gradient(#0c0c0d26 0%,#0c0c0db3 100%);position:absolute;inset:0}.hero-overlay-linear{background:linear-gradient(#0c0c0d59 0%,#0c0c0d00 25% 65%,#0c0c0dd9 100%);position:absolute;inset:0}.hero-content{padding:0 60px;animation:1.2s ease-out both heroFade;position:relative}.hero-eyebrow{letter-spacing:.34em;margin-bottom:30px;font-size:13px}.hero-title{font-family:var(--font-display);letter-spacing:-.02em;text-wrap:balance;text-shadow:0 2px 40px #0006;max-width:1100px;margin:0 auto;font-size:96px;font-weight:400;line-height:1}.hero-subtitle{font-family:var(--font-display);letter-spacing:.01em;color:#f0efeccc;text-wrap:balance;text-shadow:0 1px 20px #00000080;max-width:620px;margin:28px auto 0;font-size:19px;font-weight:300;line-height:1.55}.btn-outline{border:1px solid var(--border);color:var(--fg);letter-spacing:.1em;text-transform:uppercase;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:pointer;margin-top:40px;padding:16px 34px;font-size:14px;transition:background .3s,color .3s,border-color .3s;display:inline-block}.btn-outline:hover{background:var(--fg);color:var(--bg);border-color:var(--fg)}.proj{cursor:pointer;position:relative;overflow:hidden}.proj-img{object-fit:cover;width:100%;height:100%;transition:filter .45s,transform .6s;position:absolute;inset:0}.proj:hover .proj-img{filter:blur(5px)brightness(.55);transform:scale(1.06)}.proj-cta{opacity:0;z-index:5;justify-content:center;align-items:center;transition:opacity .4s;display:flex;position:absolute;inset:0}.proj:hover .proj-cta{opacity:1}.proj-cta a{color:var(--fg);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;background:#0c0c0d40;border:1px solid #f0efecb3;padding:16px 32px;font-size:14px;transition:background .3s,color .3s}.proj-cta a:hover{background:var(--fg);color:var(--bg)}.proj-feature{align-items:flex-end;height:720px;display:flex}.proj-caption{background:linear-gradient(#0c0c0d00,#0c0c0de6);width:100%;padding:60px;position:relative}.proj-caption .eyebrow{font-size:12px}.proj-caption h3{font-family:var(--font-display);margin:14px 0 18px;font-size:52px;font-weight:400}.proj-caption a.proj-link{letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--border);padding-bottom:4px;font-size:14px}.proj-split-grid{grid-template-columns:1fr 1fr;display:grid}.proj-split{align-items:flex-end;height:600px;display:flex}.proj-split .proj-caption{padding:44px}.proj-split .eyebrow{letter-spacing:.22em;font-size:11px}.proj-split h3{font-family:var(--font-display);margin-top:12px;font-size:36px;font-weight:400}.services{text-align:center;padding:120px 60px}.services .eyebrow{margin-bottom:56px;font-size:12px}.services-grid{grid-template-columns:repeat(3,1fr);gap:56px 40px;max-width:1000px;margin:0 auto;display:grid}.service-card h4{font-family:var(--font-display);margin-bottom:12px;font-size:22px;font-weight:500}.service-card p{color:var(--muted-1);font-size:15px;line-height:1.6}.portfolio{padding:0 60px 120px}.portfolio-heading{text-align:center;margin-bottom:48px}.portfolio-heading h2{font-family:var(--font-display);font-size:44px;font-weight:400}.portfolio-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.portfolio-item{height:320px;position:relative;overflow:hidden}.portfolio-item img{object-fit:cover;width:100%;height:100%}.portfolio-item:after{content:"Proyecto";font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:#e6e5e2;background:#0f0f108c;padding:4px 8px;font-size:11px;position:absolute;bottom:12px;left:14px}.team{padding:0 0 120px}.team-heading{font-family:var(--font-display);text-align:center;margin-bottom:48px;padding:0 60px;font-size:44px;font-weight:400}.team-marquee{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 8% 92%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 8% 92%,#0000 100%)}.team-track{gap:24px;width:max-content;padding-right:24px;animation:46s linear infinite teamSlide;display:flex}.team-marquee:hover .team-track{animation-play-state:paused}.team-card{text-align:left;flex:0 0 300px;width:300px}.team-photo{background-position:50%;background-repeat:no-repeat;background-size:cover;border-radius:2px;height:340px;margin-bottom:18px}.team-name{font-family:var(--font-display);font-size:19px;font-weight:500}.team-role{color:var(--muted-2);margin-top:5px;font-size:13px}.awards{text-align:center;max-width:900px;margin:0 auto;padding:0 60px 120px}.awards .eyebrow{margin-bottom:40px;font-size:12px}.awards-list{flex-direction:column;gap:24px;display:flex}.award-item{font-family:var(--font-display);font-size:22px;font-weight:400}.award-year{color:var(--muted-3)}.contact{text-align:center;justify-content:center;align-items:center;min-height:600px;display:flex;position:relative;overflow:hidden}.contact-bg{object-fit:cover;transform-origin:50%;filter:grayscale(35%)brightness(.75);width:100%;height:100%;animation:22s ease-in-out infinite alternate heroPanZoom;position:absolute;inset:0}.contact-overlay{background:#0c0c0db8;position:absolute;inset:0}.contact-content{width:100%;max-width:640px;padding:60px;position:relative}.contact-content h2{font-family:var(--font-display);margin-bottom:24px;font-size:56px;font-weight:400;line-height:1.05}.contact-content>p{color:var(--muted-5);margin-bottom:40px;font-size:17px;line-height:1.7}.contact-info{font-family:var(--font-display);letter-spacing:.02em;flex-wrap:wrap;justify-content:center;gap:10px 28px;margin:-16px 0 32px;font-size:15px;display:flex}.contact-info a{border-bottom:1px solid #0000;transition:border-color .2s,color .2s}.contact-info a:hover{border-color:currentColor}.contact-form{text-align:left;flex-direction:column;gap:14px;display:flex}.contact-form input,.contact-form textarea{color:var(--fg);font-size:15px;font-family:var(--font-body);background:#ffffff0f;border:1px solid #ffffff24;padding:16px 18px}.contact-form textarea{resize:none}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent);outline:none}.contact-form button{background:var(--accent);color:var(--bg);cursor:pointer;font-size:15px;font-weight:600;font-family:var(--font-body);border:none;padding:17px;transition:background .2s}.contact-form button:hover{background:#fff}.site-footer{color:var(--muted-4);letter-spacing:.04em;justify-content:space-between;align-items:center;padding:40px 60px;font-size:13px;display:flex}.site-footer .site-logo{font-size:16px}.project-hero{align-items:flex-end;height:70vh;min-height:460px;display:flex;position:relative;overflow:hidden}.project-hero img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.project-hero-overlay{background:linear-gradient(#0c0c0d1a,#0c0c0deb);position:absolute;inset:0}.project-hero-content{padding:60px;position:relative}.project-hero-content h1{font-family:var(--font-display);margin-top:14px;font-size:64px;font-weight:400}.project-body{max-width:720px;margin:0 auto;padding:80px 60px 120px}.project-body p{color:var(--muted-1);margin-bottom:40px;font-size:18px;line-height:1.75}.back-link{letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--border);padding-bottom:4px;font-size:14px;display:inline-block}@media (width<=900px){.site-header,.hero-content,.services,.portfolio,.awards,.site-footer,.contact-content,.project-hero-content,.project-body{padding-left:24px;padding-right:24px}.hero{height:720px}.hero-title{font-size:52px}.hero-subtitle{font-size:16px}.site-nav{display:none}.proj-feature{height:480px}.proj-split-grid{grid-template-columns:1fr}.proj-split{height:420px}.services-grid{grid-template-columns:1fr 1fr;gap:40px 24px}.portfolio-grid{grid-template-columns:1fr 1fr}.project-hero-content h1{font-size:40px}}@media (width<=560px){.services-grid,.portfolio-grid{grid-template-columns:1fr}.hero-title{font-size:38px}}
