@import url('https://fonts.googleapis.com/css2?family=Genos:wght@400;500;600;700&family=Manrope:wght@300;400;500;600;700&display=swap');

:root{
  --ink:#0b0b0b;--ink-2:#151515;--graphite:#383838;--paper:#f1f0eb;--paper-2:#e8e6df;
  --white:#fff;--muted:#8f8f89;--sand:#c8b795;--line-light:rgba(11,11,11,.16);
  --line-dark:rgba(255,255,255,.16);--header:82px;--pad:clamp(20px,4vw,72px);
  --ease:cubic-bezier(.22,1,.36,1);--radius:3px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink)}body{margin:0;background:var(--ink);color:var(--white);font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.55;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body.no-scroll{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{color:inherit}img,video{display:block;max-width:100%}::selection{background:var(--sand);color:var(--ink)}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.skip-link{position:fixed;left:16px;top:-80px;z-index:9999;padding:12px 18px;background:#fff;color:#111;transition:top .25s}.skip-link:focus{top:16px}
.container{width:min(100%,1600px);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}.section{position:relative;padding:clamp(92px,12vw,190px) 0;overflow:hidden}.section--paper{background:var(--paper);color:var(--ink)}.section--paper2{background:var(--paper-2);color:var(--ink)}.section--dark{background:var(--ink);color:var(--white)}.section--graphite{background:var(--ink-2);color:var(--white)}
.eyebrow{display:flex;align-items:center;gap:14px;margin:0 0 30px;font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.eyebrow::before{content:"";width:34px;height:1px;background:currentColor}.display{font-family:Genos,Arial,sans-serif;font-size:clamp(52px,8vw,142px);font-weight:500;line-height:.74;letter-spacing:-.055em;text-transform:uppercase;margin:0}.display--medium{font-size:clamp(44px,6.2vw,106px)}.display--small{font-size:clamp(38px,4.8vw,82px)}.lead{font-size:clamp(17px,1.4vw,23px);line-height:1.55;max-width:780px}.muted{color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:0 20px;border:1px solid currentColor;background:transparent;text-transform:uppercase;letter-spacing:.13em;font-size:10px;font-weight:600;cursor:pointer;transition:background .3s,color .3s,transform .3s,border-color .3s}.btn:hover{transform:translateY(-2px)}.btn--light:hover{background:#fff;color:#111;border-color:#fff}.btn--dark{border-color:#111;background:#111;color:#fff}.btn--dark:hover{background:transparent;color:#111}.btn--ghost{border-color:rgba(255,255,255,.45)}.btn-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}

/* Header */
.site-header{position:fixed;inset:0 0 auto 0;height:var(--header);z-index:900;display:grid;grid-template-columns:auto 1fr auto;align-items:center;padding:0 var(--pad);transition:background .4s,height .4s,border-color .4s;color .4s;border-bottom:1px solid transparent}.site-header.is-scrolled,.site-header.force-dark{height:68px;background:rgba(7,7,7,.88);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-color:rgba(255,255,255,.1)}.brand{width:clamp(130px,14vw,204px);position:relative;z-index:2}.brand img{width:100%;height:auto}.desktop-nav{display:flex;justify-content:center;align-items:center;gap:clamp(18px,2.6vw,46px)}.desktop-nav a{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.75);padding:10px 0;position:relative}.desktop-nav a::after{content:"";position:absolute;left:0;bottom:4px;width:100%;height:1px;background:#fff;transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}.desktop-nav a:hover::after,.desktop-nav a[aria-current="page"]::after{transform:scaleX(1);transform-origin:left}.header-tools{display:flex;align-items:center;justify-self:end;gap:10px}.header-download{padding:10px 14px;border:1px solid rgba(255,255,255,.5);font-size:9px;text-transform:uppercase;letter-spacing:.12em;transition:.3s}.header-download:hover{background:#fff;color:#111}.menu-toggle{display:none;width:44px;height:44px;border:0;background:transparent;cursor:pointer;place-items:center}.menu-toggle span,.menu-toggle::before,.menu-toggle::after{content:"";display:block;width:22px;height:1px;background:#fff;transition:.35s}.menu-toggle span{margin:5px 0}.menu-toggle.is-open::before{transform:translateY(6px) rotate(45deg)}.menu-toggle.is-open span{opacity:0}.menu-toggle.is-open::after{transform:translateY(-6px) rotate(-45deg)}
.mobile-menu{position:fixed;inset:0;z-index:850;background:var(--paper);color:var(--ink);padding:calc(var(--header) + 40px) var(--pad) 50px;transform:translateY(-103%);transition:transform .8s var(--ease);overflow:auto}.mobile-menu.is-open{transform:translateY(0)}.mobile-menu nav{display:grid;border-top:1px solid var(--line-light)}.mobile-menu nav a{font-family:Genos,sans-serif;font-size:clamp(42px,12vw,74px);text-transform:uppercase;line-height:.95;padding:18px 0;border-bottom:1px solid var(--line-light)}.mobile-menu__bottom{margin-top:42px;display:grid;gap:10px;font-size:13px}.mobile-project-links{margin-top:38px;display:flex;flex-wrap:wrap;gap:8px}.mobile-project-links a{border:1px solid var(--line-light);padding:8px 11px;font-size:9px;text-transform:uppercase;letter-spacing:.1em}

/* Hero */
.hero{position:relative;min-height:100svh;display:grid;align-items:end;overflow:hidden;background:#111}.hero__media{position:absolute;inset:0}.hero__media img,.hero__media video{width:100%;height:100%;object-fit:cover}.hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.05) 42%,rgba(0,0,0,.82))}.hero__content{position:relative;z-index:2;padding:calc(var(--header) + 70px) var(--pad) clamp(60px,9vh,110px);width:min(100%,1600px);margin:0 auto}.hero__grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.42fr);gap:clamp(40px,7vw,130px);align-items:end}.hero__title{font-family:Genos,sans-serif;font-size:clamp(64px,10vw,170px);line-height:.7;letter-spacing:-.065em;text-transform:uppercase;font-weight:500;margin:0;max-width:1200px}.hero__title span{display:block;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.78)}.hero__aside{border-left:1px solid rgba(255,255,255,.36);padding-left:26px}.hero__aside p{color:rgba(255,255,255,.75);font-size:clamp(14px,1.15vw,18px);margin:0}.scroll-indicator{position:absolute;right:var(--pad);bottom:20px;z-index:3;font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:rgba(255,255,255,.65);display:flex;gap:10px;align-items:center;writing-mode:vertical-rl}.scroll-indicator::after{content:"";height:52px;width:1px;background:linear-gradient(#fff,transparent);animation:scrollPulse 1.8s infinite}@keyframes scrollPulse{0%{transform:scaleY(.15);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(.15);transform-origin:bottom}}
.page-hero{min-height:72svh;padding:calc(var(--header) + 100px) 0 80px;display:grid;align-items:end;background:var(--ink);position:relative;overflow:hidden}.page-hero__visual{position:absolute;inset:0;opacity:.5}.page-hero__visual img{width:100%;height:100%;object-fit:cover}.page-hero__visual::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.8),rgba(0,0,0,.2)),linear-gradient(180deg,rgba(0,0,0,.2),rgba(0,0,0,.8))}.page-hero__content{position:relative;z-index:2}

/* Home manifesto */
.manifesto{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.48fr);gap:clamp(50px,8vw,140px);align-items:start}.manifesto__copy p{font-size:clamp(17px,1.45vw,23px);max-width:820px}.manifesto__image{position:relative;aspect-ratio:.85/1;overflow:hidden}.manifesto__image img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}.manifesto__image:hover img{transform:scale(1.035)}.manifesto__quote{margin-top:56px;padding-top:26px;border-top:1px solid var(--line-light);font-family:Genos,sans-serif;font-size:clamp(26px,3vw,52px);line-height:.95;text-transform:uppercase}
.stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark)}.stat{padding:clamp(46px,6vw,96px) clamp(16px,3vw,50px);border-right:1px solid var(--line-dark)}.stat:first-child{padding-left:0}.stat:last-child{border-right:0}.stat strong{font-family:Genos,sans-serif;font-size:clamp(70px,10vw,170px);font-weight:500;line-height:.7;letter-spacing:-.06em;white-space:nowrap}.stat span{display:block;margin-top:28px;font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:rgba(255,255,255,.65)}
.capacity-block{min-height:86svh;display:grid;align-items:center}.capacity-number{font-family:Genos,sans-serif;font-size:clamp(54px,9.5vw,164px);font-weight:500;line-height:.8;letter-spacing:-.06em;white-space:nowrap;margin:38px 0 52px}.capacity-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,.42fr);gap:clamp(44px,8vw,130px);border-top:1px solid var(--line-dark);padding-top:32px}.capacity-points{display:grid;border-top:1px solid var(--line-dark)}.capacity-points span{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line-dark);font-size:9px;text-transform:uppercase;letter-spacing:.13em}.capacity-points span::after{content:"✓"}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line-light);border-left:1px solid var(--line-light);margin-top:70px}.service-card{min-height:330px;border-right:1px solid var(--line-light);border-bottom:1px solid var(--line-light);padding:32px;display:flex;flex-direction:column;justify-content:space-between;transition:.45s var(--ease)}.service-card:hover{background:var(--ink);color:#fff}.service-card__num{font-size:10px;letter-spacing:.14em;color:var(--muted)}.service-card h3{font-family:Genos,sans-serif;font-size:clamp(28px,3vw,48px);font-weight:500;text-transform:uppercase;line-height:.88;margin:0 0 18px}.service-card p{margin:0;font-size:13px;opacity:.72}
.method-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line-dark);border-left:1px solid var(--line-dark);margin-top:70px}.method-card{min-height:300px;border-right:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);padding:32px;display:flex;flex-direction:column;justify-content:space-between;transition:.4s}.method-card:hover{background:var(--paper);color:var(--ink)}.method-card__num{font-size:10px;letter-spacing:.14em;color:var(--muted)}.method-card h3{font-family:Genos,sans-serif;font-size:clamp(28px,3vw,48px);line-height:.9;text-transform:uppercase;font-weight:500;margin:0 0 16px}.method-card p{font-size:13px;margin:0;opacity:.72}

