/* Revision 03 — documentary blue photo hero, perspective wall and depth entrances. */
:root{--nav:140px}
.site-header{background:#fafaf7}.brand-mark{display:flex;align-items:center;gap:18px;flex-shrink:0}.brand-mark img{width:92px;height:102px;object-fit:contain;mix-blend-mode:multiply}.brand-mark .brand-word{display:inline-block;font-size:60px;letter-spacing:-0.5px;font-weight:900;line-height:1;color:#2ba0e6;-webkit-text-stroke:.3px #073650;text-shadow:2px 3px 0 #0a4a6e,4px 6px 8px rgba(4,20,32,.35)}.brand-mark small{display:block;font-size:11.5px;letter-spacing:1.1px;line-height:1;margin-top:10px;color:#6c7680}.brand-mark small.brand-sub{font-size:9px;letter-spacing:.8px;margin-top:6px;color:#161616;font-weight:400}
.hero{padding:0 18px;background:#fafaf7}.hero-stage{--blue:#6ac4f3;--line:#386174;background:radial-gradient(ellipse at 92% 30%,#205772 0%,#10364c 43%,#082a3d 80%);color:#f4f5ef;border-radius:0 0 28px 28px;padding-left:calc(var(--pad) - 18px);padding-right:calc(var(--pad) - 18px)}
.hero-layout{grid-template-columns:48% 50%;gap:2%}.hero-kicker .eyebrow{color:#c4dbe6}.hero-brand{display:flex;gap:22px;align-items:center;margin-bottom:28px}.hero-brand img{width:96px;height:96px;object-fit:contain;border-radius:9px;background:#fff;padding:6px}.hero-brand .small-intro{margin:0;color:#abc8d7;line-height:1.9;font-size:9px;letter-spacing:1.1px}.hero h1{font-weight:600;letter-spacing:-.07em;font-size:clamp(68px,6.6vw,110px)}.hero .title-rule{margin-top:26px}.hero-description{color:#bed0da;font-size:14px}.hero-actions .button-ink{background:#ddeb4a;color:#102f40;font-weight:600}.hero-actions .button-ink:hover{background:#f2ff73}.hero-actions .text-link{color:#eff5f7}.hero-machine{height:560px;max-height:65vh}.hero-machine .machine-canvas{height:calc(100% - 45px)}.hero-machine .machine-backdrop{inset:0 0 45px 0;border:0;border-radius:48% 48% 8% 8%;background:radial-gradient(ellipse at 50% 30%,#fff 0%,#d9e9ec 55%,#a9c9d7 100%);box-shadow:inset 0 0 0 1px #ffffff33;transform:scale(.96);opacity:.96}.hero-machine .machine-backdrop:before{height:1px;background:#8cb0bc80;top:84%;left:4%;right:4%}.hero-machine .machine-backdrop:after{display:none}.hero-machine .machine-backdrop span,.hero-machine .machine-backdrop i{display:none}.hero .machine-label{color:#c2dbe5;left:3%;bottom:0}.hero .machine-label b{color:#8bb1c2}.hero .scene-trace{z-index:3}.hero .scene-trace path{stroke:#c8e841;stroke-width:1.4;stroke-dasharray:none;opacity:.8}.hero-bottom{border-color:#54738566}.hero-values{color:#a5c0cd}.hero-values i{background:#ddeb4a}.hero .motion-toggle{color:#c6d9e2;border-color:#55768a}.hero .scene-progress{bottom:0;left:25px;right:25px}.hero .scene-progress i{background:#ddeb4a}.motion-ready:not(.simple-motion) .hero .reveal-title{background:linear-gradient(90deg,#77ceff var(--reveal-pct,100%),#a3bac6 var(--reveal-pct,100%));background-clip:text;-webkit-background-clip:text}.hero h1 span{color:#77ceff}
.intro-band{background:#fafaf7;color:var(--ink);padding-top:70px;padding-bottom:70px;min-height:370px;overflow:clip}.intro-band .intro-statement{display:block}.intro-statement>p:first-child{font-size:clamp(24px,2.5vw,40px);line-height:1.2;letter-spacing:-1.3px;max-width:530px}.intro-statement>p:first-child strong{color:var(--blue)}.intro-statement>p:last-child{max-width:395px;font-size:13px;color:var(--muted);line-height:1.8;margin-top:22px}.field-stack{height:250px;position:relative;display:block;perspective:900px}.field-stack img{position:absolute;top:0;width:44%;height:215px;object-fit:cover;border:6px solid white;box-shadow:0 18px 35px #112f4026;border-radius:5px;transform-origin:50% 90%}.field-stack img:nth-child(1){left:1%;transform:rotate(-12deg) translateY(9px)}.field-stack img:nth-child(2){left:26%;transform:rotate(-2deg);z-index:2}.field-stack img:nth-child(3){left:51%;transform:rotate(10deg) translateY(11px)}.field-stack>span{position:absolute;bottom:0;right:3%;font:10px Consolas,monospace;letter-spacing:1px;display:flex;align-items:center;gap:30px}.field-stack b{font-size:24px;font-weight:400;color:var(--blue)}.field-stack:hover img:nth-child(1){transform:rotate(-17deg) translateY(-5px)}.field-stack:hover img:nth-child(3){transform:rotate(14deg) translateY(-4px)}.field-stack img{transition:transform .25s ease}
.visual-motion .equipment-item{transform:translate3d(var(--entrance-x,0px),var(--entrance-y,0px),0);opacity:calc(.4 + var(--entrance,1)*.6)}.visual-motion .principles article{transform:translateY(var(--entrance-y,0px));opacity:calc(.4 + var(--entrance,1)*.6)}.visual-motion .field-stack{transform:translateY(var(--entrance-y,0px)) scale(calc(.9 + var(--entrance,1)*.1))}.equipment{overflow:clip}.equipment-grid{gap:24px;border-top:0}.equipment-item,.equipment-item+article{background:#e4eae5;border:1px solid #ced8d0;border-radius:15px;padding:30px}.equipment-item+article{background:#e7edf1;border-color:#d0dce3}.equipment .measurement strong{font-size:clamp(70px,7vw,112px)}.equipment-top .micro{font-size:9px}
/* Perspective wall. Static HTML remains a normal grid until visuals.js is ready. */
.projects{background:#071f30}.projects-stage{position:relative}.projects .section-heading h2{font-weight:500}.projects .section-heading h2 span{color:#7cc5ec}.wall-viewport{position:relative;perspective:1500px}.wall-bottom{border-top:1px solid #355365;padding:23px 0 0;display:flex;justify-content:space-between;align-items:center;gap:25px}.wall-hint{font:8px Consolas,monospace;letter-spacing:.7px;color:#a2bfcc}.gallery-mode{font-size:11px;display:flex;gap:20px;align-items:center;background:transparent;color:#ddec4d;border:1px solid #617635;border-radius:24px;padding:11px 18px}.gallery-mode:hover{background:#dae947;color:#122c3a}.gallery-mode span{font-size:18px}.wall-bottom .text-link{font-size:10px;color:#adc9d7}.wall-grid .drift-column{display:contents}.wall-grid .project-photo{transform:none}.wall-active{height:270svh;padding:0 var(--pad)}.wall-active .projects-stage{position:sticky;top:var(--nav);height:calc(100svh - var(--nav));display:flex;flex-direction:column;padding:30px 0 20px;overflow:clip}.wall-active .section-top{padding-bottom:14px}.wall-active .section-heading{margin-bottom:18px;gap:40px}.wall-active .section-heading h2{font-size:clamp(40px,3.8vw,61px)}.wall-active .section-heading>p{font-size:11px;max-width:270px;padding-bottom:2px}.wall-active .gallery-tools{margin-bottom:12px}.wall-active .gallery-filters button{padding:8px 14px;font-size:10px}.wall-active .wall-viewport{flex:1;min-height:180px;overflow:hidden;isolation:isolate;margin:0 -20px}.wall-active .wall-viewport:before,.wall-active .wall-viewport:after{content:'';position:absolute;left:0;right:0;height:40px;z-index:5;pointer-events:none}.wall-active .wall-viewport:before{top:0;background:linear-gradient(#071f30,transparent)}.wall-active .wall-viewport:after{bottom:0;background:linear-gradient(transparent,#071f30)}.wall-active .drift-wall{display:flex;gap:24px;align-items:start;padding:40px 28px 0;transform-origin:50% 35%;transform-style:preserve-3d;transform:translateX(var(--pan-x,0px)) rotateX(var(--pitch,8deg)) rotateY(var(--yaw,-12deg)) rotateZ(var(--roll,-3deg)) scale(var(--wall-scale,.95));will-change:transform}.wall-active .drift-column{flex:1;min-width:0;display:flex;flex-direction:column;gap:24px;transform-style:preserve-3d;will-change:transform}.wall-active .project-photo:nth-child(n){padding:0;transform:none;border-radius:10px;overflow:hidden;background:#153f56;box-shadow:0 12px 25px #0005;border:1px solid #608ba340;position:relative;transform-style:preserve-3d;transition:transform .25s ease,box-shadow .25s ease}.wall-active .project-photo:nth-child(n) img{height:260px;width:100%;object-fit:cover;transition:filter .25s ease;filter:saturate(.8) brightness(.83)}.wall-active .project-photo figcaption{margin:0;padding:15px 16px 17px;font-size:12px;display:flex;justify-content:space-between;align-items:start;gap:8px}.wall-active .project-photo figcaption small{font-size:7px}.wall-active .project-photo a{background:#153f56}.wall-active .photo-expand{width:30px;height:30px;border-radius:50%;bottom:12px;right:12px;font-size:21px;background:#e3ed58}.wall-active .project-photo:hover{transform:translateZ(38px) scale(1.025);box-shadow:0 25px 35px #0006;z-index:4}.wall-active .project-photo:hover img{filter:saturate(1) brightness(1.08)}.wall-active .wall-bottom{padding-top:14px;margin-top:10px;position:relative;z-index:6}.wall-active .wall-bottom:after{content:'';position:absolute;bottom:-20px;left:0;width:100%;height:2px;background:#d9e748;transform:scaleX(var(--wall-progress,0));transform-origin:left}.wall-active.three-photos .project-photo:nth-child(n) img{height:clamp(240px,38svh,400px)}
@media(min-width:901px) and (max-height:800px){.hero-brand{margin-bottom:17px}.hero-brand img{width:68px;height:68px}.hero-brand .small-intro{font-size:8px}.hero h1{font-size:6.1vw}.hero-description{font-size:12px}.hero-machine{height:450px}.wall-active .section-heading h2{font-size:40px}.wall-active .section-top{padding-bottom:9px}.wall-active .projects-stage{padding-top:20px}.wall-active .section-heading{margin-bottom:12px}.wall-active .project-photo:nth-child(n) img{height:230px}.wall-active .project-photo figcaption{padding:11px;font-size:10px}}
@media(max-width:1100px){.hero-brand img{width:80px;height:80px}.hero-brand{gap:15px}.hero-brand .small-intro{font-size:8px}.hero h1{font-size:6.6vw}.wall-active .drift-wall{gap:16px}.wall-active .drift-column{gap:16px}.wall-active .project-photo figcaption{flex-direction:column;gap:4px}.wall-active .project-photo:nth-child(n) img{height:230px}.wall-active .wall-hint{max-width:260px;line-height:1.7}.equipment-item,.equipment-item+article{padding:24px}.equipment-grid{gap:18px}}
@media(min-width:681px) and (max-width:900px){.wall-active .projects-stage{top:0;height:100svh}.hero h1{font-size:6.4vw}.hero .hero-brand img{width:66px;height:66px}.hero-brand .small-intro{font-size:7px}.hero-description{font-size:12px}.field-stack{height:215px}.field-stack img{height:175px}.wall-active .section-heading>p{max-width:210px}.wall-bottom .text-link{display:none}.wall-active .project-photo figcaption{font-size:10px}}
@media(max-width:680px){:root{--nav:114px}.brand-mark{gap:11px}.brand-mark img{width:62px;height:69px}.brand-mark .brand-word{font-size:36px;letter-spacing:0;-webkit-text-stroke:0;text-shadow:2px 3px 5px rgba(4,20,32,.35)}.brand-mark small{font-size:8.5px;letter-spacing:.7px;margin-top:6px}.brand-mark small.brand-sub{font-size:6.5px;margin-top:3px}.site-header{gap:10px}.header-cta{font-size:10px;gap:9px}.hero{padding:0 9px}.hero-stage{padding-left:calc(var(--pad) - 9px);padding-right:calc(var(--pad) - 9px);border-radius:0 0 20px 20px}.hero-kicker .eyebrow{font-size:6.5px}.hero .hero-copy{padding-top:25px}.hero-brand{gap:15px;margin-bottom:22px}.hero-brand img{width:72px;height:72px}.hero-brand .small-intro{font-size:7px;line-height:1.8;max-width:210px}.hero h1{font-size:clamp(51px,11.7vw,80px)}.hero-description{font-size:12px}.hero .title-rule{margin-top:19px}.hero-actions{gap:18px}.hero-actions .button{font-size:10px;padding:16px;gap:15px}.hero-actions .text-link{font-size:10px;gap:10px}.hero-machine{height:auto;max-height:none;aspect-ratio:1.25;margin:28px 0 14px}.hero-machine .machine-canvas{height:calc(100% - 20px)}.hero-machine .machine-backdrop{inset:0 0 15px}.hero .machine-label{display:none}.hero-bottom{font-size:6px;gap:5px}.hero .motion-toggle{font-size:7px}.intro-band{padding-top:45px;padding-bottom:45px;gap:35px}.intro-statement>p:first-child{font-size:27px}.intro-statement>p:last-child{font-size:12px;margin-top:17px}.field-stack{height:230px}.field-stack img{height:195px}.equipment-grid{gap:25px}.equipment-item,.equipment-item+article{padding:22px;border-radius:12px}.equipment .measurement strong{font-size:80px}.equipment-top .micro{font-size:7px}.equipment-item h3{font-size:26px}.projects .section-heading h2{font-size:43px}.wall-viewport{perspective:none}.wall-grid .drift-wall{grid-template-columns:1fr;gap:22px}.project-photo:nth-child(n){background:#174158;border-radius:12px;overflow:hidden;box-shadow:0 15px 25px #0003}.project-photo:nth-child(n) img{height:300px}.project-photo figcaption{padding:17px;margin-top:0;gap:8px}.photo-expand{background:#ddeb4a;border-radius:50%}.wall-bottom{flex-direction:column;align-items:start;gap:14px}.wall-hint{font-size:8px;line-height:1.7}.wall-bottom .text-link{font-size:11px}}
@media(prefers-reduced-motion:reduce){.field-stack img,.project-photo,.project-photo img{transition:none!important}.equipment-item,.principles article,.field-stack{transform:none!important;opacity:1!important}}
/* The original photograph is untouched. CSS overlays provide the blue treatment
   and a darker reading area, including when JavaScript is unavailable. */
.hero-stage{
  background-color:#073954;
  background-image:linear-gradient(90deg,rgba(4,29,46,.93) 0%,rgba(5,40,62,.83) 40%,rgba(7,53,79,.52) 100%),linear-gradient(0deg,rgba(3,26,42,.95),rgba(5,43,68,.12) 55%,rgba(3,30,47,.28)),url('assets/photos/montaje.jpeg');
  background-size:cover;background-position:center;background-repeat:no-repeat;
  background-blend-mode:normal,normal,luminosity;
}
.hero-intro{margin:0 0 27px;font:9px/1.9 Consolas,monospace;letter-spacing:1.1px;color:#bfd7e5}
@media(max-width:680px){
  .hero-stage{background-position:62% center;background-image:linear-gradient(90deg,rgba(4,29,46,.89),rgba(5,40,62,.68)),linear-gradient(0deg,rgba(3,26,42,.97),rgba(5,43,68,.18) 65%,rgba(3,30,47,.32)),url('assets/photos/montaje.jpeg')}
  .hero-intro{font-size:7px;margin-bottom:22px;line-height:1.8;letter-spacing:1px}
}
@media print{.brand-mark img{display:block}.hero-stage{background:white;color:#112f40}.wall-active{height:auto!important}.wall-active .projects-stage{position:static;height:auto}.wall-active .wall-viewport{overflow:visible}.wall-active .drift-wall{transform:none;display:grid;grid-template-columns:repeat(3,1fr)}.drift-column{display:contents!important}.hero-intro{display:none}}
