/* Aluminio & Madera — landing editorial industrial-premium */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body.am-body{margin:0;background:var(--metal-base);color:var(--ink);font-family:var(--font-body);line-height:1.6;overflow-x:hidden}
body.am-body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 14% 12%,rgba(255,255,255,.26),transparent 28%),repeating-linear-gradient(100deg,rgba(255,255,255,.025) 0 1px,rgba(31,36,39,.02) 1px 3px,transparent 3px 8px)}
body.is-menu-open{overflow:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.04;margin:0;text-wrap:balance}
p{margin-top:0;text-wrap:pretty}
svg{display:block}
::selection{background:var(--giesse-600);color:#fff}
:focus-visible{outline:2px solid var(--giesse-600);outline-offset:4px}
.am-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.am-skip-link{position:fixed;top:12px;left:12px;z-index:1000;padding:.7rem 1rem;background:var(--blanco);color:var(--black);transform:translateY(-150%);transition-property:transform;transition-duration:180ms}
.am-skip-link:focus{transform:none}
.am-container{width:min(100% - clamp(2rem,7vw,7rem),var(--maxw));margin-inline:auto}
.am-section{position:relative;padding:var(--sp-section) 0;scroll-margin-top:76px}
.am-section-label{display:flex;align-items:center;gap:1rem;margin:0 0 1.25rem;color:var(--ink-muted);font-family:var(--font-display);font-size:.72rem;font-weight:700;letter-spacing:.28em;text-transform:uppercase}
.am-section-label::after{content:"";width:54px;height:1px;background:var(--metal-line-strong)}
.am-h2{max-width:900px;font-size:clamp(2.35rem,4.6vw,4.75rem);letter-spacing:-.045em}
.am-chrome{background:var(--chrome-grad);-webkit-background-clip:text;background-clip:text;color:transparent}

/* Code-native brand lockup: placa oscura para conservar el logo sobre aluminio claro. */
.am-lockup{display:inline-flex;align-items:center;gap:.7rem;padding:.46rem .68rem;color:var(--blanco);background:linear-gradient(145deg,rgba(31,34,35,.98),rgba(10,11,11,.98));border:1px solid rgba(238,241,243,.32);border-radius:4px;box-shadow:var(--shadow-logo)}
.am-lockup__mark{flex:0 0 auto;width:34px;height:34px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.7)) drop-shadow(0 0 7px rgba(238,241,243,.16))}
.am-lockup__type{display:grid;gap:.08rem;line-height:1}
.am-lockup__type strong{font-family:var(--font-display);font-size:.94rem;font-weight:600;letter-spacing:-.055em;white-space:nowrap;text-shadow:0 1px 0 #000,0 0 10px rgba(238,241,243,.16)}
.am-lockup__type small{color:var(--aluminio);font-family:var(--font-display);font-size:.43rem;font-weight:600;letter-spacing:.16em;white-space:nowrap}
.am-lockup--footer{margin-bottom:1.2rem}
.am-lockup--footer .am-lockup__mark{width:42px;height:42px}
.am-lockup--footer .am-lockup__type strong{font-size:1.08rem}
.am-lockup--footer .am-lockup__type small{font-size:.48rem}

/* Buttons */
.am-btn{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:.85rem;padding:.9rem 1.35rem;border:0;border-radius:1px;cursor:pointer;font-family:var(--font-display);font-size:.9rem;font-weight:600;letter-spacing:.02em;transition-property:transform,background-color,color,box-shadow;transition-duration:220ms;transition-timing-function:cubic-bezier(.2,0,0,1)}
.am-btn svg,.am-text-link svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition-property:transform;transition-duration:180ms}
.am-btn:hover svg,.am-text-link:hover svg{transform:translateX(4px)}
.am-btn:hover{transform:translateY(-2px)}
.am-btn:active{transform:scale(.96)}
.am-btn--primary{background:var(--giesse-600);color:#fff;box-shadow:0 0 0 1px rgba(255,255,255,.18),0 14px 32px rgba(0,105,43,.24)}
.am-btn--primary:hover{background:var(--giesse-700)}
.am-btn--ghost{background:rgba(10,11,11,.42);color:var(--blanco);box-shadow:inset 0 0 0 1px var(--silver-line-strong)}
.am-btn--ghost:hover{background:rgba(244,244,244,.08);box-shadow:inset 0 0 0 1px var(--aluminio)}
.am-btn--wa{width:max-content;background:#167b3b;color:#fff;box-shadow:0 0 0 1px rgba(255,255,255,.12),0 16px 40px rgba(0,0,0,.3)}
.am-icon-fill{width:22px!important;height:22px!important;fill:currentColor!important;stroke:none!important}

/* Navigation */
.am-nav{position:fixed;inset:0 0 auto;z-index:100;background:rgba(180,187,191,.84);border-bottom:1px solid var(--metal-line);transition-property:background-color,border-color,box-shadow;transition-duration:240ms;backdrop-filter:blur(12px) saturate(.8)}
.am-nav.is-scrolled{background:rgba(203,208,210,.96);border-color:var(--metal-line-strong);box-shadow:0 10px 35px rgba(29,34,37,.18);backdrop-filter:blur(16px) saturate(.85)}
.am-nav__inner{width:min(100% - clamp(2rem,7vw,7rem),var(--maxw));height:78px;margin:auto;display:flex;align-items:center;justify-content:space-between}
.am-nav__brand{display:flex;align-items:center;min-height:44px}
.am-nav__links{display:flex;align-items:center;gap:clamp(1rem,2.4vw,2.2rem)}
.am-nav__links a{position:relative;min-height:44px;display:flex;align-items:center;color:#292e31;font-size:.84rem;font-weight:700;letter-spacing:.015em;transition-property:color;transition-duration:160ms}
.am-nav__links a::after{content:"";position:absolute;left:0;right:100%;bottom:3px;height:2px;background:var(--giesse-600);transition-property:right;transition-duration:180ms}
.am-nav__links a:hover,.am-nav__links a.is-active{color:#050606}
.am-nav__links a:hover::after,.am-nav__links a.is-active::after{right:0}
.am-nav__cta{padding-inline:1.15rem!important;background:var(--giesse-600);color:#fff!important;min-height:44px!important;box-shadow:0 8px 20px rgba(0,105,43,.18)}
.am-nav__cta:hover{background:var(--giesse-700)}
.am-nav__cta::after{display:none}
.am-nav__toggle{width:46px;height:46px;display:none;place-content:center;gap:5px;padding:0;border:0;background:transparent;color:var(--ink);cursor:pointer}
.am-nav__toggle span{display:block;width:25px;height:1px;background:currentColor;transition-property:transform,opacity;transition-duration:180ms}
.am-nav__toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.am-nav__toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.am-nav__toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* Hero */
.am-hero{position:relative;min-height:clamp(700px,100svh,920px);display:flex;align-items:center;overflow:hidden;background:var(--black)}
.am-hero__media{position:absolute;inset:0;overflow:hidden}
.am-hero__media::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(5,7,8,.92) 0%,rgba(5,7,8,.72) 34%,rgba(5,7,8,.18) 62%,rgba(5,7,8,.08) 100%),linear-gradient(180deg,rgba(5,7,8,.16),rgba(5,7,8,.08) 60%,rgba(5,7,8,.54))}
.am-hero__media picture{display:block;width:100%;height:100%}
.am-hero__media img{width:100%;height:100%;object-fit:cover;object-position:center center;transform:scale(1.025);will-change:transform;outline:0}
.am-hero__layout{position:relative;z-index:2;padding-top:7rem;padding-bottom:6rem}
.am-hero__content{max-width:610px}
.am-hero__title{font-size:clamp(3rem,5.25vw,5.45rem);letter-spacing:-.06em;text-shadow:0 10px 32px rgba(0,0,0,.38)}
.am-hero__lead{max-width:560px;margin:2rem 0 2.15rem;padding-top:1.55rem;border-top:1px solid var(--silver-line-strong);color:#d0d3d4;font-size:clamp(1rem,1.35vw,1.16rem);line-height:1.65}
.am-hero__actions{display:flex;flex-wrap:wrap;gap:1rem}
.am-hero__scroll{position:absolute;z-index:3;left:50%;bottom:1.5rem;width:46px;height:46px;display:grid;place-items:center;transform:translateX(-50%);color:var(--aluminio);border:1px solid var(--silver-line);border-radius:50%;transition-property:color,border-color,transform;transition-duration:180ms}
.am-hero__scroll:hover{color:#fff;border-color:var(--aluminio);transform:translateX(-50%) translateY(3px)}
.am-hero__scroll svg{width:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

/* Brand rail */
.am-sistemas{position:relative;z-index:4;scroll-margin-top:78px;background:linear-gradient(105deg,var(--metal-deep),var(--metal-mid) 48%,var(--metal-base));color:var(--ink);border-block:1px solid var(--metal-line-strong);box-shadow:inset 0 1px rgba(255,255,255,.28),inset 0 -1px rgba(42,47,50,.15)}
.am-sistemas__rail{min-height:172px;display:grid;grid-template-columns:minmax(190px,.45fr) minmax(0,1.55fr);align-items:center;gap:clamp(2rem,6vw,6rem);padding-block:2rem}
.am-sistemas h2{max-width:190px;color:#30363a;font-size:.72rem;font-weight:700;line-height:1.55;letter-spacing:.25em;text-transform:uppercase}
.am-sistemas h2::after{content:"";display:block;width:64px;height:1px;margin-top:1.2rem;background:var(--metal-line-strong)}
.am-brands{list-style:none;display:grid;grid-template-columns:.75fr 1.4fr 1fr;align-items:stretch;gap:clamp(.7rem,1.4vw,1.25rem);padding:0;margin:0}
.am-brands__item{min-height:104px;display:grid;place-items:center;padding:1rem clamp(1.2rem,3vw,3rem);background:linear-gradient(145deg,#222627,#0b0c0d);border:1px solid rgba(238,241,243,.34);border-radius:4px;box-shadow:var(--shadow-logo);transition:transform 240ms cubic-bezier(.2,0,0,1),box-shadow 240ms ease,border-color 240ms ease}
.am-brands__item img{width:auto;max-width:100%;height:auto;max-height:66px;object-fit:contain;filter:drop-shadow(0 3px 7px rgba(0,0,0,.55));transition:filter 240ms ease,transform 240ms cubic-bezier(.2,0,0,1)}
.am-brands__item--aluar img{height:60px;max-height:60px;filter:brightness(1.7) grayscale(1) drop-shadow(0 3px 7px rgba(0,0,0,.55))}
.am-brands__item--giesse img{max-width:210px;max-height:44px}
.am-brands__item--roto img{max-width:132px;max-height:60px}
.am-brands__item:hover{transform:translateY(-4px);border-color:rgba(238,241,243,.58);box-shadow:0 16px 34px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.1)}
.am-brands__item:hover img{transform:translateY(-1px);filter:brightness(1.08) drop-shadow(0 4px 9px rgba(0,0,0,.62))}
.am-brands__item--aluar:hover img{filter:brightness(2) grayscale(1) drop-shadow(0 4px 9px rgba(0,0,0,.62))}

/* About */
.am-nosotros{background:linear-gradient(118deg,var(--metal-light),var(--metal-mid) 52%,var(--metal-base))}
.am-nosotros::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 22%,rgba(255,255,255,.27),transparent 31%),repeating-linear-gradient(100deg,rgba(255,255,255,.026) 0 1px,rgba(22,27,30,.018) 1px 3px,transparent 3px 9px);pointer-events:none}
.am-nosotros__grid{display:grid;grid-template-columns:minmax(340px,.94fr) minmax(380px,1.06fr);gap:clamp(3.5rem,8vw,8.5rem);align-items:center}
.am-nosotros__media{position:relative;margin:0;width:min(100%,560px);justify-self:start}
.am-nosotros__media::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),inset 0 -90px 90px -80px rgba(0,0,0,.85)}
.am-nosotros__media img{width:100%;aspect-ratio:4/5;max-height:760px;object-fit:cover;object-position:center;border-radius:0;box-shadow:0 34px 80px rgba(34,39,42,.3)}
.am-nosotros__media figcaption{max-width:420px;margin:1.25rem 0 0;color:var(--ink-muted);font-size:.76rem;letter-spacing:.035em}
.am-nosotros__copy{max-width:650px;margin:2.2rem 0;color:var(--ink-muted);font-size:clamp(1rem,1.35vw,1.17rem)}
.am-nosotros__copy p{margin-bottom:1.2rem}
.am-proof{display:flex;align-items:center;gap:1.2rem;padding-top:1.5rem;border-top:1px solid var(--metal-line-strong)}
.am-proof strong{font-family:var(--font-display);font-size:clamp(2.8rem,5vw,4.8rem);font-weight:600;line-height:1;background:var(--chrome-ink-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.am-proof span{color:var(--ink-muted);font-size:.82rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}

/* Services */
.am-servicios{background:linear-gradient(105deg,var(--metal-base),var(--metal-light) 48%,var(--metal-mid));box-shadow:inset 0 1px rgba(255,255,255,.25)}
.am-servicios .am-container{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(460px,1.22fr);column-gap:clamp(3rem,8vw,9rem);align-items:start}
.am-section-heading{position:sticky;top:120px;grid-column:1;grid-row:1 / span 2}
.am-service-list{grid-column:2;border-top:1px solid var(--metal-line-strong)}
.am-service{display:grid;grid-template-columns:78px 1fr 34px;gap:1.2rem;align-items:center;padding:1.7rem .4rem;border-bottom:1px solid var(--metal-line);transition-property:transform,border-color,background-color,box-shadow;transition-duration:240ms}
.am-service:hover{transform:translateX(7px);border-color:var(--giesse-600);background:linear-gradient(90deg,transparent,rgba(255,255,255,.22));box-shadow:12px 0 24px -22px rgba(20,24,27,.45)}
.am-service__num{font-family:var(--font-display);font-size:1.45rem;font-weight:600;color:#5b6368}
.am-service h3{margin:0 0 .45rem;font-size:clamp(1.25rem,2vw,1.75rem);letter-spacing:-.02em}
.am-service p{margin:0;max-width:600px;color:var(--ink-muted)}
.am-service__arrow{width:24px;height:24px;fill:none;stroke:#5b6368;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;transition:transform 220ms cubic-bezier(.2,0,0,1),stroke 220ms ease}
.am-service:hover .am-service__arrow{transform:translateX(5px);stroke:var(--giesse-600)}
.am-section-cta{grid-column:2;display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:2.2rem}
.am-section-cta p{margin:0;color:var(--ink-muted)}
.am-text-link{min-height:44px;display:inline-flex;align-items:center;gap:.75rem;color:var(--giesse-800);font-family:var(--font-display);font-weight:700}

/* Work */
.am-obras{background:linear-gradient(145deg,#181b1c,#080909 72%);color:var(--blanco);border-block:1px solid var(--silver-line);box-shadow:inset 0 1px rgba(255,255,255,.06)}
.am-obras__heading{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(2rem,7vw,7rem);align-items:end;margin-bottom:3.5rem}
.am-obras .am-section-label{color:var(--aluminio-dark)}
.am-obras .am-section-label::after{background:var(--silver-line-strong)}
.am-obras__heading>p{margin:0 0 .55rem;color:#abb0b3;font-size:1.05rem}
.am-work-reel{padding:clamp(.55rem,1vw,.8rem);background:#111314;box-shadow:0 0 0 1px rgba(238,241,243,.1),0 24px 70px rgba(0,0,0,.34);border-radius:10px}
.am-work-stage{margin:0;overflow:hidden;background:#050606;border-radius:6px}
.am-work-stage__open{position:relative;width:100%;display:block;padding:0;border:0;background:#050606;color:var(--blanco);cursor:zoom-in;overflow:hidden}
.am-work-stage__open::after{content:"";position:absolute;inset:auto 0 0;height:32%;pointer-events:none;background:linear-gradient(transparent,rgba(4,5,5,.45))}
.am-work-stage__open img{width:100%;height:min(68vw,720px,calc(100svh - 184px));min-height:430px;object-fit:contain;background:#050606;outline:1px solid rgba(255,255,255,.1);outline-offset:-1px;transition-property:opacity,transform,filter;transition-duration:260ms;transition-timing-function:cubic-bezier(.2,0,0,1)}
.am-work-stage__open:hover img{transform:scale(1.012)}
.am-work-stage__open.is-updating img{opacity:.42;transform:scale(.992);filter:blur(3px)}
.am-work-stage__hint{position:absolute;z-index:2;right:1.15rem;bottom:1.15rem;min-height:44px;display:flex;align-items:center;gap:.55rem;padding:.55rem .8rem;background:rgba(8,9,9,.76);box-shadow:0 0 0 1px rgba(255,255,255,.16),0 8px 24px rgba(0,0,0,.28);border-radius:3px;font-size:.73rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(9px);transition-property:background-color,transform;transition-duration:180ms}
.am-work-stage__hint svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.am-work-stage__open:hover .am-work-stage__hint{background:rgba(8,9,9,.92);transform:translateY(-2px)}
.am-work-caption{min-height:92px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:1rem 1.15rem;background:#0b0d0d;border-top:1px solid rgba(238,241,243,.1)}
.am-work-caption__count{color:var(--aluminio-dark);font-family:var(--font-display);font-size:.73rem;font-variant-numeric:tabular-nums;letter-spacing:.14em}
.am-work-caption__copy{display:grid;gap:.18rem}
.am-work-caption__copy strong{font-family:var(--font-display);font-size:clamp(1rem,1.8vw,1.35rem);font-weight:600}
.am-work-caption__copy small{color:var(--aluminio-dark);font-size:.76rem}
.am-work-controls{display:flex;gap:.55rem}
.am-work-controls button,.am-work-dialog__nav button,.am-work-dialog__close{width:46px;height:46px;display:grid;place-items:center;padding:0;border:0;border-radius:2px;background:#202425;color:var(--blanco);box-shadow:0 0 0 1px rgba(255,255,255,.12);cursor:pointer;transition-property:background-color,transform,box-shadow;transition-duration:160ms}
.am-work-controls button:hover,.am-work-dialog__nav button:hover,.am-work-dialog__close:hover{background:#303536;box-shadow:0 0 0 1px rgba(255,255,255,.24)}
.am-work-controls button:active,.am-work-dialog__nav button:active,.am-work-dialog__close:active{transform:scale(.96)}
.am-work-controls svg,.am-work-dialog__nav svg,.am-work-dialog__close svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.am-work-thumbs{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(112px,1fr);gap:.65rem;margin-top:.7rem;padding:.15rem .1rem .35rem;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#555b5e transparent}
.am-work-thumbs button{position:relative;min-width:112px;padding:0;border:0;border-radius:3px;background:#0b0d0d;color:#fff;box-shadow:0 0 0 1px rgba(255,255,255,.1);overflow:hidden;cursor:pointer;scroll-snap-align:center;transition-property:opacity,transform,box-shadow;transition-duration:180ms}
.am-work-thumbs button:hover{transform:translateY(-2px);box-shadow:0 0 0 1px rgba(255,255,255,.26),0 8px 20px rgba(0,0,0,.24)}
.am-work-thumbs button:active{transform:scale(.96)}
.am-work-thumbs button[aria-selected="false"]{opacity:.52}
.am-work-thumbs button[aria-selected="true"]{opacity:1;box-shadow:0 0 0 2px var(--giesse-600),0 9px 24px rgba(0,0,0,.3)}
.am-work-thumbs img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;outline:1px solid rgba(255,255,255,.08);outline-offset:-1px}
.am-work-thumbs span{position:absolute;right:.42rem;bottom:.35rem;min-width:25px;padding:.15rem .28rem;background:rgba(5,6,6,.8);font-size:.64rem;font-variant-numeric:tabular-nums;letter-spacing:.08em}
.am-obras__footer{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:2rem}
.am-obras__footer p{margin:0;color:#abb0b3}
.am-obras .am-btn--ghost{background:rgba(17,20,21,.92);color:var(--blanco);box-shadow:inset 0 0 0 1px rgba(238,241,243,.28),0 12px 28px rgba(27,31,33,.2)}
.am-obras .am-btn--ghost:hover{background:#080909;box-shadow:inset 0 0 0 1px rgba(238,241,243,.52),0 16px 34px rgba(27,31,33,.28)}
.am-work-dialog{width:min(94vw,1320px);max-width:none;padding:0;border:0;background:transparent;color:var(--blanco);overflow:visible}
.am-work-dialog::backdrop{background:rgba(3,4,4,.88);backdrop-filter:blur(10px)}
.am-work-dialog__surface{position:relative;padding:.7rem;background:#0b0d0d;box-shadow:0 0 0 1px rgba(255,255,255,.13),0 34px 100px rgba(0,0,0,.7);border-radius:9px}
.am-work-dialog__surface>img{width:100%;height:min(78vh,860px);object-fit:contain;background:#050606;border-radius:5px;outline:1px solid rgba(255,255,255,.1);outline-offset:-1px}
.am-work-dialog__close{position:absolute;z-index:2;top:1.25rem;right:1.25rem;background:rgba(8,9,9,.82);backdrop-filter:blur(8px)}
.am-work-dialog__nav{min-height:62px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:.65rem .25rem 0}
.am-work-dialog__nav p{margin:0;text-align:center;font-family:var(--font-display);font-weight:600;text-wrap:balance}

/* Contact */
.am-contacto{background:linear-gradient(100deg,var(--metal-light) 0 50%,var(--metal-base) 50%);box-shadow:inset 0 1px rgba(255,255,255,.22)}
.am-contacto__grid{display:grid;grid-template-columns:minmax(320px,.92fr) minmax(420px,1.08fr);gap:clamp(3rem,8vw,8rem);align-items:start}
.am-contacto__lead{max-width:540px;margin:2rem 0 2rem;color:var(--ink-muted);font-size:clamp(1.05rem,1.6vw,1.3rem)}
.am-contact-list{margin:2.4rem 0 0}
.am-contact-list>div{display:grid;grid-template-columns:120px 1fr;gap:1.2rem;padding:.85rem 0;border-bottom:1px solid var(--metal-line)}
.am-contact-list dt{color:#555d62;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.am-contact-list dd{margin:0;color:var(--ink);overflow-wrap:anywhere}
.am-contact-list a{transition-property:color;transition-duration:160ms}
.am-contact-list a:hover{color:var(--giesse-800)}
.am-form-panel{padding:clamp(1.8rem,3vw,2.8rem);background:rgba(216,220,222,.84);border:1px solid var(--metal-line-strong);box-shadow:var(--shadow-metal);backdrop-filter:blur(6px)}
.am-form-panel__heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.7rem}
.am-form-panel__heading h3{font-size:1.45rem}
.am-form-panel__heading p{margin:0;color:var(--ink-muted);font-size:.78rem}
.am-form{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem 1rem}
.am-form .form-field{margin:0}
.am-form .form-field:nth-of-type(1),.am-form .form-field:nth-of-type(4),.am-form .form-field:nth-of-type(5),.am-form .form-field:nth-of-type(6),.am-form .buttons{grid-column:1/-1}
.am-form .form-label{margin-bottom:.42rem}
.am-form label{display:block!important;color:#343a3e;font-size:.82rem;font-weight:700}
.am-form .required{color:var(--giesse-800)}
.am-form input:not([type="checkbox"]),.am-form textarea{width:100%;min-height:50px;padding:.78rem .9rem;border:1px solid rgba(38,44,47,.34);border-radius:2px;background:#e3e6e7;color:var(--ink);font-size:.95rem;box-shadow:inset 0 1px 2px rgba(35,40,43,.08);transition-property:border-color,box-shadow,background-color;transition-duration:160ms}
.am-form textarea{min-height:145px;resize:vertical}
.am-form input::placeholder,.am-form textarea::placeholder{color:#6b7378}
.am-form input:not([type="checkbox"]):focus,.am-form textarea:focus{outline:0;border-color:var(--giesse-600);box-shadow:0 0 0 3px rgba(0,125,52,.16);background:#edf0f1}
.am-form input[type="checkbox"]{width:18px;height:18px;margin:.15rem .55rem 0 0;accent-color:var(--giesse-600)}
.am-form [data-grav-field="checkbox"] .form-input-wrapper{display:flex;align-items:flex-start;color:var(--ink-muted)}
.am-form .buttons{margin-top:.4rem}
.am-form__submit{width:100%;min-height:52px}
.am-form__note{margin:1rem 0 0;color:var(--ink-muted);font-size:.75rem}
.form-messages,.alert{grid-column:1/-1;margin-bottom:1rem;padding:.8rem 1rem;background:rgba(0,105,43,.12);color:#174526;border-left:2px solid var(--giesse-600)}
.am-hp,[data-grav-field="honeypot"]{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}

/* Footer */
.am-footer{padding:4rem 0 1.5rem;background:#080909;border-top:1px solid var(--silver-line)}
.am-footer__grid{display:grid;grid-template-columns:1.35fr 1fr 1.15fr .7fr;gap:clamp(2rem,5vw,5rem)}
.am-footer__brand>p{max-width:300px;color:var(--aluminio-dark);font-size:.85rem}
.am-footer h3{margin-bottom:1rem;color:var(--aluminio);font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.am-footer p{margin:.35rem 0;color:var(--aluminio-dark);font-size:.84rem}
.am-footer a{transition-property:color;transition-duration:160ms;overflow-wrap:anywhere}
.am-footer a:hover{color:var(--giesse)}
.am-footer__bottom{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:3rem;padding-top:1.25rem;border-top:1px solid rgba(200,204,206,.1)}
.am-footer__bottom p,.am-footer__bottom a{margin:0;color:#676d70;font-size:.75rem}

/* WhatsApp */
.am-wa-fab{position:fixed;right:18px;bottom:18px;z-index:90;min-height:50px;display:flex;align-items:center;gap:.55rem;padding:.7rem .95rem;border-radius:3px;background:#167b3b;color:#fff;box-shadow:0 12px 34px rgba(0,0,0,.38),0 0 0 1px rgba(255,255,255,.12);font-size:.78rem;font-weight:700;letter-spacing:.04em;transition-property:transform,background-color,bottom;transition-duration:180ms}
.is-viewing-works .am-wa-fab{bottom:82px}
.am-wa-fab svg{width:24px;height:24px}
.am-wa-fab:hover{transform:translateY(-3px);background:#126a33}
.am-wa-fab:active{transform:scale(.96)}

/* Reveal: visible without JS; motion is enabled only after main.js initializes. */
.has-js [data-reveal]{--reveal-x:0;--reveal-y:30px;--reveal-scale:1;opacity:0;transform:translate3d(var(--reveal-x),var(--reveal-y),0) scale(var(--reveal-scale));filter:blur(5px);transition-property:opacity,transform,filter;transition-duration:760ms;transition-delay:var(--reveal-delay,0ms);transition-timing-function:cubic-bezier(.16,1,.3,1)}
.has-js [data-reveal="left"]{--reveal-x:-32px;--reveal-y:0}
.has-js [data-reveal="right"]{--reveal-x:32px;--reveal-y:0}
.has-js [data-reveal="scale"]{--reveal-y:16px;--reveal-scale:.975}
[data-reveal-delay="1"]{--reveal-delay:90ms!important}
[data-reveal-delay="2"]{--reveal-delay:180ms!important}
[data-reveal-delay="3"]{--reveal-delay:270ms!important}
.has-js [data-reveal].is-visible{opacity:1;transform:none;filter:blur(0)}
.am-service:nth-child(2){transition-delay:70ms}.am-service:nth-child(3){transition-delay:140ms}.am-service:nth-child(4){transition-delay:210ms}.am-service:nth-child(5){transition-delay:280ms}

/* Motion polish — todo desactivado por el bloque prefers-reduced-motion de abajo. */
/* Barrido cromado sutil en títulos con degradé */
@keyframes am-chrome-shimmer{0%{background-position:50% 0}100%{background-position:50% 100%}}
.am-hero__title.am-chrome,.am-proof strong{background-size:100% 260%;animation:am-chrome-shimmer 6.5s ease-in-out infinite alternate}
/* Indicador de scroll con leve rebote */
@keyframes am-bob{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(7px)}}
.am-hero__scroll{animation:am-bob 2.6s ease-in-out infinite}
.am-hero__scroll:hover{animation-play-state:paused}
/* Entrada en cascada de los logos del rail (se dispara al revelarse el rail) */
.has-js .am-brands__item{opacity:0;transform:translateY(16px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}
.has-js .am-sistemas__rail.is-visible .am-brands__item{opacity:1;transform:none}
.am-brands__item:nth-child(2){transition-delay:.11s}
.am-brands__item:nth-child(3){transition-delay:.22s}
/* Entrada suave del botón flotante de WhatsApp (solo si el usuario acepta movimiento;
   nunca debe ocultar el CTA, por eso queda fuera del bloque reduced-motion). */
@keyframes am-fab-in{from{opacity:0;transform:translateY(22px) scale(.92)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:no-preference){
  .am-wa-fab{animation:am-fab-in .55s .7s both}
}
/* Trazo animado de la línea en las etiquetas de sección */
.has-js .am-section-label::after{transform:scaleX(0);transform-origin:left;transition:transform .7s .15s cubic-bezier(.16,1,.3,1)}
.has-js [data-reveal].is-visible .am-section-label::after,.has-js .am-section-label[data-reveal].is-visible::after{transform:scaleX(1)}

@media (max-width:1040px){
  .am-nav__links{gap:1rem}
  .am-nosotros__grid,.am-contacto__grid{gap:3.5rem}
  .am-servicios .am-container{grid-template-columns:1fr;row-gap:3rem}
  .am-section-heading{position:static;grid-column:1;grid-row:auto;max-width:760px}
  .am-service-list,.am-section-cta{grid-column:1}
  .am-service-list{max-width:820px;margin-left:auto;width:100%}
  .am-section-cta{max-width:820px;margin-left:auto;width:100%}
  .am-footer__grid{grid-template-columns:1.4fr 1fr 1fr}
  .am-footer__grid>.am-footer__col:last-child{grid-column:2}
}

@media (max-width:820px){
  html{scroll-padding-top:72px}
  .am-nav__inner{height:72px}
  .am-lockup__type strong{font-size:.86rem}
  .am-lockup__type small{font-size:.38rem}
  .am-nav__toggle{display:grid;position:relative;z-index:2}
  .am-nav__links{position:fixed;inset:0 0 0 auto;width:min(84vw,360px);height:100dvh;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:.6rem;padding:5rem 2rem 2rem;background:linear-gradient(145deg,var(--metal-light),var(--metal-base));box-shadow:-24px 0 70px rgba(28,33,36,.34);transform:translateX(105%);transition-property:transform;transition-duration:240ms;transition-timing-function:cubic-bezier(.2,0,0,1)}
  .am-nav__links.is-open{transform:none}
  .am-nav__links a{justify-content:flex-start;font-size:1.25rem;border-bottom:1px solid var(--metal-line)}
  .am-nav__cta{margin-top:.8rem;justify-content:center;border:0!important}
  .am-hero{min-height:920px;align-items:flex-end}
  .am-hero__media{inset:0 0 auto;height:55%}
  .am-hero__media::before{background:linear-gradient(180deg,rgba(5,7,8,.08) 0%,rgba(5,7,8,.08) 48%,var(--black) 100%)}
  .am-hero__media img{object-position:center center}
  .am-hero__layout{padding-top:28rem;padding-bottom:7rem}
  .am-hero__content{max-width:670px}
  .am-hero__title{font-size:clamp(3rem,10vw,5rem)}
  .am-sistemas__rail{grid-template-columns:1fr;gap:1.25rem;padding-block:2rem}
  .am-sistemas h2{max-width:none}
  .am-brands{width:100%}
  .am-nosotros::before{display:none}
  .am-nosotros__grid,.am-contacto__grid{grid-template-columns:1fr}
  .am-nosotros__media{width:min(100%,460px)}
  .am-nosotros__content{max-width:680px}
  .am-obras__heading{grid-template-columns:1fr;align-items:start}
  .am-obras__heading>p{max-width:620px}
  .am-work-stage__open img{height:min(78vw,620px);min-height:360px}
  .am-contacto{background:linear-gradient(145deg,var(--metal-light),var(--metal-base))}
  .am-form-panel{background:rgba(216,220,222,.9)}
  .am-footer__grid{grid-template-columns:1fr 1fr}
  .am-footer__brand{grid-column:1/-1}
  .am-footer__grid>.am-footer__col:last-child{grid-column:auto}
}

@media (max-width:560px){
  .am-container,.am-nav__inner{width:min(100% - 2rem,var(--maxw))}
  .am-lockup{gap:.48rem}
  .am-lockup__mark{width:30px;height:30px}
  .am-lockup__type strong{font-size:.72rem}
  .am-lockup__type small{font-size:.31rem;letter-spacing:.12em}
  .am-section{padding:5rem 0}
  .am-h2{font-size:clamp(2.25rem,11vw,3.7rem)}
  .am-hero{min-height:844px}
  .am-hero__media{height:46%}
  .am-hero__layout{padding-top:17rem;padding-bottom:4.5rem}
  .am-hero__title{font-size:clamp(2.65rem,12vw,3.55rem)}
  .am-hero__lead{margin:1.25rem 0 1.4rem;padding-top:1rem;font-size:.97rem;line-height:1.55}
  .am-hero__actions{display:grid;grid-template-columns:1fr}
  .am-btn{width:100%}
  .am-brands{grid-template-columns:1fr;gap:.75rem}
  .am-brands__item{min-height:92px}
  .am-nosotros__media img{max-height:560px}
  .am-service{grid-template-columns:44px 1fr 24px;padding:1.35rem 0}
  .am-service__num{font-size:1.1rem}
  .am-section-cta,.am-obras__footer{align-items:flex-start;flex-direction:column}
  .am-work-reel{margin-inline:-.5rem;padding:.45rem;border-radius:7px}
  .am-work-stage{border-radius:4px}
  .am-work-stage__open img{height:72vh;min-height:420px;max-height:640px}
  .am-work-stage__hint{right:.75rem;bottom:.75rem}
  .am-work-caption{grid-template-columns:1fr auto;gap:.75rem;padding:.9rem}
  .am-work-caption__count{grid-column:1/-1}
  .am-work-caption__copy small{max-width:220px}
  .am-work-thumbs{grid-auto-columns:96px}
  .am-work-thumbs button{min-width:96px}
  .am-work-dialog{width:96vw}
  .am-work-dialog__surface{padding:.4rem}
  .am-work-dialog__surface>img{height:74vh}
  .am-work-dialog__close{top:.85rem;right:.85rem}
  .am-work-dialog__nav{gap:.55rem}
  .am-obras__footer .am-btn{width:100%}
  .am-contact-list>div{grid-template-columns:1fr;gap:.2rem}
  .am-form-panel{margin-inline:-.25rem;padding:1.25rem}
  .am-form-panel__heading{align-items:flex-start;flex-direction:column}
  .am-form{grid-template-columns:1fr}
  .am-form .form-field,.am-form .buttons{grid-column:1!important}
  .am-footer__grid{grid-template-columns:1fr}
  .am-footer__brand{grid-column:auto}
  .am-footer__bottom{align-items:flex-start;flex-direction:column;gap:.6rem}
  .am-wa-fab{width:52px;height:52px;min-height:52px;padding:0;justify-content:center;border-radius:50%}
  .am-wa-fab span{display:none}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .has-js [data-reveal]{opacity:1;transform:none;filter:none}
  .am-hero__media img{transform:none!important;will-change:auto}
  .am-work-stage__open img,.am-work-thumbs button{transition:none!important}
}