/* horizontal projects */
.projects-horizontal{position:relative;background:var(--ink)}.projects-horizontal__sticky{height:100svh;position:sticky;top:0;overflow:hidden}.projects-track{height:100%;display:flex;will-change:transform}.project-card{position:relative;flex:0 0 100vw;height:100%;display:flex;align-items:flex-end;padding:calc(var(--header) + 25px) var(--pad) clamp(60px,8vh,96px);overflow:hidden}.project-card__bg{position:absolute;inset:-2%;background:var(--image) center/cover no-repeat;transform:scale(1.04);transition:transform 1.2s var(--ease)}.project-card.active .project-card__bg{transform:scale(1)}.project-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.03) 35%,rgba(0,0,0,.88)),linear-gradient(90deg,rgba(0,0,0,.6),transparent 65%)}.project-card__content{position:relative;z-index:2;width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.34fr);gap:50px;align-items:end}.project-card h3{font-family:Genos,sans-serif;font-size:clamp(60px,9vw,150px);line-height:.73;letter-spacing:-.055em;text-transform:uppercase;font-weight:500;margin:0}.project-card__meta{border-left:1px solid rgba(255,255,255,.36);padding-left:25px}.meta-row{display:grid;grid-template-columns:90px 1fr;gap:14px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.16);font-size:11px}.meta-row dt{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.55)}.meta-row dd{margin:0}.project-progress{position:absolute;left:var(--pad);right:var(--pad);bottom:17px;z-index:4;display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.65)}.project-progress__line{height:1px;background:rgba(255,255,255,.22);overflow:hidden}.project-progress__fill{display:block;height:100%;width:0;background:#fff}

/* timeline & history */
.timeline{margin-top:70px;border-top:1px solid var(--line-light)}.timeline-item{display:grid;grid-template-columns:180px minmax(0,1fr) minmax(260px,.5fr);gap:28px;padding:30px 0;border-bottom:1px solid var(--line-light);align-items:start}.timeline-item time{font-family:Genos,sans-serif;font-size:clamp(38px,4vw,68px);line-height:.8}.timeline-item h3{font-family:Genos,sans-serif;text-transform:uppercase;font-size:clamp(26px,3vw,46px);font-weight:500;line-height:.9;margin:0}.timeline-item p{margin:0;color:#555;font-size:14px}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-light);margin-top:70px}.team-card{background:var(--paper);padding:34px;min-height:250px}.team-card:nth-child(6){background:var(--ink);color:#fff}.team-card span{font-size:10px;color:var(--muted);letter-spacing:.14em}.team-card h3{font-family:Genos,sans-serif;font-size:clamp(25px,2.5vw,42px);text-transform:uppercase;line-height:.9;margin:50px 0 18px}.team-card p{font-size:13px;color:inherit;opacity:.7}
.archive-tabs{margin-top:70px}.archive-tablist{display:flex;overflow:auto;border-bottom:1px solid var(--line-light)}.archive-tab{border:0;background:none;color:inherit;padding:15px 20px 15px 0;margin-right:30px;cursor:pointer;font-size:10px;letter-spacing:.13em;text-transform:uppercase;white-space:nowrap;position:relative}.archive-tab[aria-selected="true"]::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:currentColor}.archive-panel{display:none;padding-top:38px}.archive-panel.active{display:grid;grid-template-columns:repeat(2,1fr);gap:0 50px}.archive-work{padding:18px 0;border-bottom:1px solid var(--line-light)}.archive-work strong{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.05em}.archive-work span{font-size:12px;color:#666}
.faq{max-width:1100px;margin:70px auto 0}.faq-item{border-top:1px solid var(--line-light)}.faq-item:last-child{border-bottom:1px solid var(--line-light)}.faq-question{width:100%;border:0;background:none;color:inherit;display:grid;grid-template-columns:1fr auto;gap:20px;text-align:left;padding:24px 0;cursor:pointer;font-family:Genos,sans-serif;font-size:clamp(23px,2.4vw,40px);line-height:1;text-transform:uppercase}.faq-question span:last-child{font-family:Manrope,sans-serif;font-size:20px;transition:transform .3s}.faq-question[aria-expanded="true"] span:last-child{transform:rotate(45deg)}.faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease)}.faq-answer>div{overflow:hidden}.faq-answer p{padding:0 0 26px;margin:0;max-width:820px;color:#555}.faq-item.open .faq-answer{grid-template-rows:1fr}

/* projects listing */
.project-filters{display:flex;flex-wrap:wrap;gap:8px;margin:50px 0 40px}.filter-btn{border:1px solid currentColor;background:transparent;padding:9px 12px;font-size:9px;text-transform:uppercase;letter-spacing:.12em;cursor:pointer;opacity:.55}.filter-btn.active{opacity:1;background:currentColor}.section--paper .filter-btn.active{color:#fff}.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(24px,4vw,70px)}.project-tile{position:relative}.project-tile__image{aspect-ratio:1.45/1;overflow:hidden;background:#222}.project-tile__image img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}.project-tile:hover img{transform:scale(1.04)}.project-tile__info{display:grid;grid-template-columns:1fr auto;gap:20px;padding:18px 0 30px;border-bottom:1px solid var(--line-light)}.project-tile h3{font-family:Genos,sans-serif;font-size:clamp(30px,3.5vw,58px);line-height:.84;text-transform:uppercase;font-weight:500;margin:0}.project-tile__tags{text-align:right;font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#666}

/* contact */
.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.48fr);gap:clamp(50px,8vw,140px);align-items:start}.contact-form{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.field{display:grid;gap:7px}.field--full{grid-column:1/-1}.field label{font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:#666}.field input,.field select,.field textarea{width:100%;border:0;border-bottom:1px solid var(--line-light);background:transparent;padding:13px 0;color:var(--ink);outline:0;border-radius:0}.field textarea{min-height:130px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:#111}.check-field{display:flex;align-items:flex-start;gap:10px;font-size:11px;color:#555}.form-status{grid-column:1/-1;min-height:24px;font-size:12px}.contact-card{position:sticky;top:calc(var(--header) + 35px);border-top:1px solid var(--line-light)}.contact-card__row{padding:17px 0;border-bottom:1px solid var(--line-light)}.contact-card__row small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:#777;margin-bottom:6px}.contact-card__row strong{font-size:16px;font-weight:500}.contact-actions{display:grid;gap:8px;margin-top:26px}

/* Project page */
.project-intro{background:var(--ink);padding:calc(var(--header) + 50px) var(--pad) 40px;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end}.project-intro__name{font-family:Genos,sans-serif;font-size:clamp(44px,8vw,130px);text-transform:uppercase;line-height:.72;letter-spacing:-.055em;font-weight:500;margin:0}.project-intro__index{font-family:Genos,sans-serif;font-size:clamp(50px,7vw,110px);color:rgba(255,255,255,.14);line-height:.7}.scroll-video-section{height:420vh;position:relative;background:#000}.scroll-video-sticky{position:sticky;top:0;height:100svh;overflow:hidden}.scroll-video-sticky video,.scroll-video-sticky .image-hero{width:100%;height:100%;object-fit:cover}.scroll-video-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.02) 52%,rgba(0,0,0,.78));pointer-events:none}.scroll-video-content{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:calc(var(--header) + 30px) var(--pad) clamp(56px,8vh,100px);z-index:2}.scroll-video-content h1{font-family:Genos,sans-serif;font-size:clamp(58px,10vw,166px);line-height:.7;letter-spacing:-.06em;text-transform:uppercase;font-weight:500;margin:0;max-width:1200px}.scroll-video-content p{font-size:clamp(15px,1.3vw,20px);max-width:720px;color:rgba(255,255,255,.75);margin:24px 0 0}.scroll-progress{position:absolute;left:var(--pad);right:var(--pad);bottom:18px;z-index:3;height:1px;background:rgba(255,255,255,.2)}.scroll-progress span{display:block;width:0;height:100%;background:#fff}.project-image-hero{height:100svh;position:relative}.project-image-hero img{width:100%;height:100%;object-fit:cover}.project-image-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.72))}.project-image-hero .scroll-video-content{z-index:2}
.project-details{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.45fr);gap:clamp(50px,8vw,140px);align-items:start}.project-details__copy p{font-size:clamp(17px,1.4vw,23px);max-width:820px}.project-data{border-top:1px solid var(--line-light)}.project-data__row{display:grid;grid-template-columns:110px 1fr;gap:18px;padding:15px 0;border-bottom:1px solid var(--line-light)}.project-data__row dt{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#777}.project-data__row dd{margin:0;font-size:13px}.highlight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-light);margin-top:70px}.highlight{background:var(--paper);padding:30px;min-height:210px}.highlight span{font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:#777}.highlight strong{display:block;font-family:Genos,sans-serif;font-size:clamp(27px,2.7vw,48px);line-height:.9;text-transform:uppercase;font-weight:500;margin-top:58px}.gallery-section{padding:clamp(90px,12vw,170px) 0;background:var(--ink);color:#fff}.gallery-head{display:flex;justify-content:space-between;gap:30px;align-items:end;padding:0 var(--pad);margin-bottom:44px}.gallery-counter{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.6)}.gallery-wrap{position:relative}.gallery-track{display:flex;gap:clamp(12px,2vw,28px);overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--pad) 25px;scrollbar-width:none;cursor:grab}.gallery-track::-webkit-scrollbar{display:none}.gallery-track.is-dragging{cursor:grabbing;scroll-snap-type:none}.gallery-item{flex:0 0 clamp(68vw,76vw,1180px);height:min(72vh,760px);scroll-snap-align:center;position:relative;overflow:hidden;background:#222;border:0;padding:0;cursor:zoom-in}.gallery-item:nth-child(3n+2){flex-basis:clamp(48vw,58vw,900px)}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}.gallery-item:hover img{transform:scale(1.025)}.gallery-caption{position:absolute;left:16px;bottom:14px;background:rgba(0,0,0,.58);padding:7px 9px;font-size:8px;text-transform:uppercase;letter-spacing:.12em}.gallery-controls{display:flex;justify-content:flex-end;gap:8px;padding:10px var(--pad) 0}.gallery-arrow{width:48px;height:48px;border:1px solid rgba(255,255,255,.4);background:transparent;color:#fff;cursor:pointer}.gallery-bar{height:1px;background:rgba(255,255,255,.2);margin:25px var(--pad) 0}.gallery-bar span{display:block;height:100%;width:0;background:#fff}.impact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.45fr);gap:clamp(50px,8vw,130px);align-items:start}.impact-list{border-top:1px solid var(--line-light)}.impact-list li{list-style:none;padding:15px 0;border-bottom:1px solid var(--line-light);font-size:13px}.next-project{display:grid;grid-template-columns:1fr auto;align-items:end;padding:clamp(70px,9vw,130px) var(--pad);background:var(--ink);color:#fff}.next-project small{font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:rgba(255,255,255,.55)}.next-project strong{display:block;font-family:Genos,sans-serif;font-size:clamp(44px,7vw,120px);text-transform:uppercase;line-height:.78;font-weight:500;margin-top:14px}.next-project span{font-size:44px}

/* lightbox */
.lightbox{position:fixed;inset:0;z-index:1200;background:rgba(0,0,0,.96);display:none;align-items:center;justify-content:center;padding:60px}.lightbox.open{display:flex}.lightbox img{max-width:100%;max-height:88vh;object-fit:contain}.lightbox-close{position:absolute;top:22px;right:25px;width:48px;height:48px;border:1px solid rgba(255,255,255,.4);background:transparent;color:#fff;cursor:pointer;font-size:24px}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:70px;border:1px solid rgba(255,255,255,.4);background:rgba(0,0,0,.2);color:#fff;cursor:pointer}.lightbox-prev{left:20px}.lightbox-next{right:20px}

/* chatbot */
.chat-launcher{position:fixed;right:22px;bottom:22px;z-index:980;display:flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.35);background:rgba(12,12,12,.9);color:#fff;padding:8px 8px 8px 15px;cursor:pointer;box-shadow:0 14px 40px rgba(0,0,0,.22)}.chat-launcher span{font-size:9px;text-transform:uppercase;letter-spacing:.12em}.chat-launcher i{width:38px;height:38px;background:#fff;color:#111;display:grid;place-items:center;font-style:normal}.chat-panel{position:fixed;right:22px;bottom:78px;z-index:990;width:min(390px,calc(100vw - 28px));height:min(610px,calc(100dvh - 110px));background:var(--paper);color:var(--ink);border:1px solid rgba(0,0,0,.18);box-shadow:0 26px 90px rgba(0,0,0,.35);display:none;grid-template-rows:auto 1fr auto}.chat-panel.open{display:grid}.chat-head{display:flex;align-items:center;justify-content:space-between;padding:15px;border-bottom:1px solid var(--line-light)}.chat-head strong{font-family:Genos,sans-serif;font-size:24px;text-transform:uppercase;font-weight:500}.chat-close{width:38px;height:38px;border:0;background:#111;color:#fff;cursor:pointer}.chat-messages{padding:16px;overflow:auto;display:flex;flex-direction:column;gap:12px}.chat-message{max-width:86%;padding:11px 12px;font-size:12px;line-height:1.45;background:#fff;border:1px solid rgba(0,0,0,.08)}.chat-message.user{align-self:flex-end;background:#111;color:#fff}.chat-actions{display:flex;flex-wrap:wrap;gap:6px}.chat-chip{border:1px solid var(--line-light);background:transparent;color:var(--ink);padding:8px 9px;font-size:9px;text-transform:uppercase;letter-spacing:.08em;cursor:pointer}.chat-chip:hover{background:#111;color:#fff}.chat-input{display:grid;grid-template-columns:1fr auto;border-top:1px solid var(--line-light);padding:10px}.chat-input input{border:0;background:#fff;padding:12px;outline:0}.chat-input button{border:0;background:#111;color:#fff;width:48px;cursor:pointer}

/* Footer */
.site-footer{background:var(--paper);color:var(--ink);padding:clamp(70px,9vw,130px) var(--pad) 28px}.footer-grid{display:grid;grid-template-columns:minmax(0,1.2fr) repeat(3,minmax(150px,.35fr));gap:clamp(32px,5vw,90px)}.footer-brand{width:clamp(160px,18vw,270px)}.footer-column h3{font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:#777;margin:0 0 16px}.footer-column a,.footer-column p{display:block;font-size:12px;margin:0 0 9px}.footer-phrase{font-family:Genos,sans-serif;font-size:clamp(32px,4vw,66px);line-height:.83;text-transform:uppercase;margin-top:50px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:25px;margin-top:55px;border-top:1px solid var(--line-light);font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#777}

/* reveal */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .85s var(--ease),transform .85s var(--ease)}.reveal.visible{opacity:1;transform:none}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}

@media(max-width:980px){
  :root{--header:72px}.desktop-nav,.header-download span{display:none}.site-header{grid-template-columns:1fr auto}.brand{justify-self:start}.menu-toggle{display:grid}.header-tools{gap:4px}.header-download{width:44px;height:44px;padding:0}.header-download::after{content:"↓";font-size:18px}.hero__grid,.manifesto,.capacity-grid,.contact-layout,.project-details,.impact-grid{grid-template-columns:1fr}.hero__aside{max-width:520px}.stats{grid-template-columns:1fr}.stat{border-right:0;border-bottom:1px solid var(--line-dark);padding-left:0}.stat:last-child{border-bottom:0}.services-grid,.method-grid,.team-grid{grid-template-columns:repeat(2,1fr)}.timeline-item{grid-template-columns:140px 1fr}.timeline-item p{grid-column:2}.projects-horizontal__sticky{position:sticky;height:100svh;overflow:hidden}.projects-track{overflow:visible;scroll-snap-type:none;scrollbar-width:auto}.project-card{flex-basis:88vw;height:100%;scroll-snap-align:none}.project-card__content{grid-template-columns:1fr}.project-card__meta{display:none}.project-progress{display:none}.projects-grid{grid-template-columns:1fr}.project-intro{grid-template-columns:1fr}.project-intro__index{display:none}.highlight-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}.footer-grid>div:first-child{grid-column:1/-1}.archive-panel.active{grid-template-columns:1fr}.scroll-video-section{height:330vh}.gallery-item{flex-basis:84vw;height:62vh}
}
@media(max-width:640px){
  :root{--pad:20px}.hero__content{padding-bottom:72px}.hero__title{font-size:clamp(58px,18vw,92px)}.hero__aside{border-left:0;border-top:1px solid rgba(255,255,255,.35);padding:18px 0 0}.display{font-size:clamp(50px,16vw,78px)}.services-grid,.method-grid,.team-grid,.highlight-grid{grid-template-columns:1fr}.service-card,.method-card{min-height:240px}.timeline-item{grid-template-columns:1fr}.timeline-item p{grid-column:1}.archive-tablist{margin-right:-20px}.contact-form{grid-template-columns:1fr}.field--full{grid-column:auto}.project-card{flex-basis:92vw;height:78svh;padding-left:20px;padding-right:20px}.project-card h3{font-size:clamp(50px,16vw,82px)}.capacity-number{font-size:clamp(40px,12vw,68px);white-space:normal}.gallery-head{align-items:start;flex-direction:column}.gallery-item,.gallery-item:nth-child(3n+2){flex-basis:88vw;height:56vh}.lightbox{padding:70px 12px 20px}.lightbox-nav{width:42px;height:55px}.lightbox-prev{left:7px}.lightbox-next{right:7px}.chat-launcher{right:12px;bottom:12px;padding:6px}.chat-launcher span{display:none}.chat-panel{right:7px;bottom:66px;height:calc(100dvh - 80px)}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.scroll-video-content h1{font-size:clamp(48px,16vw,80px)}.scroll-video-section{height:290vh}.project-image-hero{height:88svh}.next-project{grid-template-columns:1fr auto}.next-project strong{font-size:clamp(42px,13vw,70px)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.scroll-video-section{height:auto}.scroll-video-sticky{position:relative;height:86svh}.projects-horizontal__sticky{position:relative;height:auto}.projects-track{transform:none!important;overflow-x:auto}.project-card{flex-basis:88vw}}
@media(max-width:640px){
  .hero__title{font-size:clamp(48px,13.8vw,70px);line-height:.74;max-width:100%}
  .hero__aside .btn-row{display:grid;grid-template-columns:1fr;width:100%}
  .hero__aside .btn{width:100%;min-width:0}
  .header-download::after{content:"PDF";font-size:8px;letter-spacing:.08em}
  .hero__aside p{max-width:100%;overflow-wrap:anywhere}
}


/* =========================================================
   HBA-inspired editorial upgrade — EPRECO V2
   ========================================================= */

/* Wow loading experience */
body.loader-active{overflow:hidden}
.epreco-loader{position:fixed;inset:0;z-index:5000;background:#050505;color:#fff;overflow:hidden;display:block;transition:visibility 0s linear 1.25s}
.loader-slices{position:absolute;inset:0;display:grid;grid-template-columns:repeat(9,1fr);gap:1px;background:#050505}
.loader-slice{position:relative;margin:0;overflow:hidden;background-image:var(--loader-image);background-size:cover;background-position:center;clip-path:inset(100% 0 0);animation:loaderReveal .95s var(--ease) forwards;animation-delay:calc(var(--i)*.07s)}
.loader-slice::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.68))}
.loader-slice span{position:absolute;z-index:2;left:50%;bottom:26px;writing-mode:vertical-rl;transform:translateX(-50%) rotate(180deg);font-size:7px;letter-spacing:.17em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.loader-shade{position:absolute;inset:0;background:radial-gradient(circle at 50% 48%,rgba(0,0,0,.08),rgba(0,0,0,.68) 72%)}
.loader-ui{position:absolute;inset:0;z-index:3;padding:clamp(22px,3.5vw,64px);display:grid;grid-template-rows:auto 1fr auto}
.loader-logo{width:clamp(150px,16vw,260px);opacity:0;animation:loaderFade .65s .55s forwards}
.loader-center{align-self:center;text-align:center;opacity:0;transform:translateY(24px);animation:loaderCenter .8s .75s var(--ease) forwards}
.loader-center p,.loader-center small{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.62)}
.loader-center strong{display:block;font-family:Genos,sans-serif;font-size:clamp(66px,10.5vw,184px);font-weight:500;line-height:.66;letter-spacing:-.065em;text-transform:uppercase;margin:22px 0}
.loader-center strong span{color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.75)}
.loader-center small{display:block;min-height:16px;transition:opacity .25s}
.loader-bottom{display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;font-size:8px;letter-spacing:.15em;text-transform:uppercase}
.loader-line{height:1px;background:rgba(255,255,255,.22);overflow:hidden}.loader-line i{display:block;height:100%;width:0;background:#fff;transition:width .08s linear}.loader-bottom b{font-family:Genos,sans-serif;font-size:24px;font-weight:500}
.epreco-loader.is-exiting .loader-slice:nth-child(odd){transform:translateY(-110%)}.epreco-loader.is-exiting .loader-slice:nth-child(even){transform:translateY(110%)}.epreco-loader.is-exiting .loader-slice{transition:transform 1.05s var(--ease);transition-delay:calc(var(--i)*.025s)}
.epreco-loader.is-exiting .loader-ui,.epreco-loader.is-exiting .loader-shade{opacity:0;transition:opacity .45s ease}.epreco-loader.is-exiting{visibility:hidden}
@keyframes loaderReveal{to{clip-path:inset(0)}}@keyframes loaderFade{to{opacity:1}}@keyframes loaderCenter{to{opacity:1;transform:none}}

/* Cinematic multi-project hero */
.hero--montage{min-height:100svh;isolation:isolate}.hero-montage{position:absolute;inset:0;display:grid;grid-template-columns:62% 19% 19%;grid-template-rows:56% 44%;gap:2px;background:#050505}
.hero-panel{position:relative;margin:0;overflow:hidden;background:#111}.hero-panel--main{grid-row:1/3}.hero-panel--top{grid-column:2/4}.hero-panel__layer{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.055);transition:opacity 1.35s ease,transform 3.4s var(--ease)}.hero-panel__layer.is-active{opacity:1;transform:scale(1)}
.hero-panel figcaption{position:absolute;z-index:4;left:18px;bottom:18px;display:flex;align-items:center;gap:9px;font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.72);opacity:.75}.hero-panel figcaption span{font-family:Genos,sans-serif;font-size:18px;color:#fff}.hero-panel::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.5))}
.hero-montage__veil{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.38),rgba(0,0,0,.08) 38%,rgba(0,0,0,.82)),linear-gradient(90deg,rgba(0,0,0,.25),transparent 55%)}
.hero--montage .hero__content{z-index:5}.hero-project-live{position:absolute;z-index:6;right:var(--pad);top:calc(var(--header) + 24px);display:flex;gap:11px;align-items:center;font-size:8px;letter-spacing:.15em;text-transform:uppercase}.hero-project-live span{color:rgba(255,255,255,.5)}.hero-project-live strong{font-weight:500;transition:opacity .3s}
.hero-ticker{position:absolute;z-index:5;left:0;right:0;bottom:0;height:34px;border-top:1px solid rgba(255,255,255,.18);overflow:hidden;background:rgba(0,0,0,.2);backdrop-filter:blur(8px)}.hero-ticker div{white-space:nowrap;font-size:8px;letter-spacing:.19em;text-transform:uppercase;line-height:34px;animation:heroTicker 30s linear infinite}@keyframes heroTicker{to{transform:translateX(-50%)}}
.hero--montage .scroll-indicator{bottom:48px}

/* Single full-width video hero */
.hero--video{min-height:100svh;isolation:isolate}.hero-video__stage{position:absolute;inset:0;background:#050505}.hero-video__player{width:100%;height:100%;object-fit:cover}.hero--video .hero__content{z-index:5}.hero--video .hero__media::after{background:linear-gradient(180deg,rgba(0,0,0,.34),rgba(0,0,0,.08) 42%,rgba(0,0,0,.86)),linear-gradient(90deg,rgba(0,0,0,.22),transparent 55%)}.hero--video .hero-project-live{top:calc(var(--header) + 24px);right:var(--pad)}
.hero-video__meta{position:absolute;z-index:6;left:var(--pad);right:var(--pad);bottom:46px;display:flex;justify-content:space-between;align-items:center;gap:18px;font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.72)}.hero-video__progress{display:block;flex:0 0 min(32vw,340px);height:1px;background:rgba(255,255,255,.22);overflow:hidden}.hero-video__progress b{display:block;width:0;height:100%;background:#fff;transition:width .12s linear}.hero--video .hero-ticker{bottom:0}.hero--video .scroll-indicator{bottom:58px}

/* Services — immersive horizontal navigation */
.services-story,.services-page-story{position:relative;background:var(--paper);color:var(--ink)}
.services-story{height:560vh}.services-page-story{height:560vh}
.services-story__sticky,.services-page-story__sticky{position:sticky;top:0;height:100svh;overflow:hidden;display:grid;grid-template-rows:auto 1fr;background:var(--paper)}
.services-story__header,.services-page-story__head{position:relative;z-index:5;padding:clamp(26px,4vw,56px) var(--pad) 22px;display:flex;justify-content:space-between;gap:35px;align-items:end;border-bottom:1px solid var(--line-light);background:rgba(241,240,235,.93);backdrop-filter:blur(14px)}
.services-story__header .display,.services-page-story__head .display{max-width:850px}
.services-story__nav{display:grid;grid-template-columns:auto minmax(100px,220px) auto;gap:12px;align-items:center;font-size:9px;letter-spacing:.13em}.services-story__nav i{display:block;height:1px;background:var(--line-light)}.services-story__nav b{display:block;width:0;height:100%;background:var(--ink)}
.services-story__viewport{overflow:hidden;min-height:0}.services-story__track{height:100%;display:flex;will-change:transform}
.service-slide{flex:0 0 86vw;height:100%;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(370px,.72fr);background:var(--paper);color:var(--ink);border-right:1px solid var(--line-light)}.service-slide--dark{background:var(--ink);color:#fff}.service-slide figure{margin:0;position:relative;overflow:hidden}.service-slide figure::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 55%,rgba(0,0,0,.23))}.service-slide figure img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}.service-slide:hover figure img{transform:scale(1.025)}
.service-slide__copy{padding:clamp(38px,5vw,86px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-width:0}.service-slide__copy>span{font-family:Genos,sans-serif;font-size:clamp(72px,9vw,150px);line-height:.65;color:rgba(11,11,11,.16);margin-bottom:30px}.service-slide--dark .service-slide__copy>span{color:rgba(255,255,255,.17)}.service-slide__copy h3{font-family:Genos,sans-serif;font-size:clamp(50px,5.7vw,98px);font-weight:500;line-height:.72;letter-spacing:-.05em;text-transform:uppercase;margin:0 0 28px}.service-slide__copy>p:not(.eyebrow){font-size:clamp(15px,1.15vw,19px);max-width:610px;color:#5d5d58}.service-slide--dark .service-slide__copy>p:not(.eyebrow){color:rgba(255,255,255,.7)}.service-slide__links{display:flex;flex-wrap:wrap;gap:7px;margin:22px 0 12px}.service-slide__links a{padding:7px 9px;border:1px solid currentColor;font-size:8px;letter-spacing:.1em;text-transform:uppercase;opacity:.72}.service-slide__copy .btn{margin-top:20px}

/* Project covers become editorial full-screen covers */
.projects-horizontal{background:#060606}.project-card.project-cover{padding:0;position:relative;overflow:hidden}.project-cover__link{display:block;position:relative;width:100%;height:100%;overflow:hidden}.project-cover__media{position:absolute;inset:0;margin:0}.project-cover__media img{width:100%;height:100%;object-fit:cover;transition:transform 1.5s var(--ease)}.project-cover__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.16),rgba(0,0,0,.04) 42%,rgba(0,0,0,.9))}.project-cover__link:hover .project-cover__media img{transform:scale(1.028)}
.project-cover__top{position:absolute;z-index:3;top:28px;left:30px;right:30px;display:flex;justify-content:space-between;align-items:center;font-size:8px;text-transform:uppercase;letter-spacing:.15em}.project-cover__top span:first-child{font-family:Genos,sans-serif;font-size:30px}.project-cover__top span:last-child{border:1px solid rgba(255,255,255,.55);padding:7px 9px}
.project-cover__content{position:absolute;z-index:3;left:clamp(25px,4vw,70px);right:clamp(25px,4vw,70px);bottom:clamp(28px,5vw,70px);display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.42fr) auto;gap:clamp(30px,5vw,80px);align-items:end}.project-cover__content h3{font-family:Genos,sans-serif;font-size:clamp(66px,8vw,142px);font-weight:500;line-height:.67;letter-spacing:-.06em;text-transform:uppercase;margin:0;max-width:900px}.project-cover__content dl{margin:0;border-top:1px solid rgba(255,255,255,.38)}.project-cover__content dl>div{display:grid;grid-template-columns:80px 1fr;gap:15px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.25);font-size:9px}.project-cover__content dt{text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.55)}.project-cover__content dd{margin:0}.project-cover__cta{width:100px;height:100px;border:1px solid rgba(255,255,255,.55);border-radius:50%;display:grid;place-items:center;text-align:center;font-size:8px;text-transform:uppercase;letter-spacing:.1em;transition:.35s}.project-cover__link:hover .project-cover__cta{background:#fff;color:#111;border-color:#fff;transform:rotate(-8deg)}

/* Home architectural carousel */
.home-gallery{border-top:1px solid var(--line-dark)}.home-gallery .gallery-item{height:min(78vh,820px)}.home-gallery .gallery-caption{font-size:9px;padding:9px 12px}.home-gallery .gallery-item:nth-child(3n+2){flex-basis:clamp(45vw,56vw,880px)}

@media(max-width:980px){
  .loader-slices{grid-template-columns:repeat(5,1fr)}.loader-slice:nth-child(n+6){display:none}.loader-center strong{font-size:clamp(60px,15vw,112px)}
  .hero-montage{grid-template-columns:65% 35%;grid-template-rows:58% 42%}.hero-panel--main{grid-row:1/3}.hero-panel--top{grid-column:2;grid-row:1}.hero-panel--bottom-a{grid-column:2;grid-row:2}.hero-panel--bottom-b{display:none}.hero-project-live{display:none}
  .services-story,.services-page-story{height:auto}.services-story__sticky,.services-page-story__sticky{position:relative;height:auto;overflow:visible;display:block}.services-story__header,.services-page-story__head{position:sticky;top:0;z-index:8;align-items:center}.services-story__header .display,.services-page-story__head .display{font-size:clamp(38px,7vw,68px)}.services-story__viewport{overflow:visible}.services-story__track{height:auto;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.services-story__track::-webkit-scrollbar{display:none}.service-slide{flex-basis:90vw;height:82svh;scroll-snap-align:start;grid-template-columns:1fr;grid-template-rows:48% 52%}.service-slide__copy{padding:28px}.service-slide__copy>span{position:absolute;right:20px;top:calc(48% + 18px);font-size:70px}.service-slide__copy h3{font-size:clamp(42px,7vw,72px)}
  .project-cover__content{grid-template-columns:1fr}.project-cover__content dl,.project-cover__cta{display:none}.project-cover__content h3{font-size:clamp(58px,10vw,98px)}
}
@media(max-width:640px){
  .epreco-loader{min-height:100dvh}.loader-slices{grid-template-columns:repeat(3,1fr)}.loader-slice:nth-child(n+4){display:none}.loader-ui{padding:20px}.loader-center strong{font-size:clamp(55px,17vw,82px)}.loader-center p{font-size:7px}.loader-bottom{grid-template-columns:1fr auto}.loader-bottom>span{display:none}
  .hero-montage{display:block}.hero-panel{position:absolute;inset:0}.hero-panel--main{display:block}.hero-panel--top,.hero-panel--bottom-a,.hero-panel--bottom-b{display:none}.hero-panel figcaption{left:20px;bottom:48px}.hero--montage .hero__content{padding-top:calc(var(--header) + 110px)}.hero-ticker{height:30px}.hero-ticker div{line-height:30px}.hero--montage .scroll-indicator{display:none}
.hero--video .hero__content{padding-top:calc(var(--header) + 110px)}.hero--video .hero-project-live{left:20px;right:20px;top:calc(var(--header) + 22px)}.hero-video__meta{left:20px;right:20px;bottom:40px;display:block}.hero-video__progress{width:100%;margin-top:10px}.hero--video .scroll-indicator{display:none}
  .services-story__header,.services-page-story__head{padding:20px;display:block}.services-story__nav{margin-top:18px}.service-slide{flex-basis:92vw;height:80svh;grid-template-rows:42% 58%}.service-slide__copy{padding:22px 20px}.service-slide__copy>span{top:calc(42% + 14px);font-size:58px}.service-slide__copy h3{font-size:clamp(40px,12vw,62px);max-width:85%}.service-slide__copy>p:not(.eyebrow){font-size:13px;line-height:1.5}.service-slide__links{display:none}.service-slide__copy .btn{margin-top:10px}
  .project-cover__top{top:20px;left:20px;right:20px}.project-cover__content{left:20px;right:20px;bottom:28px}.project-cover__content h3{font-size:clamp(50px,14vw,76px)}.project-cover__content .eyebrow{margin-bottom:18px}.home-gallery .gallery-item,.home-gallery .gallery-item:nth-child(3n+2){height:62vh;flex-basis:88vw}
}
@media(prefers-reduced-motion:reduce){.loader-slice,.loader-logo,.loader-center{animation:none;clip-path:none;opacity:1;transform:none}.hero-panel__layer{transition:none}.hero-ticker div{animation:none}.services-story,.services-page-story{height:auto}.services-story__sticky,.services-page-story__sticky{position:relative;height:auto}.services-story__track{transform:none!important;overflow-x:auto}.service-slide{flex-basis:90vw}}

/* =========================================================
   EPRECO V4 — Echelon-inspired left rail + white loader
   ========================================================= */
:root{--rail:96px}
@media(min-width:981px){:root{--pad:clamp(124px,8.5vw,172px)}}

/* White editorial loader */
.epreco-loader--white{position:fixed;inset:0;z-index:5000;color:var(--ink);background:transparent;overflow:hidden;visibility:visible}
.epreco-loader--white::before,.epreco-loader--white::after{content:"";position:absolute;left:0;right:0;height:50%;z-index:0;background:#f4f3ef;transition:transform 1.05s var(--ease)}
.epreco-loader--white::before{top:0}.epreco-loader--white::after{bottom:0}
.loader-white__frame{position:absolute;inset:0;z-index:2;padding:clamp(22px,3.4vw,58px);display:grid;grid-template-rows:auto 1fr auto;transition:opacity .35s ease,transform .65s var(--ease)}
.loader-white__top,.loader-white__bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:8px;letter-spacing:.16em;text-transform:uppercase;color:#686862}
.loader-white__logo{width:clamp(138px,14vw,220px)}
.loader-white__center{align-self:center;width:min(780px,82vw);margin:0 auto;text-align:center}
.loader-white__center>p{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:#73736d;margin:0 0 12px}
.loader-white__center>strong{display:block;font-family:Genos,sans-serif;font-size:clamp(90px,15vw,236px);font-weight:500;line-height:.7;letter-spacing:-.07em;color:var(--ink)}
.loader-white__media{width:min(520px,72vw);height:clamp(70px,9vw,120px);margin:clamp(22px,3vw,40px) auto 24px;overflow:hidden;background:#ddd;clip-path:inset(0 50%);animation:loaderWindow 1s .45s var(--ease) forwards}
.loader-white__media img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);animation:loaderImage 3.6s .4s var(--ease) forwards}
.loader-white__status{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:12px;text-align:left}
.loader-white__status small{font-size:9px;letter-spacing:.16em;text-transform:uppercase;transition:opacity .22s;color:#55554f}.loader-white__status b{font-family:Genos,sans-serif;font-size:32px;font-weight:500;line-height:1}
.loader-white__line{height:1px;background:rgba(11,11,11,.2);overflow:hidden}.loader-white__line i{display:block;width:0;height:100%;background:var(--ink);transition:width .08s linear}
.epreco-loader--white.is-exiting::before{transform:translateY(-105%)}.epreco-loader--white.is-exiting::after{transform:translateY(105%)}
.epreco-loader--white.is-exiting .loader-white__frame{opacity:0;transform:scale(.985)}.epreco-loader--white.is-exiting{visibility:hidden;transition:visibility 0s linear 1.15s}
@keyframes loaderWindow{to{clip-path:inset(0)}}@keyframes loaderImage{to{transform:scale(1)}}

/* Left-side navigation rail */
.site-rail{position:fixed;z-index:950;left:0;top:0;width:var(--rail);height:100dvh;background:rgba(8,8,8,.9);border-right:1px solid rgba(255,255,255,.14);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);display:grid;grid-template-rows:auto 1fr auto auto;align-items:center;justify-items:center;color:#fff}
.rail-brand{width:66px;height:var(--rail);display:grid;place-items:center;border-bottom:1px solid rgba(255,255,255,.14)}.rail-brand img{width:64px;height:auto}
.rail-menu{display:grid!important;place-items:center;align-content:center;gap:10px;width:100%;height:100%;border:0;background:transparent;cursor:pointer;color:#fff}
.site-rail .menu-toggle::before,.site-rail .menu-toggle::after,.site-rail .menu-toggle>span{content:"";display:block;width:24px;height:1px;background:#fff;transition:.35s var(--ease)}
.site-rail .menu-toggle>span{margin:5px 0}.site-rail .menu-toggle small{font-size:7px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;margin-top:6px}
.site-rail .menu-toggle.is-open::before{transform:translateY(6px) rotate(45deg)}.site-rail .menu-toggle.is-open>span{opacity:0}.site-rail .menu-toggle.is-open::after{transform:translateY(-6px) rotate(-45deg)}
.rail-section{height:180px;display:flex;align-items:center;gap:12px;writing-mode:vertical-rl;transform:rotate(180deg);font-size:7px;letter-spacing:.17em;text-transform:uppercase;color:rgba(255,255,255,.56)}.rail-section b{font-family:Genos,sans-serif;font-size:20px;font-weight:500;color:#fff;letter-spacing:0}
.rail-contact{width:100%;min-height:118px;border-top:1px solid rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;gap:10px;writing-mode:vertical-rl;transform:rotate(180deg);font-size:7px;letter-spacing:.15em;text-transform:uppercase;transition:background .3s,color .3s}.rail-contact b{font-size:15px;transform:rotate(90deg)}.rail-contact:hover{background:#fff;color:#111}

/* Fullscreen editorial menu */
.menu-overlay{position:fixed;inset:0;z-index:900;background:var(--paper);color:var(--ink);padding:0;transform:translateX(-102%);transition:transform .9s var(--ease);overflow:auto}
.menu-overlay.is-open{transform:translateX(0)}
.menu-overlay__inner{min-height:100dvh;padding:clamp(42px,6vw,92px) clamp(30px,7vw,130px) clamp(32px,5vw,70px) calc(var(--rail) + clamp(30px,5vw,90px));display:grid;grid-template-columns:minmax(360px,.72fr) minmax(420px,1.1fr);grid-template-rows:1fr auto;gap:clamp(34px,6vw,100px)}
.menu-overlay__primary nav{display:grid;border-top:1px solid var(--line-light)}.menu-overlay__primary nav a{display:grid;grid-template-columns:50px 1fr;align-items:center;padding:14px 0;border-bottom:1px solid var(--line-light);transition:padding-left .35s var(--ease)}.menu-overlay__primary nav a:hover{padding-left:12px}.menu-overlay__primary nav a span{font-family:Genos,sans-serif;font-size:18px;color:#888}.menu-overlay__primary nav a b{font-family:Genos,sans-serif;font-size:clamp(46px,5.8vw,96px);font-weight:500;line-height:.78;text-transform:uppercase;letter-spacing:-.045em}
.menu-overlay__showcase{display:grid;grid-template-columns:minmax(180px,.48fr) minmax(280px,1fr);grid-template-rows:auto 1fr;gap:0 28px;min-height:0}.menu-overlay__showcase>.eyebrow{grid-column:1/-1}.menu-project-links{display:grid;align-content:start;border-top:1px solid var(--line-light)}.menu-project-links a{display:grid;grid-template-columns:32px 1fr;gap:8px;padding:9px 0;border-bottom:1px solid var(--line-light);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#555;transition:color .25s,padding-left .25s}.menu-project-links a:hover{color:#111;padding-left:6px}.menu-project-links a span{font-family:Genos,sans-serif;color:#999}.menu-project-links a b{font-weight:500}
.menu-preview{position:relative;margin:0;min-height:430px;overflow:hidden;background:#ddd}.menu-preview img{width:100%;height:100%;object-fit:cover;transition:opacity .3s ease,transform .8s var(--ease)}.menu-preview.is-changing img{opacity:.2;transform:scale(1.025)}.menu-preview::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.72))}.menu-preview figcaption{position:absolute;z-index:2;left:22px;right:22px;bottom:20px;display:flex;align-items:end;justify-content:space-between;color:#fff;text-transform:uppercase}.menu-preview figcaption span{font-family:Genos,sans-serif;font-size:26px}.menu-preview figcaption b{font-family:Genos,sans-serif;font-size:clamp(28px,3vw,54px);font-weight:500;line-height:.8;text-align:right}
.menu-overlay .mobile-menu__bottom{grid-column:1/-1;margin:0;padding-top:22px;border-top:1px solid var(--line-light);display:flex;flex-wrap:wrap;gap:15px 34px;align-items:center;font-size:9px;text-transform:uppercase;letter-spacing:.1em}.menu-overlay .mobile-menu__bottom strong{margin-right:auto}

/* Keep the hero and all page content full-width behind the rail */
@media(min-width:981px){.chat-launcher{right:22px}.hero-project-live{right:var(--pad)!important}.site-footer{padding-left:var(--pad)}}

@media(max-width:980px){
  :root{--rail:0px;--pad:clamp(20px,4vw,48px)}
  .site-rail{left:0;right:0;top:0;width:100%;height:72px;grid-template-columns:1fr auto;grid-template-rows:1fr;padding:0 var(--pad);justify-items:stretch;background:rgba(8,8,8,.86);border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}
  .rail-brand{width:138px;height:72px;border:0;justify-self:start}.rail-brand img{width:138px}
  .rail-menu{width:54px;height:54px;justify-self:end}.site-rail .menu-toggle small,.rail-section,.rail-contact{display:none}
  .menu-overlay__inner{padding:calc(72px + 34px) var(--pad) 36px;grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:38px}
  .menu-overlay__showcase{grid-template-columns:1fr;grid-template-rows:auto auto}.menu-preview{display:none}.menu-project-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.menu-overlay .mobile-menu__bottom{display:grid;gap:8px}
}
@media(max-width:640px){
  .loader-white__top span{display:none}.loader-white__center{width:100%}.loader-white__center>strong{font-size:clamp(76px,25vw,118px)}.loader-white__media{width:100%;height:78px}.loader-white__bottom{font-size:6px}.loader-white__status b{font-size:26px}
  .menu-overlay__primary nav a{grid-template-columns:34px 1fr}.menu-overlay__primary nav a b{font-size:clamp(43px,13vw,66px)}.menu-project-links{grid-template-columns:1fr}.menu-project-links a{padding:10px 0}
}
@media(prefers-reduced-motion:reduce){.loader-white__media{clip-path:none;animation:none}.loader-white__media img{animation:none;transform:none}.menu-overlay,.menu-preview img{transition-duration:.01ms!important}}


/* =========================================================
   HOME HERO — 4K AUTOPLAY LOOP VIDEO
   ========================================================= */
.home-scroll-video{
  position:relative;
  height:100svh;
  min-height:620px;
  overflow:hidden;
  background:#000;
}
.home-scroll-video__stage{
  position:relative;
  width:100%;
  height:100%;
  overflow:hidden;
  background:#000;
}
.home-scroll-video video{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  background:#000;
  transform:translateZ(0);
}
.home-scroll-video__shade{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(0,0,0,.42) 0%,rgba(0,0,0,.18) 24%,rgba(0,0,0,0) 55%),
    linear-gradient(180deg,rgba(0,0,0,.10) 0%,rgba(0,0,0,0) 62%,rgba(0,0,0,.18) 100%);
}
.home-scroll-video__title{
  position:absolute;
  z-index:2;
  left:calc(var(--rail) + clamp(28px,4.6vw,82px));
  top:50%;
  transform:translateY(-50%);
  width:min(440px,34vw);
  pointer-events:none;
}
.home-scroll-video__title h1{
  margin:0;
  max-width:430px;
  color:#fff;
  font-family:Manrope,Arial,sans-serif;
  font-size:clamp(30px,3.15vw,58px);
  font-weight:500;
  line-height:1.02;
  letter-spacing:-.045em;
  text-transform:none;
  text-wrap:balance;
  text-shadow:0 2px 20px rgba(0,0,0,.38);
}
.home-scroll-video.is-video-error video{opacity:0}
.home-scroll-video.is-video-error .home-scroll-video__stage{
  background:#090909 url('../images/hero-inicio-epreco.jpg') center/cover no-repeat;
}
@media(max-width:980px){
  .home-scroll-video{height:100svh;min-height:560px}
  .home-scroll-video__title{
    left:var(--pad);
    top:auto;
    bottom:clamp(74px,12vh,118px);
    transform:none;
    width:min(470px,72vw);
  }
  .home-scroll-video__title h1{font-size:clamp(28px,6vw,48px)}
}
@media(max-width:640px){
  .home-scroll-video{height:100dvh;min-height:520px}
  .home-scroll-video video{object-position:center center}
  .home-scroll-video__shade{
    background:
      linear-gradient(90deg,rgba(0,0,0,.34),rgba(0,0,0,.04) 72%),
      linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,0) 48%,rgba(0,0,0,.36));
  }
  .home-scroll-video__title{
    left:20px;
    bottom:82px;
    width:min(340px,84vw);
  }
  .home-scroll-video__title h1{
    max-width:330px;
    font-size:clamp(27px,8.2vw,42px);
    line-height:1.04;
  }
}


/* V7 — Home cleanup, aligned FAQ and compact service carousel */
.faq-section{padding-top:clamp(90px,9vw,140px);padding-bottom:clamp(100px,10vw,150px)}
.faq-container{width:min(100%,1280px);margin:0 auto}
.faq-section .eyebrow,.faq-section .display{max-width:980px}
.faq-section .display{line-height:.82;margin-bottom:0}
.faq{max-width:none;width:100%;margin:clamp(48px,6vw,76px) 0 0;display:grid;gap:14px}
.faq-item{border:1px solid var(--line-light)!important;background:#f7f6f2;padding:0 clamp(20px,2.5vw,34px)}
.faq-question{align-items:center;padding:clamp(22px,2.4vw,30px) 0;font-size:clamp(20px,1.8vw,30px);line-height:1.18}
.faq-answer p{padding:0 0 clamp(24px,2.8vw,34px);max-width:900px;line-height:1.7}

.services-compact-section{background:#efeee9;color:#0b0b0b;padding:clamp(90px,9vw,140px) 0;overflow:hidden}
.services-compact-inner{padding-left:var(--pad);padding-right:var(--pad);margin:0 auto;max-width:1680px}
.services-compact-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:clamp(36px,4vw,58px)}
.services-compact-title{font-family:Genos,sans-serif;font-size:clamp(38px,4.4vw,72px);font-weight:500;line-height:.88;letter-spacing:-.045em;text-transform:uppercase;margin:0;max-width:900px}
.services-compact-nav{display:flex;gap:10px}
.services-compact-nav button{width:48px;height:48px;border:1px solid rgba(11,11,11,.28);background:#fff;color:#0b0b0b;cursor:pointer;font-size:20px;transition:.25s}
.services-compact-nav button:hover{background:#0b0b0b;color:#fff}
.services-compact-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:8px;cursor:grab;overscroll-behavior-inline:contain}
.services-compact-track::-webkit-scrollbar{display:none}
.services-compact-track.is-dragging{cursor:grabbing;user-select:none}
.service-mini{flex:0 0 clamp(310px,27vw,430px);min-height:400px;scroll-snap-align:start;padding:clamp(28px,3vw,42px);display:flex;flex-direction:column;border:1px solid rgba(11,11,11,.11)}
.service-mini--white{background:#fff}.service-mini--gray{background:#deddd8}
.service-mini-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:54px}
.service-mini-number{font-size:10px;letter-spacing:.14em;color:#777}
.service-mini-icon{width:48px;height:48px;display:grid;place-items:center}
.service-mini-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.service-mini h3{font-family:Genos,sans-serif;font-size:clamp(32px,2.7vw,48px);font-weight:500;line-height:.92;letter-spacing:-.035em;text-transform:uppercase;margin:0 0 24px;max-width:340px}
.service-mini p{font-size:14px;line-height:1.65;color:#565651;margin:0 0 30px;max-width:340px}
.service-mini-link{margin-top:auto;font-size:9px;letter-spacing:.13em;text-transform:uppercase;border-top:1px solid rgba(11,11,11,.18);padding-top:18px;display:flex;justify-content:space-between;align-items:center}
.services-compact-progress{height:1px;background:rgba(11,11,11,.16);margin-top:30px;overflow:hidden}
.services-compact-progress span{display:block;width:0;height:100%;background:#0b0b0b;transition:width .15s linear}
@media(max-width:760px){
  .services-compact-head{align-items:flex-start}.services-compact-nav{display:none}
  .service-mini{flex-basis:84vw;min-height:360px}
  .faq-item{padding:0 20px}.faq-question{font-size:20px}
}

/* ===== EPRECO V4 refinement: cleaner home, brighter project covers ===== */
.portfolio-intro-light{
  background:#fff!important;
  color:#0b0b0b!important;
  padding-top:clamp(88px,9vw,140px)!important;
  padding-bottom:clamp(56px,6vw,88px)!important;
}
.portfolio-intro-light .eyebrow{color:#757575}
.portfolio-intro-light .display{color:#0b0b0b}
.portfolio-intro-copy{color:#4c4c4c!important;max-width:780px}

.page-hero--projects-light{
  min-height:56svh;
  background:#fff!important;
  color:#0b0b0b!important;
  padding-top:calc(var(--header) + 110px);
  padding-bottom:clamp(70px,8vw,120px);
}
.page-hero--projects-light .page-hero__content{color:#0b0b0b}
.page-hero--projects-light .eyebrow{color:#777}
.page-hero--projects-light .display{color:#0b0b0b}
.page-hero--projects-light .projects-hero-copy{color:#4f4f4f!important;max-width:760px}

/* Let the photography read as it is; only protect the text locally. */
.projects-horizontal{background:#f1f0eb!important}
.projects-track{
  gap:18px;
  padding:18px;
}
.project-card.project-cover{
  flex:0 0 calc(100vw - 36px);
  border-radius:2px;
  background:#111;
}
.project-cover__shade{
  background:
    linear-gradient(180deg,transparent 0%,transparent 56%,rgba(0,0,0,.16) 72%,rgba(0,0,0,.62) 100%)!important;
}
.project-cover__content h3,
.project-cover__content .eyebrow,
.project-cover__top,
.project-cover__content dl,
.project-cover__cta{
  text-shadow:0 2px 16px rgba(0,0,0,.72);
}
.project-cover__top span{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:7px 11px;
  border:1px solid rgba(255,255,255,.48);
  background:rgba(0,0,0,.16);
  -webkit-backdrop-filter:blur(7px);
  backdrop-filter:blur(7px);
}
.project-cover__top span:first-child{font-size:22px}
.project-cover__content dl{
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.24);
  background:rgba(0,0,0,.14);
  -webkit-backdrop-filter:blur(6px);
  backdrop-filter:blur(6px);
}
.project-cover__content .eyebrow{color:rgba(255,255,255,.82)}
.project-cover__content h3{color:#fff}
.project-cover__media img{filter:none!important}

/* Footer slogan: proportional, not dominant. */
.footer-phrase{
  font-size:clamp(22px,2.25vw,38px)!important;
  line-height:.98!important;
  letter-spacing:-.025em!important;
  max-width:520px;
  margin-top:34px!important;
}

/* Keep FAQ content aligned and readable after removing surrounding sections. */
.faq-container{max-width:1180px}
.faq-section .display{max-width:900px}
.faq{margin-top:clamp(42px,6vw,76px)}

@media(max-width:980px){
  .projects-track{gap:12px;padding:12px}
  .project-card.project-cover{flex-basis:88vw;height:calc(100svh - 24px)}
}
@media(max-width:640px){
  .projects-track{gap:10px;padding:10px}
  .project-card.project-cover{flex-basis:calc(100vw - 30px);height:calc(100svh - 20px)}
  .project-cover__top span{min-height:28px;padding:5px 8px}
  .footer-phrase{font-size:clamp(22px,8vw,32px)!important}
}


/* =========================================================
   Contact + careers refinement / consistent typography
   ========================================================= */
:root{--content-max:1120px;--text-max:820px}
.display{font-size:clamp(42px,5.5vw,94px);line-height:.86;letter-spacing:-.045em;max-width:var(--content-max)}
.display--medium{font-size:clamp(38px,4.7vw,78px)}
.display--small{font-size:clamp(34px,3.8vw,64px);line-height:.92}
.section{padding:clamp(88px,9vw,145px) 0}
.section .lead{max-width:var(--text-max)}
.section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.5fr);gap:clamp(36px,7vw,110px);align-items:end;margin-bottom:clamp(48px,6vw,88px)}
.section-heading>p{margin:0;color:#5e5e59;max-width:560px}
.page-hero__content .display{max-width:920px}
.menu-overlay__primary nav a b{font-size:clamp(40px,4.7vw,76px)}
.project-intro__name{font-size:clamp(40px,6.2vw,96px);line-height:.82}
.scroll-video-content h1{font-size:clamp(48px,7.5vw,120px);line-height:.78}
.gallery-head .display{font-size:clamp(36px,4vw,66px)}

.page-hero--image-only{min-height:78svh;padding:0;background:#eee;align-items:stretch}
.page-hero--image-only .page-hero__visual{opacity:1}
.page-hero--image-only .page-hero__visual img{object-position:center}
.page-hero--image-only .page-hero__visual::after{background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.08))}
.contact-cover .page-hero__visual img{object-position:center 48%}
.contact-section{padding-top:clamp(94px,10vw,150px)}
.contact-layout--premium{grid-template-columns:minmax(0,1.08fr) minmax(300px,.4fr);gap:clamp(54px,8vw,130px)}
.contact-copy>.lead{margin:26px 0 52px}
.contact-form--panel{padding:clamp(28px,4vw,58px);background:#fff;border:1px solid rgba(11,11,11,.12);box-shadow:0 22px 70px rgba(11,11,11,.06)}
.contact-form--panel .field input,.contact-form--panel .field select,.contact-form--panel .field textarea{background:#f5f4f0;padding:15px 16px;border:1px solid transparent;border-radius:2px}
.contact-form--panel .field input:focus,.contact-form--panel .field select:focus,.contact-form--panel .field textarea:focus{background:#fff;border-color:#111}
.contact-form--panel .field label{color:#4f4f4a}
.contact-form--panel .btn{min-width:220px}
.contact-card--premium{top:42px;background:#e7e6e1;padding:clamp(24px,3vw,42px);border:0}
.contact-card--premium .contact-card__row:first-of-type{border-top:1px solid var(--line-light)}

.careers-hero{min-height:82svh}
.careers-hero .page-hero__visual{opacity:1}
.careers-hero .page-hero__visual img{filter:none;object-position:center}
.careers-hero .page-hero__visual::after{background:linear-gradient(90deg,rgba(0,0,0,.68),rgba(0,0,0,.08) 64%),linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.55))}
.careers-hero__content{max-width:1600px;margin:0 auto;padding-left:var(--pad);padding-right:var(--pad);padding-bottom:clamp(56px,8vh,96px)}
.careers-hero__content .display{color:#fff;max-width:700px}
.careers-hero__content .lead{color:rgba(255,255,255,.78);max-width:650px;margin-bottom:0}
.career-roles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line-light);border:1px solid var(--line-light)}
.career-roles article{background:#fff;min-height:260px;padding:clamp(24px,3vw,42px);display:flex;flex-direction:column}
.career-roles article:nth-child(even){background:#e9e8e3}
.career-roles span{font-size:9px;letter-spacing:.14em;color:#777}
.career-roles h3{font-size:clamp(20px,1.7vw,28px);line-height:1.15;margin:auto 0 18px;font-weight:600;max-width:290px}
.career-roles p{font-size:13px;line-height:1.6;color:#5b5b56;margin:0;max-width:330px}
.careers-apply{padding-top:clamp(90px,10vw,150px)}
.file-field label small{display:block;margin-top:6px;color:#8a8a84;font-weight:400;letter-spacing:.02em;text-transform:none}
.file-field input[type=file]{padding:16px;background:#f5f4f0;border:1px dashed rgba(11,11,11,.25)}
.careers-aside strong{font-size:14px}
.careers-aside__cc{display:block;margin-top:7px;color:#777;font-size:10px;line-height:1.5}

.footer-column a[href*="bolsa-trabajo"]{font-weight:600}

@media(max-width:980px){
  .section-heading,.contact-layout--premium{grid-template-columns:1fr}
  .contact-card--premium{position:relative;top:auto}
  .career-roles{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .display{font-size:clamp(38px,12vw,60px)}
  .display--small{font-size:clamp(32px,10vw,50px)}
  .section{padding:76px 0}
  .page-hero--image-only{min-height:70svh}
  .contact-form--panel{padding:24px 18px}
  .career-roles{grid-template-columns:1fr}
  .career-roles article{min-height:220px}
  .careers-hero__content{padding-bottom:50px}
}

/* Homepage projects refresh — 7 original photographs with minimal intervention */
.projects-horizontal{background:#f4f2ed!important}
.project-card.project-cover{background:#0e0e0e;border-radius:3px}
.project-cover__media{background:#0f0f0f}
.project-cover__shade{background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,0) 68%,rgba(0,0,0,.10) 82%,rgba(0,0,0,.34) 100%)!important}
.project-cover__content{align-items:end}
.project-cover__content > div{padding:14px 16px 16px;border:1px solid rgba(255,255,255,.18);background:linear-gradient(135deg,rgba(0,0,0,.28),rgba(0,0,0,.08));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.project-cover__content h3,.project-cover__content .eyebrow,.project-cover__top,.project-cover__content dl,.project-cover__cta{text-shadow:0 2px 18px rgba(0,0,0,.65)}
.project-cover__content h3{font-size:clamp(62px,7vw,126px);line-height:.72}
.project-cover__content dl{background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.18)}
.project-cover__top span{background:rgba(0,0,0,.12)}
@media(max-width:980px){.project-cover__content > div{padding:12px 14px}}
@media(max-width:640px){.project-cover__content h3{font-size:clamp(42px,12vw,64px)}}


/* Services gallery refresh */
.services-gallery-section{padding-top:0;background:#f4f2ed}
.services-gallery-head{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2rem}
.services-gallery-nav{display:flex;gap:.75rem}
.services-gallery-nav button{width:3rem;height:3rem;border-radius:999px;border:1px solid rgba(0,0,0,.14);background:#fff;color:#111;font-size:1rem;cursor:pointer;transition:transform .2s ease,background .2s ease}
.services-gallery-nav button:hover{background:#111;color:#fff;transform:translateY(-1px)}
.services-gallery-carousel{position:relative}
.services-gallery-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(320px,34vw);gap:1.25rem;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:1rem;cursor:grab;scrollbar-width:none}
.services-gallery-track::-webkit-scrollbar{display:none}
.services-gallery-track.is-dragging{cursor:grabbing}
.services-gallery-card{scroll-snap-align:start;position:relative;overflow:hidden;border-radius:22px;background:#e9e6df;min-height:430px;box-shadow:0 24px 70px rgba(0,0,0,.08)}
.services-gallery-card img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:4/5}
.services-gallery-card figcaption{position:absolute;left:1rem;right:1rem;bottom:1rem;padding:.85rem 1rem;border-radius:999px;background:rgba(255,255,255,.86);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:#111;text-align:center}
.services-bottom-banner{position:relative;min-height:78svh;display:grid;place-items:center;overflow:hidden;background:#111;color:#fff}
.services-bottom-banner__media,.services-bottom-banner__media img{position:absolute;inset:0;width:100%;height:100%}
.services-bottom-banner__media img{object-fit:cover}
.services-bottom-banner__overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.68) 0%,rgba(0,0,0,.38) 40%,rgba(0,0,0,.24) 100%)}
.services-bottom-banner__content{position:relative;z-index:2;padding-block:6rem;max-width:760px;margin-left:0;margin-right:auto}
.eyebrow--light{color:rgba(255,255,255,.72)}
.services-bottom-banner .display,.services-bottom-banner .lead{color:#fff}
.services-bottom-banner .lead{max-width:620px;opacity:.88}
@media (max-width: 980px){.services-gallery-head{flex-direction:column;align-items:flex-start}.services-gallery-track{grid-auto-columns:minmax(280px,78vw)}.services-bottom-banner{min-height:70svh}.services-bottom-banner__content{padding-block:4rem}}
@media (max-width: 640px){.services-gallery-card{min-height:360px;border-radius:18px}.services-gallery-card figcaption{font-size:.7rem}.services-bottom-banner__content{max-width:100%}}


/* ===== Refined Services / Nosotros / Contacto / Proyectos ===== */
.services-video-hero{padding:clamp(90px,10vw,150px) clamp(18px,4vw,68px) clamp(60px,7vw,110px);background:#f3f1ec;color:#fff}
.services-video-hero__frame{position:relative;width:min(100%,1680px);height:min(78svh,850px);margin:0 auto;overflow:hidden;border-radius:24px;background:#111}
.services-video-hero__frame video{width:100%;height:100%;object-fit:cover;display:block}
.services-video-hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.58) 0%,rgba(0,0,0,.18) 46%,rgba(0,0,0,.04) 100%),linear-gradient(180deg,transparent 45%,rgba(0,0,0,.30) 100%)}
.services-video-hero__content{position:absolute;z-index:2;left:clamp(24px,5vw,86px);bottom:clamp(28px,6vw,94px);max-width:760px}
.services-video-hero__content h1{font-size:clamp(42px,5.4vw,88px);line-height:.92;letter-spacing:-.045em;margin:0 0 22px;color:#fff;text-transform:uppercase}
.services-video-hero__content p:not(.eyebrow){max-width:600px;font-size:clamp(15px,1.15vw,19px);color:rgba(255,255,255,.86)}

.services-capabilities{background:#fff;color:#111;padding:clamp(80px,10vw,150px) 0}
.services-capabilities__head{width:min(100%,1500px);margin:0 auto;padding:0 var(--pad) clamp(48px,7vw,90px)}
.services-capabilities__head h2{font-size:clamp(36px,4vw,68px);line-height:1.03;letter-spacing:-.035em;max-width:980px;margin:0;text-transform:uppercase}
.services-capabilities__list{width:100%;border-top:1px solid rgba(0,0,0,.12)}
.service-wide{display:grid;grid-template-columns:minmax(70px,.15fr) minmax(280px,.75fr) minmax(320px,1fr) auto;align-items:center;gap:clamp(22px,4vw,72px);width:100%;padding:clamp(34px,4vw,70px) var(--pad);border-bottom:1px solid rgba(0,0,0,.12)}
.service-wide--white{background:#fff}.service-wide--gray{background:#ecebea}
.service-wide__number{font-size:clamp(28px,3vw,48px);font-weight:500;color:#888}
.service-wide h3{font-size:clamp(28px,3.3vw,56px);line-height:1;letter-spacing:-.035em;text-transform:uppercase;margin:0}
.service-wide p{font-size:clamp(15px,1.2vw,19px);line-height:1.65;margin:0;color:#555;max-width:720px}
.service-wide a{font-size:10px;letter-spacing:.12em;text-transform:uppercase;border:1px solid rgba(0,0,0,.25);border-radius:999px;padding:12px 17px;white-space:nowrap;transition:.25s}
.service-wide a:hover{background:#111;color:#fff;border-color:#111}

.services-loop{background:#0b0b0b;color:#fff;padding:clamp(90px,11vw,170px) 0;overflow:hidden}
.services-loop__header{display:grid;grid-template-columns:.45fr 1fr;gap:clamp(40px,8vw,140px);align-items:end;width:min(100%,1500px);margin:0 auto;padding:0 var(--pad) clamp(42px,6vw,78px)}
.services-loop__header h2{font-size:clamp(36px,4.2vw,72px);line-height:1;letter-spacing:-.04em;text-transform:uppercase;margin:0;color:#fff;max-width:950px}
.services-loop__viewport{overflow:hidden;width:100%;touch-action:pan-y}
.services-loop__track{display:flex;gap:18px;width:max-content;will-change:transform;cursor:grab}
.services-loop__track.is-dragging{cursor:grabbing}
.services-loop__card{position:relative;flex:0 0 clamp(260px,27vw,430px);aspect-ratio:1/1;margin:0;overflow:hidden;border-radius:18px;background:#1a1a1a}
.services-loop__card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .65s var(--ease)}
.services-loop__card:hover img{transform:scale(1.035)}
.services-loop__card::after{content:"";position:absolute;inset:54% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.72))}
.services-loop__card figcaption{position:absolute;z-index:2;left:20px;right:20px;bottom:18px;color:#fff;font-size:11px;letter-spacing:.14em;text-transform:uppercase;text-shadow:0 2px 16px rgba(0,0,0,.75)}

.services-bottom-banner{position:relative;min-height:82svh;display:grid;align-items:end;overflow:hidden;background:#111;color:#fff}
.services-bottom-banner__media,.services-bottom-banner__media img{position:absolute;inset:0;width:100%;height:100%;margin:0}
.services-bottom-banner__media img{object-fit:cover}
.services-bottom-banner__overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.65) 0%,rgba(0,0,0,.30) 50%,rgba(0,0,0,.10) 100%),linear-gradient(180deg,transparent 45%,rgba(0,0,0,.45) 100%)}
.services-bottom-banner__content{position:relative;z-index:2;padding-top:clamp(90px,12vw,180px);padding-bottom:clamp(70px,9vw,130px);max-width:900px;margin-left:0;margin-right:auto}
.services-bottom-banner__content h2{font-size:clamp(38px,5vw,78px);line-height:.98;letter-spacing:-.04em;text-transform:uppercase;margin:0 0 24px;color:#fff}
.services-bottom-banner__content p:not(.eyebrow){max-width:650px;color:rgba(255,255,255,.88);font-size:clamp(16px,1.2vw,20px)}

.page-hero--nosotros-full{min-height:100svh;padding:0;display:grid;align-items:end}
.page-hero--nosotros-full .page-hero__visual{opacity:1}
.page-hero--nosotros-full .page-hero__visual::after{background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.15) 45%,rgba(0,0,0,.58))}
.page-hero--nosotros-full .page-hero__visual img{object-fit:cover;object-position:center}
.page-hero--nosotros-full .page-hero__content{padding-top:calc(var(--header) + 100px);padding-bottom:clamp(70px,8vw,120px)}
.page-hero--nosotros-full .display{color:#fff;max-width:1050px;text-shadow:0 2px 24px rgba(0,0,0,.55)}
.page-hero--nosotros-full .eyebrow{color:rgba(255,255,255,.78)}

.contact-cover{min-height:100svh!important;padding:0!important}
.contact-cover .page-hero__visual{opacity:1!important}
.contact-cover .page-hero__visual::after{display:none!important}
.contact-cover .page-hero__visual img,.contact-cover .page-hero__visual video{width:100%;height:100%;object-fit:cover;object-position:center}

.projects-page-start{padding-top:clamp(110px,12vw,170px)!important}

@media(max-width:980px){
  .service-wide{grid-template-columns:70px 1fr;gap:18px 24px}
  .service-wide p,.service-wide a{grid-column:2}
  .services-loop__header{grid-template-columns:1fr}
  .services-loop__card{flex-basis:clamp(250px,72vw,390px)}
}
@media(max-width:640px){
  .services-video-hero{padding:82px 14px 52px}
  .services-video-hero__frame{height:72svh;border-radius:17px}
  .services-video-hero__content{left:22px;right:22px;bottom:28px}
  .service-wide{grid-template-columns:48px 1fr;padding:30px 20px}
  .service-wide h3{font-size:28px}
  .services-bottom-banner{min-height:72svh}
  .page-hero--nosotros-full .page-hero__content{padding-left:20px;padding-right:20px}
}

/* ===== Institutional content update: home pathways, history and project map ===== */
.home-pathways__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line-light);margin-top:clamp(48px,7vw,88px)}
.home-pathway{display:grid;grid-template-columns:64px 1fr;gap:clamp(20px,3vw,50px);min-height:260px;padding:clamp(28px,4vw,56px) clamp(18px,3vw,48px);border-right:1px solid var(--line-light);border-bottom:1px solid var(--line-light);transition:background .35s,color .35s}
.home-pathway:nth-child(even){border-right:0}.home-pathway:hover{background:var(--ink);color:#fff}
.home-pathway>span{font-family:Genos,sans-serif;font-size:clamp(28px,3vw,48px);line-height:1;color:var(--muted)}
.home-pathway>div{display:flex;flex-direction:column}.home-pathway h3{font-family:Genos,sans-serif;font-size:clamp(34px,4vw,64px);line-height:.86;text-transform:uppercase;font-weight:500;margin:0 0 20px}.home-pathway p{max-width:570px;margin:0;color:#5b5b57;font-size:14px;line-height:1.7}.home-pathway:hover p{color:rgba(255,255,255,.72)}
.home-pathway b{margin-top:auto;padding-top:28px;font-size:9px;text-transform:uppercase;letter-spacing:.14em;font-weight:600}
.home-pathway:last-child{grid-column:1/-1;border-right:0}

.trajectory-heading,.projects-map-heading{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.48fr);gap:clamp(40px,8vw,130px);align-items:end}
.trajectory-heading .lead,.projects-map-heading .lead{margin:0;color:#5d5d58}.projects-map-heading .lead{color:rgba(255,255,255,.65)}
.trajectory-summary{display:grid;grid-template-columns:repeat(3,1fr);margin:clamp(55px,8vw,100px) 0;border-top:1px solid var(--line-light);border-bottom:1px solid var(--line-light)}
.trajectory-summary span{padding:28px 24px;border-right:1px solid var(--line-light);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#666}.trajectory-summary span:first-child{padding-left:0}.trajectory-summary span:last-child{border-right:0}.trajectory-summary b{display:block;font-family:Genos,sans-serif;font-size:clamp(38px,5vw,72px);line-height:.9;color:var(--ink);font-weight:500;letter-spacing:-.04em;margin-bottom:8px}
.history-archive{border-top:1px solid var(--line-light)}.history-period{border-bottom:1px solid var(--line-light)}.history-period summary{list-style:none;display:grid;grid-template-columns:minmax(150px,.25fr) 1fr auto;gap:26px;align-items:center;padding:24px 0;cursor:pointer}.history-period summary::-webkit-details-marker{display:none}.history-period summary span{font-family:Genos,sans-serif;font-size:clamp(28px,3.5vw,52px);line-height:.9}.history-period summary b{font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:#666}.history-period summary i{font-style:normal;font-size:22px;transition:transform .3s}.history-period[open] summary i{transform:rotate(45deg)}
.history-period__works{padding:5px 0 32px 25%;}.history-work{display:grid;grid-template-columns:58px 1fr;gap:22px;padding:24px 0;border-top:1px solid rgba(0,0,0,.1)}.history-work>span{font-family:Genos,sans-serif;font-size:28px;color:#8a8983}.history-work h3{font-family:Genos,sans-serif;font-size:clamp(24px,2.7vw,42px);line-height:.95;text-transform:uppercase;font-weight:500;margin:0 0 9px}.history-work p{max-width:820px;margin:0 0 13px;color:#5d5d58;font-size:13px}.history-work a{font-size:9px;letter-spacing:.13em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:3px}

.projects-map-tabs{display:flex;gap:8px;margin:clamp(45px,7vw,80px) 0 22px}.projects-map-tabs button{border:1px solid rgba(255,255,255,.28);background:transparent;color:#fff;padding:12px 16px;cursor:pointer;font-size:9px;letter-spacing:.13em;text-transform:uppercase}.projects-map-tabs button span{color:rgba(255,255,255,.5);margin-left:8px}.projects-map-tabs button.active{background:#fff;color:#111}.projects-map-tabs button.active span{color:#666}
.projects-map-layout{display:grid;grid-template-columns:minmax(420px,.9fr) minmax(360px,.62fr);min-height:720px;border:1px solid var(--line-dark)}
.argentina-map{position:relative;min-height:720px;overflow:hidden;border-right:1px solid var(--line-dark);background:radial-gradient(circle at 63% 42%,rgba(200,183,149,.16),transparent 24%),#101010}.argentina-map__canvas{position:absolute;top:3%;bottom:4%;left:50%;aspect-ratio:1/2;max-width:88%;transform:translateX(-50%)}.argentina-map__atlas,.project-map-connectors{position:absolute;inset:0;width:100%;height:100%;display:block}.argentina-map__atlas{filter:drop-shadow(0 18px 38px rgba(0,0,0,.28))}.project-map-connectors{z-index:2;overflow:visible;pointer-events:none}.project-map-connector{opacity:.74;transition:opacity .25s}.project-map-connector[hidden]{display:none}.project-map-connector line{stroke:rgba(200,183,149,.9);stroke-width:1.35;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}.project-map-connector circle{fill:var(--sand);stroke:#101010;stroke-width:1.2;vector-effect:non-scaling-stroke}.project-map-connector.active{opacity:1}.project-map-connector.active line{stroke:var(--sand);stroke-width:2}.project-map-connector.active circle{r:3.4px}.argentina-map__label,.argentina-map__source{position:absolute;bottom:24px;font-size:8px;letter-spacing:.22em;color:rgba(255,255,255,.42)}.argentina-map__label{left:28px}.argentina-map__source{right:28px;font-size:6px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.28)}
.project-hotspot{position:absolute;left:var(--x);top:var(--y);width:32px;height:32px;transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.76);border-radius:50%;background:#171717;color:#fff;display:grid;place-items:center;cursor:pointer;z-index:3;transition:transform .25s,background .25s,color .25s,box-shadow .25s}.project-hotspot span{font-family:Genos,sans-serif;font-size:12px}.project-hotspot::after{content:"";position:absolute;inset:-7px;border:1px solid rgba(255,255,255,.18);border-radius:50%;opacity:0;transition:opacity .25s}.project-hotspot:hover,.project-hotspot:focus-visible,.project-hotspot.active{background:var(--sand);color:#111;transform:translate(-50%,-50%) scale(1.18);box-shadow:0 0 0 8px rgba(200,183,149,.12);outline:0}.project-hotspot.active::after{opacity:1}.project-hotspot[hidden]{display:none!important}
.project-map-panel{min-width:0;overflow:hidden;padding:clamp(30px,4vw,62px);display:flex;flex-direction:column}.project-map-panel>span{font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--sand)}.project-map-panel>small{margin:13px 0 45px;font-family:Genos,sans-serif;font-size:24px;color:rgba(255,255,255,.34)}.project-map-panel h3{max-width:100%;font-family:Genos,sans-serif;font-size:clamp(34px,3.1vw,44px);line-height:.92;text-transform:uppercase;font-weight:500;margin:0 0 24px;overflow-wrap:anywhere;word-break:normal;hyphens:none}.project-map-panel>p{max-width:620px;color:rgba(255,255,255,.68);margin:0;font-size:14px;line-height:1.7}.project-map-panel__actions{display:flex;flex-wrap:wrap;gap:8px;margin:30px 0 42px}.project-map-panel__actions a{border:1px solid rgba(255,255,255,.35);padding:11px 14px;font-size:9px;letter-spacing:.12em;text-transform:uppercase}.project-map-panel__actions a:first-child{background:#fff;color:#111;border-color:#fff}.project-map-roster{margin-top:auto;border-top:1px solid var(--line-dark);max-height:265px;overflow:auto}.project-map-roster button{width:100%;display:grid;grid-template-columns:38px 1fr;gap:10px;text-align:left;padding:11px 0;border:0;border-bottom:1px solid var(--line-dark);background:transparent;color:rgba(255,255,255,.56);cursor:pointer;font-size:10px;line-height:1.4}.project-map-roster button span{font-family:Genos,sans-serif;font-size:15px}.project-map-roster button:hover,.project-map-roster button.active{color:#fff}.project-map-roster button[hidden]{display:none!important}

.execution-overview{margin:clamp(44px,7vw,84px) 0 10px;padding:clamp(34px,5vw,68px);background:#111;color:#fff}.execution-overview__head{display:grid;grid-template-columns:.4fr 1fr;gap:30px;align-items:end;margin-bottom:45px}.execution-overview__head .eyebrow{margin:0}.execution-overview__head h3{font-family:Genos,sans-serif;font-size:clamp(34px,4vw,66px);line-height:.9;text-transform:uppercase;font-weight:500;margin:0}.execution-overview__grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line-dark);border-left:1px solid var(--line-dark)}.execution-overview article{display:grid;grid-template-columns:48px 1fr;gap:18px;min-height:260px;padding:28px;border-right:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark)}.execution-overview article>span{font-family:Genos,sans-serif;font-size:28px;color:rgba(255,255,255,.35)}.execution-overview article b{font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:var(--sand)}.execution-overview article h4{font-family:Genos,sans-serif;font-size:clamp(25px,2.8vw,42px);line-height:.9;text-transform:uppercase;font-weight:500;margin:18px 0}.execution-overview article p{font-size:12px;color:rgba(255,255,255,.62);margin:0 0 22px}.execution-overview article a{display:inline-block;font-size:9px;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:3px}
.project-location-link{display:block!important;margin-top:8px;font-size:9px!important;letter-spacing:.1em;text-transform:uppercase;text-decoration:underline;text-underline-offset:4px;color:#555}

@media(max-width:980px){
  .trajectory-heading,.projects-map-heading{grid-template-columns:1fr}.trajectory-heading .lead,.projects-map-heading .lead{max-width:760px}
  .projects-map-layout{grid-template-columns:1fr;min-height:auto}.argentina-map{min-height:650px;border-right:0;border-bottom:1px solid var(--line-dark)}.project-map-panel{min-height:600px}
  .execution-overview__head{grid-template-columns:1fr}.home-pathway{grid-template-columns:48px 1fr}
}
@media(max-width:640px){
  .home-pathways__grid{grid-template-columns:1fr}.home-pathway,.home-pathway:nth-child(even),.home-pathway:last-child{grid-column:auto;border-right:0;min-height:230px;padding:28px 0}.home-pathway p{font-size:13px}
  .trajectory-summary{grid-template-columns:1fr}.trajectory-summary span,.trajectory-summary span:first-child{padding:22px 0;border-right:0;border-bottom:1px solid var(--line-light)}.trajectory-summary span:last-child{border-bottom:0}.history-period summary{grid-template-columns:1fr auto;gap:8px}.history-period summary b{grid-column:1}.history-period summary i{grid-column:2;grid-row:1/3}.history-period__works{padding-left:0}.history-work{grid-template-columns:42px 1fr;gap:12px}
  .projects-map-tabs{display:grid;grid-template-columns:1fr 1fr}.projects-map-tabs button{padding:11px 8px}.argentina-map{min-height:560px}.argentina-map__canvas{top:2%;bottom:4%;max-width:100%}.argentina-map__source{display:none}.project-hotspot{width:26px;height:26px}.project-map-panel{min-height:560px;padding:30px 20px}.project-map-panel>small{margin-bottom:32px}.project-map-panel h3{font-size:clamp(32px,9vw,42px)}
  .execution-overview{margin-left:-20px;margin-right:-20px;padding:38px 20px}.execution-overview__grid{grid-template-columns:1fr}.execution-overview article{min-height:230px;padding:24px 18px}.execution-overview__head{margin-bottom:30px}
}

/* ===== Novedades · carrusel preparado para Instagram Stories ===== */
.instagram-news{overflow:hidden;background:#111;color:#fff}
.instagram-news .eyebrow{color:var(--sand)}
.instagram-news .display{max-width:780px;color:#fff}
.instagram-news__head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(310px,.52fr);gap:clamp(48px,8vw,130px);align-items:end}
.instagram-news__intro>p{margin:0 0 28px;color:rgba(255,255,255,.64);font-size:14px;line-height:1.75}
.instagram-news__profile{display:grid;grid-template-columns:48px 1fr auto;gap:14px;align-items:center;padding:13px 0;border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark)}
.instagram-news__profile>span:nth-child(2){display:flex;flex-direction:column;gap:3px}.instagram-news__profile small{font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.48)}.instagram-news__profile b{font-family:Genos,sans-serif;font-size:18px;font-weight:500}.instagram-news__profile i{font-style:normal;font-size:20px}
.instagram-news__avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(140deg,#beaa7c,#725b35);padding:2px;box-shadow:0 0 0 2px #111,0 0 0 3px var(--sand)}
.instagram-news__avatar img,.instagram-story__mini-avatar img{width:100%;height:100%;object-fit:contain;border-radius:50%;background:#111;padding:7px}
.instagram-news__toolbar{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:clamp(48px,7vw,86px) 0 20px;padding-bottom:14px;border-bottom:1px solid var(--line-dark)}
.instagram-news__toolbar>span{font-size:8px;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.instagram-news__controls{display:flex;align-items:center;gap:8px}.instagram-news__controls>span{margin-right:8px;font-family:Genos,sans-serif;font-size:15px;color:rgba(255,255,255,.5)}.instagram-news__controls>span b{color:#fff;font-weight:500}
.instagram-news__controls button{width:42px;height:42px;border:1px solid rgba(255,255,255,.28);background:transparent;color:#fff;font-size:18px;cursor:pointer;transition:background .25s,color .25s}.instagram-news__controls button:hover,.instagram-news__controls button:focus-visible{background:#fff;color:#111;outline:0}
.instagram-stories{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(210px,20vw,310px);gap:clamp(12px,1.6vw,24px);overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px 2px 18px;outline:0}.instagram-stories::-webkit-scrollbar{display:none}.instagram-stories:focus-visible{box-shadow:0 0 0 1px var(--sand)}
.instagram-story{position:relative;display:block;aspect-ratio:9/16;overflow:hidden;scroll-snap-align:start;background:#242424;color:#fff;border:1px solid rgba(255,255,255,.13)}
.instagram-story__media,.instagram-story__media img,.instagram-story__media video{position:absolute;inset:0;width:100%;height:100%;margin:0}.instagram-story__media img,.instagram-story__media video{object-fit:cover;transition:transform .65s var(--ease)}.instagram-story:hover .instagram-story__media img,.instagram-story:hover .instagram-story__media video{transform:scale(1.035)}
.instagram-story__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.46),transparent 25%,transparent 48%,rgba(0,0,0,.83))}
.instagram-story__progress{position:absolute;z-index:2;top:11px;left:11px;right:11px;display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.instagram-story__progress i{height:2px;background:rgba(255,255,255,.38)}.instagram-story__progress i:first-child{background:#fff}
.instagram-story__account{position:absolute;z-index:2;top:22px;left:13px;right:13px;display:flex;align-items:center;gap:9px}.instagram-story__mini-avatar{width:30px;height:30px;border-radius:50%;display:block;background:#111;box-shadow:0 0 0 1px #fff}.instagram-story__mini-avatar img{padding:5px}.instagram-story__account>span:last-child{display:flex;align-items:center;gap:6px}.instagram-story__account b{font-size:10px;letter-spacing:.03em}.instagram-story__account small{font-size:8px;color:rgba(255,255,255,.62)}
.instagram-story__copy{position:absolute;z-index:2;left:18px;right:18px;bottom:18px;display:flex;flex-direction:column;align-items:flex-start}.instagram-story__copy small{margin-bottom:8px;font-size:8px;letter-spacing:.15em;text-transform:uppercase;color:var(--sand)}.instagram-story__copy strong{font-family:Genos,sans-serif;font-size:clamp(27px,2.4vw,39px);line-height:.9;text-transform:uppercase;font-weight:500}.instagram-story__copy>span{margin-top:18px;padding-bottom:3px;border-bottom:1px solid rgba(255,255,255,.65);font-size:8px;letter-spacing:.13em;text-transform:uppercase}
.instagram-news__note{margin:18px 0 0;max-width:680px;color:rgba(255,255,255,.42);font-size:10px;line-height:1.6}
@media(max-width:980px){.instagram-news__head{grid-template-columns:1fr}.instagram-news__intro{max-width:640px}.instagram-stories{grid-auto-columns:clamp(220px,38vw,300px)}}
@media(max-width:640px){.instagram-news__head{gap:34px}.instagram-news__toolbar{align-items:flex-end;margin-top:42px}.instagram-news__toolbar>span{max-width:145px;line-height:1.5}.instagram-news__controls>span{display:none}.instagram-stories{grid-auto-columns:min(74vw,278px);gap:12px;margin-right:-20px}.instagram-news__note{padding-right:20px}}

/* ===== Asistente virtual institucional ===== */
.chat-panel{width:min(430px,calc(100vw - 28px));height:min(680px,calc(100dvh - 110px));background:#f2f1ed}
.chat-head{padding:14px 15px;background:#111;color:#fff;border-color:rgba(255,255,255,.12)}
.chat-head__identity{display:flex;min-width:0;flex-direction:column;gap:4px}
.chat-head__identity strong{color:#fff;line-height:.9}
.chat-head__status{display:flex;align-items:center;gap:6px;font-size:7px;line-height:1;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.58)}
.chat-head__status i{width:6px;height:6px;border-radius:50%;background:var(--sand);box-shadow:0 0 0 3px rgba(200,183,149,.12)}
.chat-close{border:1px solid rgba(255,255,255,.22);font-size:17px}
.chat-messages{gap:9px;padding:17px;background:linear-gradient(180deg,#eeede8 0,#f5f4f0 100%)}
.chat-message{display:flex;flex-direction:column;gap:6px;max-width:89%;padding:12px 13px;font-size:12px;line-height:1.55}
.chat-message--bot{align-self:flex-start;background:#fff;border-color:rgba(0,0,0,.09)}
.chat-message--user{align-self:flex-end;background:#111;color:#fff;border-color:#111}
.chat-message__label{font-size:7px;line-height:1;text-transform:uppercase;letter-spacing:.16em;color:#97876a;font-weight:700}
.chat-message__copy{display:block;white-space:pre-line}
.chat-actions{align-self:flex-start;margin:0 0 4px;max-width:100%}
.chat-chip{min-height:34px;background:#fff;border-color:rgba(0,0,0,.17);line-height:1.25;text-align:left}
.chat-chip--primary{background:#111;color:#fff;border-color:#111}
.chat-chip:hover,.chat-chip:focus-visible{background:var(--sand);border-color:var(--sand);color:#111;outline:0}
.chat-input{background:#fff;padding:9px}
.chat-input input{min-width:0;font-family:inherit;font-size:12px}
.chat-input button{font-size:16px}
@media(max-width:640px){
  .chat-panel{right:7px;bottom:66px;width:calc(100vw - 14px);height:calc(100dvh - 80px)}
  .chat-messages{padding:14px}.chat-message{max-width:92%}.chat-input input{font-size:16px}
}
@media(prefers-reduced-motion:reduce){.chat-head__status i{box-shadow:none}}

/* ===== Mapa territorial dinámico V16 ===== */
.projects-map-section--interactive{position:relative;isolation:isolate}
.projects-map-section--interactive::before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(circle at 16% 30%,rgba(200,183,149,.07),transparent 31%),linear-gradient(135deg,rgba(255,255,255,.018),transparent 48%);pointer-events:none}
.projects-map-section--home{border-top:1px solid rgba(255,255,255,.1)}
.projects-map-section--home .projects-map-heading .display{max-width:920px}
.projects-map-section--interactive .projects-map-layout{box-shadow:0 34px 90px rgba(0,0,0,.3);background:#111}
.projects-map-section--interactive .argentina-map{--map-focus-x:63%;--map-focus-y:42%;background:radial-gradient(circle at var(--map-focus-x) var(--map-focus-y),rgba(200,183,149,.26),transparent 19%),linear-gradient(145deg,#151515 0,#0d0d0d 64%,#17150f 100%);transition:background-position .7s var(--ease)}
.argentina-map__grid{position:absolute;inset:0;opacity:.16;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(90deg,transparent,#000 24%,#000 76%,transparent);pointer-events:none}
.projects-map-section--interactive .argentina-map__canvas{transform:translateX(-50%) translate3d(var(--map-drift-x,0),var(--map-drift-y,0),0);transition:transform .65s var(--ease);will-change:transform}
.projects-map-section--interactive .argentina-map__atlas{opacity:.92;transition:filter .55s,opacity .55s;filter:drop-shadow(0 22px 42px rgba(0,0,0,.38))}
.projects-map-section--interactive .argentina-map:hover .argentina-map__atlas{opacity:1;filter:drop-shadow(0 26px 54px rgba(200,183,149,.11))}
.projects-map-section--interactive .project-map-connector line{stroke-dasharray:5 5;animation:mapConnectorFlow 8s linear infinite}
.projects-map-section--interactive .project-map-connector.active line{animation-duration:2.2s;filter:drop-shadow(0 0 4px rgba(200,183,149,.78))}
.projects-map-section--interactive .project-map-connector.active circle{filter:drop-shadow(0 0 5px var(--sand))}
.projects-map-section--interactive .project-hotspot:not(.active){animation:mapHotspotBreathe 3.2s ease-in-out infinite}
.projects-map-section--interactive .project-hotspot::before{content:attr(data-map-tooltip);position:absolute;left:50%;bottom:calc(100% + 13px);width:max-content;max-width:220px;padding:7px 9px;background:#f2f1ed;color:#111;border:1px solid rgba(0,0,0,.16);box-shadow:0 12px 30px rgba(0,0,0,.32);font-family:Manrope,sans-serif;font-size:8px;line-height:1.3;letter-spacing:.07em;text-transform:uppercase;opacity:0;pointer-events:none;transform:translate(-50%,6px);transition:opacity .22s,transform .22s;z-index:8}
.projects-map-section--interactive .project-hotspot:hover::before,.projects-map-section--interactive .project-hotspot:focus-visible::before{opacity:1;transform:translate(-50%,0)}
.projects-map-section--interactive .project-hotspot.active{animation:none;box-shadow:0 0 0 8px rgba(200,183,149,.13),0 0 34px rgba(200,183,149,.35)}
.projects-map-section--interactive .project-hotspot.active::after{animation:mapActiveRing 1.8s ease-out infinite}
.projects-map-section--interactive .project-map-panel{position:relative;background:linear-gradient(180deg,rgba(255,255,255,.025),transparent 58%)}
.project-map-panel__place{display:block;margin:-34px 0 34px;padding-left:16px;position:relative;color:rgba(255,255,255,.55);font-style:normal;font-size:9px;letter-spacing:.13em;text-transform:uppercase}
.project-map-panel__place::before{content:"";position:absolute;left:0;top:50%;width:7px;height:7px;border:1px solid var(--sand);border-radius:50%;transform:translateY(-50%)}
.projects-map-section--interactive .project-map-panel h3,.projects-map-section--interactive .project-map-panel>p,.projects-map-section--interactive .project-map-panel__place{transition:opacity .22s,transform .22s}
.projects-map-section--interactive .project-map-panel.is-switching h3,.projects-map-section--interactive .project-map-panel.is-switching>p,.projects-map-section--interactive .project-map-panel.is-switching .project-map-panel__place{opacity:.25;transform:translateY(5px)}
.projects-map-section--interactive .project-map-roster button{transition:color .22s,background .22s,padding .22s}
.projects-map-section--interactive .project-map-roster button b{font-weight:400}
.projects-map-section--interactive .project-map-roster button:hover,.projects-map-section--interactive .project-map-roster button.active{padding-left:10px;background:rgba(255,255,255,.035)}
.projects-map-tour{display:flex!important;align-items:center;gap:9px;margin-left:auto!important}
.projects-map-tour i{display:block;width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.35);box-shadow:0 0 0 0 rgba(200,183,149,0)}
.projects-map-tour b{font:inherit;font-weight:500}
.projects-map-tour.active i{background:var(--sand);animation:mapTourPulse 1.8s infinite}
.projects-map-tour.active{border-color:rgba(200,183,149,.7)!important;color:#fff!important;background:rgba(200,183,149,.08)!important}
@keyframes mapConnectorFlow{to{stroke-dashoffset:-40}}
@keyframes mapHotspotBreathe{0%,100%{box-shadow:0 0 0 0 rgba(200,183,149,0)}50%{box-shadow:0 0 0 5px rgba(200,183,149,.08)}}
@keyframes mapActiveRing{0%{opacity:.8;transform:scale(.82)}100%{opacity:0;transform:scale(1.55)}}
@keyframes mapTourPulse{0%{box-shadow:0 0 0 0 rgba(200,183,149,.45)}70%{box-shadow:0 0 0 7px rgba(200,183,149,0)}100%{box-shadow:0 0 0 0 rgba(200,183,149,0)}}
@media(max-width:640px){
  .projects-map-tabs{grid-template-columns:1fr 1fr}.projects-map-tour{grid-column:1/-1;justify-content:center;margin-left:0!important}
  .project-map-panel__place{margin-top:-22px;margin-bottom:25px}.projects-map-section--interactive .project-hotspot::before{display:none}
}
@media(prefers-reduced-motion:reduce){
  .projects-map-section--interactive .project-map-connector line,.projects-map-section--interactive .project-hotspot,.projects-map-section--interactive .project-hotspot.active::after,.projects-map-tour.active i{animation:none!important}
  .projects-map-section--interactive .argentina-map__canvas{transform:translateX(-50%)}
}

/* ===== Conversación contextual del asistente V16 ===== */
.chat-message--typing{min-width:66px;padding:13px 15px}
.chat-typing{display:flex;align-items:center;gap:4px;height:12px}
.chat-typing i{display:block;width:5px;height:5px;border-radius:50%;background:#94886e;animation:chatTyping 1.05s ease-in-out infinite}
.chat-typing i:nth-child(2){animation-delay:.14s}.chat-typing i:nth-child(3){animation-delay:.28s}
.chat-message__context{display:block;margin-top:1px;color:#777;font-size:8px;line-height:1.4;letter-spacing:.08em;text-transform:uppercase}
.chat-input.is-thinking{opacity:.7}.chat-input.is-thinking button{cursor:wait}
@keyframes chatTyping{0%,60%,100%{transform:translateY(0);opacity:.35}30%{transform:translateY(-3px);opacity:1}}
@media(prefers-reduced-motion:reduce){.chat-typing i{animation:none}.chat-typing i+ i{opacity:.55}}

/* ===== Pulido final V17 · imagen, mapa atmosférico y mobile ===== */
.home-impact .manifesto{grid-template-columns:minmax(0,.82fr) minmax(560px,.9fr);gap:clamp(46px,5.5vw,92px);align-items:center}
.home-impact .manifesto__copy{position:relative;z-index:2}
.home-impact .manifesto__image{width:100%;min-height:clamp(500px,38vw,630px);aspect-ratio:1.25/1;box-shadow:0 26px 70px rgba(0,0,0,.12)}
.home-impact .manifesto__image::after{content:"";position:absolute;inset:0;border:1px solid rgba(11,11,11,.13);pointer-events:none}
.home-impact .manifesto__image img{object-position:center center}

.projects-map-section--interactive .argentina-map{--map-cursor-x:var(--map-focus-x);--map-cursor-y:var(--map-focus-y);background:radial-gradient(circle at var(--map-cursor-x) var(--map-cursor-y),rgba(255,255,255,.07),transparent 13%),radial-gradient(circle at var(--map-focus-x) var(--map-focus-y),rgba(200,183,149,.29),transparent 21%),linear-gradient(145deg,#151515 0,#0d0d0d 60%,#19160f 100%)}
.argentina-map__atmosphere{position:absolute;z-index:0;inset:0;overflow:hidden;pointer-events:none;opacity:.9}
.argentina-map__atmosphere::before{content:"";position:absolute;left:50%;top:48%;width:min(76vw,680px);aspect-ratio:1;border:1px solid rgba(200,183,149,.1);border-radius:50%;transform:translate(-50%,-50%);background:repeating-radial-gradient(circle,transparent 0 57px,rgba(200,183,149,.035) 58px 59px,transparent 60px 86px);box-shadow:0 0 100px rgba(200,183,149,.05);animation:mapOrbit 26s linear infinite}
.argentina-map__atmosphere::after{content:"";position:absolute;inset:-30%;background:conic-gradient(from 205deg at 50% 50%,transparent 0 76%,rgba(200,183,149,.095) 82%,transparent 88%);animation:mapRadar 14s linear infinite;mix-blend-mode:screen}
.argentina-map__particle{position:absolute;left:var(--particle-x);top:var(--particle-y);width:3px;height:3px;border-radius:50%;background:var(--sand);box-shadow:0 0 13px rgba(200,183,149,.72);opacity:.2;animation:mapParticle var(--particle-duration) ease-in-out var(--particle-delay) infinite}
.projects-map-section--interactive .argentina-map__grid{z-index:1;background-size:42px 42px;animation:mapGridDrift 22s linear infinite}
.projects-map-section--interactive .argentina-map__canvas{z-index:2}
.projects-map-section--interactive .argentina-map__label,.projects-map-section--interactive .argentina-map__source{z-index:5}
.argentina-map__coordinates{position:absolute;z-index:5;right:28px;top:24px;padding:7px 9px;border:1px solid rgba(255,255,255,.13);background:rgba(8,8,8,.42);backdrop-filter:blur(7px);font-family:Genos,sans-serif;font-size:9px;line-height:1;letter-spacing:.12em;color:rgba(255,255,255,.52);transition:color .25s,border-color .25s}
.projects-map-section--interactive .argentina-map:hover .argentina-map__coordinates{color:var(--sand);border-color:rgba(200,183,149,.35)}
@keyframes mapOrbit{50%{transform:translate(-50%,-50%) rotate(180deg) scale(1.035)}100%{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes mapRadar{to{transform:rotate(360deg)}}
@keyframes mapGridDrift{to{background-position:42px 42px}}
@keyframes mapParticle{0%,100%{opacity:.12;transform:translate3d(0,0,0) scale(.7)}45%{opacity:.65;transform:translate3d(5px,-9px,0) scale(1.25)}}

@media(max-width:1180px) and (min-width:981px){
  .home-impact .manifesto{grid-template-columns:minmax(0,.9fr) minmax(470px,.8fr);gap:42px}
  .home-impact .manifesto__image{min-height:520px}
}
@media(max-width:980px){
  .home-impact .manifesto{grid-template-columns:1fr;gap:48px}
  .home-impact .manifesto__copy{max-width:820px}
  .home-impact .manifesto__image{min-height:0;aspect-ratio:16/10;max-height:680px}
  .projects-map-section--interactive .projects-map-layout{border:1px solid rgba(255,255,255,.08)}
}
@media(max-width:640px){
  .home-impact{padding-top:92px;padding-bottom:92px}
  .home-impact .manifesto{gap:34px}
  .home-impact .manifesto__image{aspect-ratio:4/3;box-shadow:0 18px 42px rgba(0,0,0,.11)}
  .projects-map-section--home .projects-map-heading .lead{font-size:15px}
  .projects-map-section--interactive .argentina-map{min-height:540px}
  .argentina-map__coordinates{top:14px;right:14px;font-size:8px}
  .argentina-map__particle:nth-child(n+8){display:none}
  .project-map-roster{max-height:230px}
  .chat-panel{right:6px;bottom:max(66px,calc(env(safe-area-inset-bottom) + 58px));width:calc(100vw - 12px);height:min(760px,calc(100dvh - 74px - env(safe-area-inset-bottom)));border-radius:10px 10px 0 0;overflow:hidden}
  .chat-messages{overscroll-behavior:contain}
  .chat-actions{display:flex;max-width:100%;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.chat-actions::-webkit-scrollbar{display:none}
  .chat-chip{flex:0 0 auto;white-space:nowrap}
}
@media(max-width:390px){
  .home-impact .manifesto__image{aspect-ratio:1.08/1}
  .argentina-map__coordinates{letter-spacing:.06em}
  .chat-head{padding:12px}.chat-messages{padding:12px}.chat-message{max-width:95%}
}
@media(prefers-reduced-motion:reduce){
  .argentina-map__atmosphere::before,.argentina-map__atmosphere::after,.argentina-map__particle,.projects-map-section--interactive .argentina-map__grid{animation:none!important}
}

/* ===== V21 · mapa con zoom, estabilidad y prevención de desbordes ===== */
.service-wide{grid-template-columns:clamp(54px,5vw,78px) minmax(250px,.82fr) minmax(280px,1fr) auto;gap:clamp(18px,2.4vw,42px)}
.service-wide>*{min-width:0}.service-wide h3{font-size:clamp(28px,3vw,52px);line-height:.92;text-wrap:balance}.service-wide p{max-width:58ch;overflow-wrap:break-word}

.site-rail .rail-menu{position:relative;display:block!important}
.site-rail .menu-toggle::before,.site-rail .menu-toggle::after,.site-rail .menu-toggle>span{position:absolute;left:50%;margin:0;transform:translateX(-50%)}
.site-rail .menu-toggle::before{top:calc(50% - 24px)}.site-rail .menu-toggle>span{top:calc(50% - 16px)}.site-rail .menu-toggle::after{top:calc(50% - 8px)}
.site-rail .menu-toggle small{position:absolute;left:50%;top:calc(50% + 9px);margin:0;transform:translateX(-50%);white-space:nowrap}
.site-rail .menu-toggle.is-open::before{top:calc(50% - 15px);transform:translateX(-50%) rotate(45deg)}
.site-rail .menu-toggle.is-open::after{top:calc(50% - 15px);transform:translateX(-50%) rotate(-45deg)}
.site-rail .menu-toggle.is-open>span{opacity:0}
.menu-overlay__primary,.menu-overlay__showcase,.menu-project-links,.menu-overlay__primary nav a,.menu-overlay__primary nav a b{min-width:0}
.menu-overlay__primary nav a b{overflow-wrap:break-word;text-wrap:balance}

.projects-track{transform:translateZ(0);backface-visibility:hidden}
.project-card,.project-cover__media{contain:layout paint}.project-card img,.project-card video{backface-visibility:hidden}
.project-progress__fill,.scroll-progress span{width:100%;transform:scaleX(0);transform-origin:left center;will-change:transform}
.gallery-track{contain:layout paint style}.gallery-track[data-video-first]{overflow-anchor:none}.gallery-track[data-video-first] .gallery-item{overflow-anchor:none}.gallery-item{content-visibility:auto;contain-intrinsic-size:720px 520px}
.gallery-item--video{cursor:default;background:#050505;content-visibility:visible}.gallery-item--video video{display:block;width:100%;height:100%;object-fit:contain;background:#050505;transform:translateZ(0)}.gallery-item--video:hover video{transform:translateZ(0)}.gallery-item--video .gallery-caption{pointer-events:none}.gallery-track:has(video:focus-visible){scroll-snap-type:none}

/* Commercial journeys · Acquaviva, Grottammare and Contact */
.development-cta{padding:clamp(70px,9vw,128px) 0;background:#d0bd93;color:#111;border-top:1px solid rgba(0,0,0,.16)}
.development-cta__layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.62fr);gap:clamp(45px,8vw,130px);align-items:end}
.development-cta__layout>div:first-child>p:last-child{max-width:720px;font-size:clamp(16px,1.35vw,22px);line-height:1.55}
.development-cta__actions{display:grid;gap:12px}.development-cta__actions .btn{justify-content:space-between;width:100%}
.btn--outline{border:1px solid currentColor;background:transparent;color:inherit}.btn--outline:hover,.btn--outline:focus-visible{background:#111;color:#fff}
.lead-capture-section{padding:clamp(80px,10vw,145px) 0;background:#151515;color:#fff}
.lead-capture__layout{display:grid;grid-template-columns:minmax(0,.78fr) minmax(360px,1fr);gap:clamp(55px,9vw,150px);align-items:start}
.lead-capture__copy>p:not(.eyebrow){max-width:600px;color:rgba(255,255,255,.68);font-size:clamp(16px,1.3vw,21px);line-height:1.65;margin-bottom:34px}
.lead-capture__form.contact-form--panel{background:#f2f0eb;color:#111;border:0;padding:clamp(25px,4vw,55px)}
.lead-capture__form .form-status{color:#333}.lead-capture__form .btn--light{background:#111;color:#fff}
.contact-paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line-light);border:1px solid var(--line-light);margin:42px 0}
.contact-path{position:relative;display:grid;grid-template-columns:1fr auto;gap:8px 18px;text-align:left;min-height:150px;padding:24px;border:0;background:#fff;color:#111;cursor:pointer;transition:background .3s,color .3s}
.contact-path small{grid-column:1/-1;text-transform:uppercase;letter-spacing:.14em;color:#777;font-size:8px}.contact-path strong{font-family:Genos,sans-serif;font-size:clamp(24px,2.1vw,36px);line-height:.95;text-transform:uppercase;font-weight:500}.contact-path span{align-self:end;font-size:24px}
.contact-path:hover,.contact-path:focus-visible,.contact-path.is-active{background:#111;color:#fff;outline:0}.contact-path.is-active small{color:rgba(255,255,255,.58)}
.contact-route-panel{animation:contactPanelIn .45s var(--ease) both}.contact-route-panel[hidden]{display:none}.contact-route-panel>h2{font-family:Genos,sans-serif;font-size:clamp(34px,4vw,58px);line-height:.95;text-transform:uppercase;font-weight:500;margin:0 0 14px}.contact-route-panel>p{max-width:680px;color:#666;margin:0 0 28px;line-height:1.6}
.contact-route-actions{display:flex;flex-wrap:wrap;gap:12px}.form-status{min-height:1.4em;line-height:1.5}.form-status.is-success{color:#2d6641}.form-status.is-error{color:#9a3128}
@keyframes contactPanelIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* Every project stop keeps its complete mobile composition inside the viewport. */
@media(max-width:980px){
  .development-cta__layout,.lead-capture__layout{grid-template-columns:1fr}.lead-capture__copy{max-width:720px}
  .projects-horizontal__sticky{padding-inline:max(10px,env(safe-area-inset-left));background:var(--paper)}
  .projects-track{gap:12px;padding:12px 0;will-change:transform}
  .project-card.project-cover{flex:0 0 calc(100vw - max(20px,env(safe-area-inset-left) + env(safe-area-inset-right)));width:auto;max-width:none;height:calc(100svh - 24px);border-radius:0}
  .project-cover__top{top:calc(var(--header) + clamp(14px,2.6svh,24px));left:clamp(18px,5vw,32px);right:clamp(18px,5vw,32px)}
  .project-cover__content{left:clamp(18px,5vw,32px);right:clamp(18px,5vw,32px);bottom:clamp(30px,7svh,62px)}
  .project-cover__content h3{max-width:100%;overflow-wrap:anywhere}
}
@media(max-width:640px){
  .contact-paths{grid-template-columns:1fr}.contact-path{min-height:116px}.contact-route-panel .contact-form{padding:22px 18px}
  .development-cta__actions,.contact-route-actions{display:grid}.development-cta__actions .btn,.contact-route-actions .btn{width:100%}
  .lead-capture__form.contact-form--panel{padding:24px 18px}.lead-capture__copy .display{font-size:clamp(44px,13vw,66px)}
  .project-card.project-cover{flex-basis:calc(100vw - max(20px,env(safe-area-inset-left) + env(safe-area-inset-right)));height:calc(100svh - 20px)}
  .project-cover__top{top:calc(var(--header) + 14px);left:18px;right:18px}.project-cover__content{left:18px;right:18px;bottom:max(28px,env(safe-area-inset-bottom))}
  .project-cover__content h3{font-size:clamp(43px,13.4vw,66px);line-height:.82}.project-cover__content .eyebrow{font-size:8px}
}

.projects-map-tabs{flex-wrap:wrap;align-items:stretch}.projects-map-tabs button{min-height:44px}
.projects-map-section--interactive .argentina-map__canvas{
  --map-zoom:1;
  z-index:2;
  transform:translate3d(calc(-50% + var(--map-pan-x,0px)),var(--map-pan-y,0px),0) scale(var(--map-zoom));
  transform-origin:50% 50%;
  transition:transform .82s cubic-bezier(.22,1,.36,1);
  will-change:transform;
  contain:layout paint;
}
.argentina-map__zoom{position:absolute;z-index:7;left:20px;top:20px;display:flex;align-items:center;background:rgba(8,8,8,.72);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(8px)}
.argentina-map__zoom button{height:34px;min-width:34px;padding:0 9px;border:0;border-right:1px solid rgba(255,255,255,.15);background:transparent;color:#fff;cursor:pointer;font-size:16px;line-height:1}.argentina-map__zoom button:last-child{border-right:0;font-size:7px;letter-spacing:.12em;text-transform:uppercase}.argentina-map__zoom button:hover,.argentina-map__zoom button:focus-visible{background:#fff;color:#111;outline:0}
.project-hotspot[data-map-group="history"]{width:24px;height:24px;border-color:rgba(255,255,255,.58);animation:none!important}.project-hotspot[data-map-group="history"] span{font-size:9px}.project-hotspot[data-map-group="history"]::after{inset:-4px}
.projects-map-section--interactive .project-hotspot{transform:translate(-50%,-50%) scale(var(--map-hotspot-scale,1));touch-action:manipulation}
.projects-map-section--interactive .project-hotspot:hover,.projects-map-section--interactive .project-hotspot:focus-visible,.projects-map-section--interactive .project-hotspot.active{transform:translate(-50%,-50%) scale(calc(var(--map-hotspot-scale,1) * 1.18))}
.projects-map-section--interactive .project-hotspot.active{z-index:7}
.project-map-connector[data-map-line-group="history"]{opacity:.36}.project-map-connector[data-map-line-group="history"] line{animation:none!important;stroke-dasharray:2 4}
.project-map-panel h3{font-size:clamp(30px,2.7vw,43px);line-height:.94;max-width:19ch!important;overflow-wrap:normal;text-wrap:balance}
.project-map-panel__place{max-width:100%;overflow-wrap:anywhere}
.project-map-panel.is-history>small{margin-bottom:42px}.project-map-panel.is-history h3{margin-bottom:14px}.project-map-panel.is-history .project-map-panel__actions{margin-top:20px}.project-map-panel.is-history [data-map-location]{background:#fff;color:#111;border-color:#fff}
.project-map-roster{max-height:320px;overscroll-behavior:contain;scrollbar-width:thin}.project-map-roster button{grid-template-columns:42px minmax(0,1fr)}.project-map-roster button b{min-width:0;overflow-wrap:break-word}

@media(max-width:1440px) and (min-width:981px){
  .service-wide{grid-template-columns:56px minmax(230px,.8fr) minmax(270px,1fr) auto;gap:20px;padding-left:calc(var(--rail) + 48px);padding-right:48px}
  .service-wide h3{font-size:clamp(31px,2.75vw,44px)}.service-wide p{font-size:15px;line-height:1.55}
  .menu-overlay__inner{grid-template-columns:minmax(310px,.72fr) minmax(390px,1.1fr);gap:42px}.menu-overlay__primary nav a b{font-size:clamp(42px,5vw,72px)}
}
@media(max-width:980px){
  .service-wide{grid-template-columns:62px minmax(0,1fr)}.service-wide p,.service-wide a{grid-column:2}
  .site-rail .menu-toggle::before{top:18px}.site-rail .menu-toggle>span{top:26px}.site-rail .menu-toggle::after{top:34px}.site-rail .menu-toggle.is-open::before,.site-rail .menu-toggle.is-open::after{top:26px}
  .menu-overlay__inner{overflow-x:hidden}.menu-overlay__primary nav a b{overflow-wrap:anywhere}
}
@media(max-width:640px){
  .service-wide{grid-template-columns:42px minmax(0,1fr);gap:14px;padding:28px 20px}.service-wide h3{font-size:clamp(27px,8.4vw,36px);line-height:.94}.service-wide p{font-size:14px;line-height:1.55}.service-wide a{justify-self:start;white-space:normal}
  .menu-overlay__inner{padding-left:18px;padding-right:18px}.menu-overlay__primary nav a{grid-template-columns:30px minmax(0,1fr);gap:6px}.menu-overlay__primary nav a b{font-size:clamp(36px,11.5vw,54px);line-height:.86}
  .projects-map-tabs{grid-template-columns:1fr 1fr}.projects-map-tabs [data-map-filter="history"],.projects-map-tour{grid-column:1/-1}
  .argentina-map__zoom{left:12px;top:12px}.argentina-map__zoom button{height:32px;min-width:32px}
  .projects-map-section--interactive .argentina-map__canvas{max-width:104%}.project-hotspot[data-map-group="history"]{width:21px;height:21px}.project-hotspot[data-map-group="history"] span{font-size:8px}
  .project-map-panel h3{font-size:clamp(29px,8.8vw,39px);max-width:100%!important}.project-map-roster{max-height:260px}
}
@media(prefers-reduced-motion:reduce){.projects-map-section--interactive .argentina-map__canvas{transform:translate3d(calc(-50% + var(--map-pan-x,0px)),var(--map-pan-y,0px),0) scale(var(--map-zoom,1));transition:none;will-change:auto}}

/* ===== V22 · documentos y planos dentro del asistente ===== */
.chat-actions--documents{display:grid!important;grid-template-columns:1fr;width:min(100%,540px);max-width:100%;gap:7px;overflow:visible!important;padding:0!important}
.chat-document{display:grid;grid-template-columns:42px minmax(0,1fr) 22px;align-items:center;gap:11px;width:100%;min-height:68px;padding:10px 11px;border:1px solid rgba(0,0,0,.15);background:#fff;color:#111;transition:background .22s,color .22s,border-color .22s,transform .22s}
.chat-document:hover,.chat-document:focus-visible{background:#111;color:#fff;border-color:#111;transform:translateY(-1px);outline:0}
.chat-document__icon{width:40px;height:40px;display:grid;place-items:center;border:1px solid currentColor;font-family:Genos,sans-serif;font-size:12px;font-weight:600;letter-spacing:.08em}
.chat-document__info{display:flex;min-width:0;flex-direction:column;gap:4px}.chat-document__info strong{font-family:Genos,sans-serif;font-size:16px;line-height:1.05;font-weight:600;text-transform:uppercase}.chat-document__info small{color:#666;font-size:10px;line-height:1.35;letter-spacing:.02em}.chat-document:hover .chat-document__info small,.chat-document:focus-visible .chat-document__info small{color:rgba(255,255,255,.7)}
.chat-document__arrow{justify-self:end;font-size:17px}.chat-document--primary{border-color:#111}
@media(max-width:640px){.chat-actions--documents{display:grid!important;overflow:visible!important}.chat-document{grid-template-columns:38px minmax(0,1fr) 18px;min-height:64px;padding:9px}.chat-document__icon{width:36px;height:36px;font-size:10px}.chat-document__info strong{font-size:15px}.chat-document__info small{font-size:9px}}

/* ===== V23 · expansión cinematográfica en la segunda sección ===== */
.home-impact--scroll{
  --impact-x:4%;--impact-y:8%;--impact-width:43%;--impact-height:84%;
  --impact-copy-opacity:1;--impact-copy-shift:0px;--impact-media-scale:1.055;
  --impact-guide-opacity:1;--impact-progress:0;
  position:relative;height:240svh;padding:0;overflow:clip;background:var(--paper);color:var(--ink)
}
.home-impact__sticky{position:sticky;top:0;width:calc(100% - var(--rail));height:100svh;margin-left:var(--rail);overflow:hidden;background:var(--paper)}
.home-impact__stage{position:relative;width:100%;height:100%;overflow:hidden;background:var(--paper);isolation:isolate}
.home-impact__media{position:absolute;z-index:2;left:var(--impact-x);top:var(--impact-y);width:var(--impact-width);height:var(--impact-height);margin:0;overflow:hidden;background:#111;box-shadow:0 28px 80px rgba(0,0,0,.16);will-change:left,top,width,height}
.home-impact__media video{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;transform:translateZ(0) scale(var(--impact-media-scale));transform-origin:center;will-change:transform}
.home-impact__media-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.07),transparent 48%,rgba(0,0,0,.34))}
.home-impact__media::after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.24);pointer-events:none}
.home-impact__media figcaption{position:absolute;z-index:2;left:20px;right:20px;bottom:18px;display:flex;justify-content:space-between;gap:24px;color:#fff;font-size:8px;line-height:1.3;letter-spacing:.16em;text-transform:uppercase;opacity:var(--impact-guide-opacity);text-shadow:0 1px 14px rgba(0,0,0,.7)}
.home-impact__copy{position:absolute;z-index:1;left:53%;right:clamp(38px,5vw,96px);top:50%;transform:translate3d(var(--impact-copy-shift),-50%,0);opacity:var(--impact-copy-opacity);will-change:transform,opacity}
.home-impact__copy .eyebrow{margin-bottom:clamp(24px,3.2vw,44px)}
.home-impact__copy .display{max-width:700px;font-size:clamp(47px,4.8vw,90px);line-height:.79;text-wrap:balance}
.home-impact__copy>p:last-child{max-width:48ch;margin:clamp(30px,4vw,58px) 0 0;font-size:clamp(15px,1.18vw,21px);line-height:1.62}
.home-impact__progress{position:absolute;z-index:3;right:clamp(24px,3vw,56px);bottom:22px;display:grid;grid-template-columns:auto minmax(70px,11vw) auto;align-items:center;gap:12px;color:rgba(11,11,11,.54);font-family:Genos,sans-serif;font-size:10px;letter-spacing:.12em;opacity:var(--impact-guide-opacity)}
.home-impact__progress i{height:1px;overflow:hidden;background:rgba(11,11,11,.22)}.home-impact__progress b{display:block;width:100%;height:100%;background:#111;transform:scaleX(var(--impact-progress));transform-origin:left}
.home-impact--scroll.is-video-error .home-impact__media{background:#111 url('../images/inicio-impacto-v16.webp') center/cover no-repeat}.home-impact--scroll.is-video-error video{opacity:0}

@media(max-width:980px){
  .home-impact--scroll{height:205svh}
  .home-impact__sticky{width:100%;margin-left:0}
  .home-impact__copy{left:var(--pad);right:var(--pad);top:auto;bottom:9svh;transform:translate3d(0,var(--impact-copy-shift),0)}
  .home-impact__copy .display{max-width:760px;font-size:clamp(45px,8.5vw,78px)}
  .home-impact__copy>p:last-child{max-width:62ch;margin-top:24px;font-size:clamp(14px,2vw,18px)}
}
@media(max-width:640px){
  .home-impact--scroll{height:185svh}
  .home-impact__copy{left:20px;right:20px;bottom:7svh}
  .home-impact__copy .eyebrow{margin-bottom:18px;font-size:8px}
  .home-impact__copy .display{font-size:clamp(39px,12vw,58px);line-height:.82}
  .home-impact__copy>p:last-child{display:-webkit-box;margin-top:20px;font-size:13px;line-height:1.55;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
  .home-impact__media figcaption{left:12px;right:12px;bottom:11px;font-size:6px;letter-spacing:.11em}.home-impact__media figcaption span:last-child{display:none}
  .home-impact__progress{right:20px;bottom:13px;grid-template-columns:auto 64px auto;font-size:8px}
}
@media(prefers-reduced-motion:reduce){
  .home-impact--scroll{height:auto;padding:clamp(92px,10vw,150px) 0}
  .home-impact__sticky{position:relative;width:100%;height:auto;margin-left:0;overflow:visible}
  .home-impact__stage{display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,.7fr);gap:clamp(36px,6vw,90px);align-items:center;width:min(100%,1600px);height:auto;min-height:0;margin:0 auto;padding-left:calc(var(--rail) + var(--pad));padding-right:var(--pad);overflow:visible}
  .home-impact__media{position:relative;left:auto;top:auto;width:100%;height:auto;min-height:480px;aspect-ratio:1.2/1;grid-column:1;grid-row:1;box-shadow:0 24px 64px rgba(0,0,0,.13);will-change:auto}
  .home-impact__media video{transform:none;will-change:auto}.home-impact__media figcaption{opacity:1}
  .home-impact__copy{position:relative;left:auto;right:auto;top:auto;bottom:auto;grid-column:2;grid-row:1;transform:none;opacity:1;will-change:auto}
  .home-impact__progress{display:none}
}
@media(max-width:980px) and (prefers-reduced-motion:reduce){
  .home-impact__stage{grid-template-columns:1fr;padding:0 var(--pad)}
  .home-impact__media{grid-column:1;grid-row:1;min-height:0;aspect-ratio:16/10}
  .home-impact__copy{grid-column:1;grid-row:2}
}

/* ===== V33 · mapa gris piedra, clusters y navegación suavizada ===== */
.projects-map-section--cartographic .epreco-slippy-map{
  position:relative;min-height:720px;overflow:hidden;isolation:isolate;cursor:grab;touch-action:none;user-select:none;
  border-right:1px solid var(--line-dark);background:#e4e6e2;outline:0
}
.projects-map-section--cartographic .epreco-slippy-map:focus-visible{box-shadow:inset 0 0 0 2px var(--sand)}
.projects-map-section--cartographic .epreco-slippy-map.is-dragging{cursor:grabbing}
.epreco-map__fallback,.epreco-map__google,.epreco-map__tiles,.epreco-map__shade,.epreco-map__markers{position:absolute;inset:0}
.epreco-map__fallback{z-index:0;background-color:#e4e6e2;background-image:linear-gradient(rgba(35,51,49,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(35,51,49,.045) 1px,transparent 1px),radial-gradient(circle at 58% 47%,rgba(151,178,171,.17),transparent 48%);background-size:42px 42px,42px 42px,100% 100%}
.epreco-map__google{z-index:1;background:#e4e6e2;opacity:0;transition:opacity .45s ease}
.epreco-map__tiles{z-index:1;overflow:hidden;background:#e4e6e2;transition:filter .35s ease}
.epreco-map__tile{position:absolute;left:0;top:0;width:256px;height:256px;max-width:none;pointer-events:none;filter:saturate(.78) contrast(1.035) brightness(.985);opacity:1;transform-origin:0 0;will-change:transform}
.epreco-map__shade{z-index:2;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.025),transparent 25%,transparent 78%,rgba(35,51,49,.045));box-shadow:inset 0 0 42px rgba(35,51,49,.055)}
.epreco-slippy-map.is-view-animating .epreco-map__tiles{filter:brightness(1.01)}
.epreco-slippy-map.is-google-map .epreco-map__google{opacity:1}.epreco-slippy-map.is-google-map .epreco-map__tiles{display:none}
.epreco-map__markers{z-index:3;overflow:hidden;pointer-events:none}
.epreco-map-marker,.epreco-map-cluster,.epreco-map-spider__origin{position:absolute;left:var(--marker-x);top:var(--marker-y);transform:translate(-50%,-50%)}
.epreco-map-marker,.epreco-map-cluster{pointer-events:auto;display:grid;place-items:center;margin:0;border-radius:50%;cursor:pointer;color:#fff;transition:width .22s,height .22s,background .22s,border-color .22s,color .22s,box-shadow .22s,transform .22s;backdrop-filter:blur(8px)}
.epreco-map-marker{z-index:3;width:38px;height:38px;padding:0;border:1px solid rgba(255,255,255,.76);background:rgba(11,12,12,.9);box-shadow:0 5px 17px rgba(0,0,0,.5);font-family:Genos,sans-serif;font-size:12px;font-weight:600;line-height:1}
.epreco-map-marker[data-map-group="history"]{width:34px;height:34px;font-size:10px;background:rgba(14,15,15,.92)}
.epreco-map-marker::after{content:attr(data-map-tooltip);position:absolute;left:50%;bottom:calc(100% + 11px);width:max-content;max-width:230px;padding:8px 10px;border:1px solid rgba(0,0,0,.18);background:#f3f2ee;color:#111;box-shadow:0 12px 28px rgba(0,0,0,.38);font-family:Manrope,sans-serif;font-size:8px;font-weight:600;line-height:1.35;letter-spacing:.055em;text-align:left;text-transform:uppercase;opacity:0;pointer-events:none;transform:translate(-50%,6px);transition:opacity .2s,transform .2s}
.epreco-map-marker:hover,.epreco-map-marker:focus-visible{z-index:8;transform:translate(-50%,-50%) scale(1.12);border-color:var(--sand);outline:0}
.epreco-map-marker:hover::after,.epreco-map-marker:focus-visible::after{opacity:1;transform:translate(-50%,0)}
.epreco-map-marker.active{z-index:7;width:47px;height:47px;border:2px solid #fff;background:var(--sand);color:#111;box-shadow:0 0 0 9px rgba(200,183,149,.13),0 10px 34px rgba(0,0,0,.54)}
.epreco-map-marker.active::before{content:"";position:absolute;inset:-11px;border:1px solid rgba(200,183,149,.68);border-radius:50%;animation:eprecoMapPulse 1.9s ease-out infinite}
.epreco-map-marker--spider{animation:eprecoMapReveal .36s cubic-bezier(.2,.75,.3,1) both}
.epreco-map-cluster{z-index:4;width:58px;height:58px;padding:0;border:1px solid rgba(200,183,149,.82);background:rgba(12,13,13,.9);box-shadow:0 0 0 7px rgba(200,183,149,.08),0 12px 32px rgba(0,0,0,.58);grid-template-rows:1fr auto;align-content:center;gap:0}
.epreco-map-cluster span{font-family:Genos,sans-serif;font-size:22px;line-height:.8;color:#fff}.epreco-map-cluster small{font-size:5px;line-height:1;letter-spacing:.18em;color:var(--sand)}
.epreco-map-cluster::after{content:"ABRIR";position:absolute;left:50%;top:calc(100% + 8px);padding:5px 7px;background:#f3f2ee;color:#111;font-size:6px;letter-spacing:.13em;opacity:0;transform:translate(-50%,4px);transition:opacity .2s,transform .2s}
.epreco-map-cluster:hover,.epreco-map-cluster:focus-visible{transform:translate(-50%,-50%) scale(1.1);background:var(--sand);border-color:#fff;outline:0}.epreco-map-cluster:hover span,.epreco-map-cluster:focus-visible span,.epreco-map-cluster:hover small,.epreco-map-cluster:focus-visible small{color:#111}.epreco-map-cluster:hover::after,.epreco-map-cluster:focus-visible::after{opacity:1;transform:translate(-50%,0)}
.epreco-map-cluster.active{border:2px solid #fff;background:var(--sand);box-shadow:0 0 0 11px rgba(200,183,149,.12),0 12px 36px rgba(0,0,0,.55)}.epreco-map-cluster.active span,.epreco-map-cluster.active small{color:#111}
.epreco-map-spider{position:absolute;inset:0;overflow:visible;pointer-events:none}.epreco-map-spider line{stroke:rgba(200,183,149,.72);stroke-width:1;stroke-dasharray:3 4;vector-effect:non-scaling-stroke}.epreco-map-spider__origin{z-index:2;width:10px;height:10px;border:2px solid var(--sand);border-radius:50%;background:#111;box-shadow:0 0 0 7px rgba(200,183,149,.12)}
.projects-map-section--cartographic .argentina-map__zoom{z-index:8;left:20px;top:20px}.projects-map-section--cartographic .argentina-map__zoom button:last-child{min-width:74px}
.projects-map-section--cartographic .argentina-map__coordinates{z-index:8;right:20px;top:20px;white-space:nowrap}
.projects-map-section--cartographic .argentina-map__label,.projects-map-section--cartographic .argentina-map__source{z-index:8;bottom:18px;text-shadow:0 1px 8px rgba(255,255,255,.8)}
.projects-map-section--cartographic .argentina-map__source{right:20px;padding:5px 7px;border:1px solid rgba(0,0,0,.12);background:rgba(255,255,255,.78);font-size:6px;letter-spacing:.08em;color:rgba(17,17,17,.68)}.projects-map-section--cartographic .argentina-map__source a{color:inherit}.projects-map-section--cartographic .argentina-map__source a:hover{text-decoration:underline;color:#111}
.projects-map-section--cartographic .argentina-map__label{left:20px;color:rgba(17,17,17,.68)}
.projects-map-section--cartographic .project-map-roster button.active{border-left:2px solid var(--sand)}
.projects-map-section--cartographic .project-map-panel h3{overflow-wrap:break-word;word-break:normal}
.projects-map-section--cartographic .epreco-slippy-map.is-focusing .epreco-map__shade{animation:eprecoMapFocus .62s ease-out}
@keyframes eprecoMapPulse{0%{opacity:.9;transform:scale(.76)}100%{opacity:0;transform:scale(1.42)}}
@keyframes eprecoMapReveal{from{opacity:0;transform:translate(-50%,-50%) scale(.5)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes eprecoMapFocus{0%{background-color:rgba(200,183,149,.12)}100%{background-color:transparent}}

@media(max-width:980px){
  .projects-map-section--cartographic .epreco-slippy-map{min-height:650px;border-right:0;border-bottom:1px solid var(--line-dark)}
}
@media(max-width:640px){
  .projects-map-section--cartographic .epreco-slippy-map{min-height:560px}
  .projects-map-section--cartographic .argentina-map__zoom{left:12px;top:12px}.projects-map-section--cartographic .argentina-map__coordinates{top:12px;right:12px;max-width:46%;overflow:hidden;text-overflow:ellipsis}
  .projects-map-section--cartographic .argentina-map__source{right:12px;bottom:10px}.projects-map-section--cartographic .argentina-map__label{left:12px;bottom:12px;max-width:44%;font-size:6px;line-height:1.35}
  .epreco-map-marker::after{display:none}.epreco-map-cluster{width:52px;height:52px}.epreco-map-cluster span{font-size:20px}
}
@media(prefers-reduced-motion:reduce){
  .epreco-map-marker,.epreco-map-cluster,.epreco-map-marker::after{transition:none}.epreco-map-marker.active::before,.epreco-map-marker--spider,.projects-map-section--cartographic .epreco-slippy-map.is-focusing .epreco-map__shade{animation:none!important}
}

/* ===== V42 · fotografías y audiovisuales en recorridos independientes ===== */
.project-films-section{padding:clamp(88px,10vw,150px) var(--pad);background:#090909;color:#fff;border-top:1px solid rgba(255,255,255,.14)}
.project-films-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin:0 auto clamp(38px,5vw,70px);max-width:1580px}
.project-films-head .eyebrow{color:rgba(255,255,255,.62)}
.project-films-head .display{max-width:820px;margin:0;color:#fff}
.project-films-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2vw,30px);max-width:1580px;margin:0 auto}
.project-films-section--single .project-films-grid{grid-template-columns:minmax(0,1fr);max-width:1180px}
.project-film-card{min-width:0;margin:0;background:#050505;border:1px solid rgba(255,255,255,.16)}
.project-film-card video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#000;transform:translateZ(0)}
.project-film-card__meta{display:grid;grid-template-columns:42px 1fr;gap:18px;align-items:center;padding:16px 18px;border-top:1px solid rgba(255,255,255,.14);font-size:9px;line-height:1.4;letter-spacing:.11em;text-transform:uppercase;color:rgba(255,255,255,.68)}
.project-film-card__meta span{font-family:Genos,sans-serif;font-size:16px;color:var(--sand)}
.project-film-card__meta p{margin:0}
@media(max-width:800px){
  .project-films-section{padding:72px 20px}.project-films-head{display:block}.project-films-head .display{margin-top:22px}.project-films-grid{grid-template-columns:1fr}.project-film-card__meta{padding:13px 14px}
}
/* ===== V43 · Acquaviva: encuadre nítido y número visible en escritorio ===== */
@media (min-width:981px){
  .projects-horizontal .projects-track > .project-card.project-cover:first-child .project-cover__top{
    left:calc(var(--rail) + 18px);
  }

  .projects-horizontal .projects-track > .project-card.project-cover:first-child .project-cover__content{
    left:calc(var(--rail) + 18px);
  }

  .projects-horizontal .projects-track > .project-card.project-cover:first-child .project-cover__media img{
    object-position:center center;
    transform:none!important;
    will-change:auto;
  }
}

/* ===== V44 · Acquaviva estable con zoom de escritorio al 125% ===== */
@media (min-width:981px){
  .projects-horizontal .projects-track > .project-card.project-cover:first-child .project-cover__content{
    left:calc(var(--rail) + clamp(56px,4vw,84px));
    right:clamp(28px,3vw,54px);
  }

  .projects-horizontal .projects-track > .project-card.project-cover:first-child .project-cover__content > div{
    min-width:0;
    padding-left:clamp(24px,2vw,38px);
    overflow:visible;
  }

  .projects-horizontal .projects-track > .project-card.project-cover:first-child .project-cover__content h3{
    max-width:100%;
    font-size:clamp(56px,6vw,108px);
    line-height:.78;
    letter-spacing:-.045em;
    white-space:nowrap;
  }
}

@media (min-width:981px) and (max-width:1680px){
  .projects-horizontal .projects-track > .project-card.project-cover:first-child .project-cover__content{
    grid-template-columns:minmax(0,1.1fr) minmax(250px,.42fr) auto;
    gap:clamp(22px,3vw,46px);
  }

  .projects-horizontal .projects-track > .project-card.project-cover:first-child .project-cover__content h3{
    font-size:clamp(54px,5.55vw,88px);
  }
}

/* ===== V45 · Zona segura para Acquaviva en monitores pequeños / escala 125% ===== */
@media (min-width:981px){
  .projects-horizontal .projects-track > .project-card.project-cover:first-child .project-cover__content > div:first-child{
    box-sizing:border-box;
    padding-left:clamp(64px,5vw,96px);
  }

  .projects-horizontal .projects-track > .project-card.project-cover:first-child .project-cover__content h3{
    font-size:clamp(50px,5vw,82px);
    line-height:.82;
  }
}

@media (min-width:981px) and (max-width:1500px){
  .projects-horizontal .projects-track > .project-card.project-cover:first-child .project-cover__content{
    left:calc(var(--rail) + 44px);
    grid-template-columns:minmax(0,1fr) minmax(230px,.4fr) auto;
    gap:clamp(18px,2.2vw,34px);
  }

  .projects-horizontal .projects-track > .project-card.project-cover:first-child .project-cover__content > div:first-child{
    padding-left:clamp(72px,6vw,104px);
  }

  .projects-horizontal .projects-track > .project-card.project-cover:first-child .project-cover__content h3{
    font-size:clamp(48px,4.6vw,70px);
  }
}
