/* AE / independent engineering. A sculptural, editorial art direction. */
:root{--card:#0e1010;--line:#2a302d;--muted:#a7a7a7}
.hero{min-height:870px;height:100svh;max-height:1100px;display:block;padding-top:180px;overflow:clip}
.hero-grid,.hero-orbit{display:none!important}
.hero:before{content:'';position:absolute;inset:80px -56px 0;z-index:-2;background:radial-gradient(ellipse at 75% 45%,#2b2b2b66,transparent 54%);pointer-events:none}
.hero .availability{position:absolute;right:0;top:125px;font-size:11px;letter-spacing:.5px}
.hero .hero-label{font-size:10px;letter-spacing:2px;margin:10px 0 28px;max-width:420px}
.hero h1{position:relative;z-index:2;font-size:clamp(54px,5.65vw,85px);font-weight:500;line-height:1.03;letter-spacing:-4.5px;margin:0 0 30px;max-width:740px;pointer-events:none}
.hero h1 .accent-line{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400;letter-spacing:-4px;color:#dcdcdc;line-height:1.15}
.hero h1 .hero-line-mask{padding-bottom:.15em;margin-bottom:-.15em}
.hero .hero-copy{position:relative;z-index:2;max-width:410px;font-size:15px;line-height:1.9;color:#adadad;margin-top:30px}
.hero-actions{position:relative;z-index:3;margin-top:32px}
.hero .button{border-radius:0;font-size:12px;padding:18px 20px;gap:28px}
.hero .secondary{background:transparent;border-color:transparent;border-bottom-color:#5e5e5e;padding-inline:4px;margin-left:12px}
.hero-bottom{position:absolute;inset:auto 0 0;padding:30px 0;border-top:1px solid #323232;z-index:3}
.sculpture-stage{position:absolute;right:-70px;top:130px;width:58%;height:620px;z-index:1;isolation:isolate}
.sculpture-stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.sculpture-fallback{position:absolute;inset:0;display:grid;place-items:center;font-size:200px;font-weight:800;letter-spacing:-25px;color:#adadad;text-shadow:8px 8px #363636;transform:rotate(-9deg)}
.webgl-ready .sculpture-fallback{display:none}.webgl-unavailable canvas{display:none}
.sculpture-meta{position:absolute;bottom:35px;left:17%;right:12%;display:flex;justify-content:space-between;gap:25px;border-top:1px solid #656565;padding-top:15px;pointer-events:none;font:10px 'Courier New',monospace;letter-spacing:1.8px;color:#919191}
.sculpture-meta strong{font-weight:400;color:#d7d7d7}.sculpture-meta span:last-child{color:#7d7d7d}
.hero-edition{font:10px 'Courier New',monospace;letter-spacing:1.3px;color:#7c7c7c;position:absolute;right:15px;top:30%;writing-mode:vertical-rl;z-index:4}
.header{border-radius:0!important}.header.scrolled{background:#0d120ff2}.header .nav-cta{border-radius:0;border-color:#6c6c6c}.brand-name{letter-spacing:2px}.brand-name>span{letter-spacing:1.35px}
.expertise-strip{background:#cacaca;color:#111;border:0;transform:none}.expertise-strip .wrap{padding-block:21px;color:#373737;font-size:11px;font-weight:600}.expertise-strip b{color:#5d5d5d}
.section{padding-block:130px}.eyebrow{font-size:10px;letter-spacing:2px;color:#a6a6a6}h2{font-size:clamp(38px,4.1vw,60px);letter-spacing:-2.7px;line-height:1.08}h2 em{font-family:Georgia,'Times New Roman',serif;font-style:italic;color:#c5c5c5;font-weight:400}
.intro{grid-template-columns:1fr 2.8fr;padding-block:140px}.intro-text{margin-top:35px}.intro-text p{max-width:660px;font-size:18px;line-height:1.8}.small-cross{color:#adadad}
.services{display:block;border-top:1px solid #525252}.service{display:grid;grid-template-columns:70px 1.2fr 1.3fr 36px;column-gap:28px;align-items:center;background:none;border:0;border-bottom:1px solid #3e3e3e;padding:34px 5px;min-height:155px;transition:background .35s!important}.service h3{font-size:29px;font-weight:400;letter-spacing:-1px;margin:0}.service p{margin:0;max-width:370px;font-size:15px}.service-top{display:block}.service-top .service-icon{display:none}.service-top>span:last-child{font:34px Georgia,serif;font-style:italic;color:#8f8f8f}.service .tags{grid-column:2/4;margin:17px 0 0;gap:14px}.tags li{border:0;padding:0;border-radius:0;font:10px 'Courier New',monospace;color:#848484}.service>a{grid-column:4;grid-row:1/3;font-size:0;padding:0;border:0;justify-content:center;align-self:stretch}.service>a span{font-size:26px;color:#c5c5c5}.service:hover{background:#1d1d1d55}.enhanced-motion .service.visible:hover{transform:none!important}.service:after{display:none}
.projects-section{background:#0d1210;border-top:0;border-bottom-color:#3e3e3e}.section-head{margin-bottom:60px}.project{border:0;background:transparent}.featured{grid-template-columns:1.4fr 1fr;gap:42px;align-items:center}.featured .project-visual{min-height:490px;border:1px solid #4b4b4b}.education{background:radial-gradient(ellipse at 15% 85%,#5d5d5d,#262626 85%);padding:70px 30px}.project-info{padding:20px 0}.project-info h3{font-size:36px;font-weight:400;letter-spacing:-1.4px}.project-pair{gap:45px;margin-top:70px}.compact .project-visual{min-height:310px;border:1px solid #444444}.compact .project-info{padding:27px 0}.compact .project-info h3{font-size:30px}.concept-label{font-size:10px;color:#b4b4b4}.dashboard{border-radius:2px}.project-info dt{color:#989898}.project-info dl>div{border-color:#3f3f3f}
.about{grid-template-columns:1fr 1.2fr;gap:100px}.about-identity{background:linear-gradient(145deg,#383838,#171717);border:0;aspect-ratio:.9}.identity-mark{font-family:Georgia,serif;font-style:italic;font-size:220px;font-weight:400;color:#afafaf;letter-spacing:-25px;text-shadow:4px 8px #131313}.identity-bottom{font-size:10px}.about h2{font-size:42px}.social-card{background:transparent;border:0;border-top:1px solid #666666;padding:30px 0}.social-card:hover{background:transparent}.social-card .external{right:0}.social-card h3{font-size:27px}.network-icon{color:#a8a8a8}
.contact{background:radial-gradient(ellipse at 0 100%,#373737,transparent 70%),#181818;border-top:1px solid #4c4c4c}.contact h2 em{color:#d8d8d8}.contact-form{background:transparent;border:0;border-left:1px solid #525252;padding:10px 0 10px 45px}.contact-form input,.contact-form textarea{border-radius:0;background:transparent;border:0;border-bottom:1px solid #7d7d7d;padding:14px 0}.contact .button{border-radius:0}.footer{padding-block:36px}
@media(min-width:1500px){.sculpture-stage{top:140px;height:690px}.hero{padding-top:215px}}
@media(max-width:1100px){.hero{min-height:820px;padding-top:175px}.hero h1{font-size:65px;max-width:600px}.sculpture-stage{right:-95px;width:61%;top:165px;height:530px}.hero .hero-copy{max-width:355px}.hero .hero-label{font-size:9px;max-width:350px}.hero .availability{top:125px}.section{padding-block:95px}.service{grid-template-columns:45px 1.1fr 1.2fr 28px;gap:20px}.service h3{font-size:25px}.featured{gap:30px}.featured .project-visual{min-height:400px}.about{gap:45px}.about h2{font-size:36px}.sculpture-meta{bottom:25px}}
@media(max-width:760px){.hero{height:auto;max-height:none;min-height:1110px;padding-top:145px}.hero .availability{top:105px;right:auto;left:0;font-size:10px}.hero .hero-label{font-size:8px;letter-spacing:1px;max-width:100%;margin:0 0 24px}.hero h1{font-size:clamp(42px,8.4vw,63px);letter-spacing:-2.4px;max-width:100%;line-height:1.07;margin-bottom:22px}.hero h1 .accent-line{letter-spacing:-2.5px}.hero .hero-copy{font-size:14px;max-width:470px;margin-top:22px;line-height:1.8}.hero-actions{margin-top:23px;gap:8px}.hero .button{font-size:11px;padding:15px 13px;gap:14px}.hero .secondary{margin-left:3px}.sculpture-stage{position:relative;right:auto;top:auto;width:calc(100% + 40px);margin:0 -20px;height:440px}.sculpture-meta{bottom:25px;font-size:9px;left:12%;right:12%;letter-spacing:1px}.hero-edition{top:auto;bottom:230px;right:0;font-size:8px}.hero-bottom{padding:23px 0}.expertise-strip .wrap{font-size:8px;gap:11px}.section{padding-block:75px}h2{font-size:36px;letter-spacing:-1.7px}.intro-text p{font-size:16px}.service{grid-template-columns:34px 1fr 25px;gap:13px;padding:25px 0}.service h3{font-size:23px}.service p{grid-column:2;margin-top:5px;font-size:14px}.service .tags{grid-column:2;margin-top:4px;gap:9px}.service>a{grid-column:3;grid-row:1/4}.service-top{align-self:start}.service-top>span:last-child{font-size:26px}.featured{grid-template-columns:1fr;gap:15px}.featured .project-visual{min-height:340px}.education{padding:60px 20px 25px}.project-pair{grid-template-columns:1fr;gap:32px;margin-top:35px}.compact .project-visual{min-height:265px}.project-info h3{font-size:30px}.about{grid-template-columns:1fr;gap:35px}.about-identity{aspect-ratio:1.15}.identity-mark{font-size:180px}.about h2{font-size:34px}.contact-form{border-left:0;border-top:1px solid #525252;padding:30px 0 0}.section-head{margin-bottom:35px}}
@media(max-width:390px){.hero{min-height:1080px}.hero h1{font-size:38px}.hero .hero-label{font-size:7px}.sculpture-stage{height:410px}.hero .button{padding-inline:10px;gap:9px}}
@media(prefers-reduced-motion:reduce){.sculpture-stage *{animation:none!important}}
@media(min-width:761px){.sculpture-stage{right:-25px}.hero-edition{right:0;top:74%;writing-mode:horizontal-tb;font-size:8px;color:#6b6b6b}}
/* Grano fílmico, remate de pie y señales de hover: textura y respuesta editorial. */
body:before{content:'';position:fixed;inset:0;z-index:5;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");background-size:160px 160px}
.footer{position:relative;isolation:isolate;overflow:clip}
.footer:after{content:'AE';position:absolute;right:-6px;bottom:-52px;z-index:-1;font-size:200px;font-weight:800;letter-spacing:-22px;line-height:1;color:#ffffff07;pointer-events:none;transition:color .8s ease}
.footer:hover:after{color:#b2b2b214}
.footer>a:last-child{transition:color .3s}
.footer>a:last-child:hover{color:var(--accent)}
.enhanced-motion .service:before{content:'';position:absolute;left:0;top:0;width:1px;height:100%;background:var(--accent);transform:scaleY(0);transform-origin:top;transition:transform .55s cubic-bezier(.16,1,.3,1)}
.enhanced-motion .service:hover:before{transform:scaleY(1)}
.enhanced-motion .service h3{transition:transform .55s cubic-bezier(.16,1,.3,1),color .4s}
.enhanced-motion .service:hover h3{transform:translateX(7px);color:#f3f3f3}
.project-visual{transition:transform .75s cubic-bezier(.16,1,.3,1),box-shadow .75s ease}
.enhanced-motion .project:hover .project-visual{transform:translateY(-6px);box-shadow:0 44px 80px -54px #b2b2b266}
@media(max-width:760px){.hero-edition{display:none}}
