@charset "UTF-8";
:root{--navy:#102736;--navy2:#173746;--paper:#f8f8f4;--white:#fff;--sky:#e9f3f4;--emerald:#194f42;--mint:#b9d9c6;--brown:#a06f53;--line:#dce4e1;--ink:#122a32;--muted:#536268}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{text-decoration:none}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #9be0c4;outline-offset:4px}button{font:inherit;cursor:pointer}img,video{display:block;max-width:100%}h1,h2,h3,p,figure{margin:0}p{line-height:1.6}.skip{position:absolute;left:-9999px;z-index:100;padding:12px 18px;background:#fff}.skip:focus{left:12px;top:12px}.header{position:sticky;top:12px;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:24px;width:min(calc(100% - 36px),1520px);margin:12px auto -78px;min-height:66px;padding:9px 12px 9px 26px;background:#fffffff0;border:1px solid #e4e8e6;border-radius:999px;box-shadow:0 12px 45px #08263316;backdrop-filter:blur(18px)}.brand{font-size:20px;font-weight:820;letter-spacing:-.06em;white-space:nowrap}.brand-dot{color:var(--emerald)}.header nav{display:flex;gap:clamp(15px,2vw,30px)}.header nav a{font-size:13px;font-weight:650;color:#344b50}.header nav a:hover{color:var(--brown)}.header-link{font-size:13px;font-weight:750;border-radius:999px;padding:15px 21px;background:var(--navy);color:#fff;white-space:nowrap}.header-link:hover{background:var(--emerald)}
.hero{min-height:min(850px,100svh);padding:100px clamp(18px,4vw,62px) 22px;background:var(--navy);color:#fff}.hero:after{content:"MONTERREY  →  BARCELONA";display:block;max-width:1500px;margin:24px auto 0;color:#b2c9c6;font-size:11px;font-weight:700;letter-spacing:.17em}.hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(370px,.95fr);gap:clamp(24px,3vw,48px);align-items:stretch}.hero-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(35px,4vw,70px) clamp(12px,3vw,48px);max-width:800px;margin-left:auto}.hero-context{font-size:12px;font-weight:760;letter-spacing:.18em;text-transform:uppercase;color:#bad9c8;margin-bottom:clamp(28px,4vw,60px)}.hero h1{font-size:clamp(59px,6.25vw,106px);line-height:.95;font-weight:720;letter-spacing:-.09em;max-width:880px;margin-bottom:clamp(27px,3vw,47px)}.hero h1 em{font-style:normal;color:#acd3c5}.hero-lede{font-size:clamp(17px,1.5vw,23px);line-height:1.42;max-width:550px;color:#e2eceb;margin-bottom:34px;letter-spacing:-.022em}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:51px;padding:13px 22px;border-radius:999px;font-weight:730;font-size:14px;transition:transform .25s,background .25s,color .25s}.button:hover{transform:translateY(-3px)}.button-dark{background:#fff;color:var(--navy);border:1px solid #fff}.button-dark:hover{background:#d9ece6}.button-outline{color:#fff;border:1px solid #758d91}.button-outline:hover{background:#fff;color:var(--navy)}.hero-locations{font-size:13px;color:#afc4c2;margin-top:48px;letter-spacing:.03em}.hero-photo{position:relative;overflow:hidden;border-radius:34px;background:#33515c;min-height:630px;max-width:760px;width:100%;align-self:center}.hero-photo:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,#0000 60%,#071a2580)}.hero-photo video{width:100%;height:100%;min-height:630px;object-fit:cover;object-position:center 33%}.hero-video-foot{position:absolute;z-index:2;bottom:20px;left:22px;right:20px;display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:670}.hero-video-foot span:before{content:"";display:inline-block;width:7px;height:7px;background:#a7e3bd;border-radius:50%;margin-right:9px;box-shadow:0 0 0 5px #a7e3bd30}.hero-video-foot button{border:1px solid #ffffff85;color:#fff;background:#16333d65;border-radius:999px;padding:8px 12px;font-size:12px}
.section{max-width:1580px;margin:auto;padding:clamp(90px,9vw,150px) clamp(22px,6vw,95px);scroll-margin-top:85px}.section-number{display:block;font-size:12px;letter-spacing:.18em;font-weight:790;text-transform:uppercase;color:var(--emerald);margin-bottom:34px}.section h2{font-size:clamp(49px,5.5vw,88px);font-weight:690;letter-spacing:-.082em;line-height:1.03;max-width:1000px}.section-top{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:clamp(38px,5vw,72px)}.section-top p{font-size:clamp(17px,1.4vw,21px);max-width:580px;color:var(--muted);margin-top:20px}.story{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.42fr);gap:clamp(30px,7vw,120px);background:var(--paper)}.story>.section-number{grid-column:1/-1;margin-bottom:-16px}.story-text p{font-size:clamp(19px,1.7vw,25px);line-height:1.48;max-width:760px;margin-top:26px;letter-spacing:-.023em}.story-card{align-self:center;background:#e6efea;border-radius:32px;padding:34px;display:grid;gap:20px}.story-card img{width:100px;height:100px;object-fit:contain}.story-card strong{font-size:22px;letter-spacing:-.05em}.story-card p{font-size:16px;color:var(--muted);margin-top:12px}.story-card a,.stage a{display:inline-block;color:var(--emerald);font-weight:740;font-size:13px;margin-top:15px;border-bottom:1px solid currentColor;padding-bottom:2px}.photos{max-width:none;background:#e8f0ef}.photos .section-top,.photos .carousel-track,.people .section-top,.people .carousel-track,.films .section-top,.films .carousel-track{max-width:1390px;margin-left:auto;margin-right:auto}.carousel-controls{display:flex;gap:8px}.carousel-controls button{height:46px;width:46px;background:#fff;border:1px solid #c6d9d4;border-radius:50%;font-size:22px;color:var(--navy);transition:transform .2s,background .2s}.carousel-controls button:hover{transform:translateY(-3px);background:#d7e9e0}.carousel-track{display:flex;gap:17px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#acc4bd transparent;padding-bottom:20px}.photo-card{display:block;flex:0 0 clamp(315px,38vw,560px);overflow:hidden;background:#fff;border-radius:26px;scroll-snap-align:start;margin:0}.photo-card img{width:100%;height:clamp(250px,29vw,390px);object-fit:cover;transition:transform .5s}.photo-card:hover img{transform:scale(1.035)}.photo-card>span{display:block;padding:18px 23px}.photo-card strong{font-size:18px;letter-spacing:-.04em}
.career{background:#fff}.career .section-top{align-items:start}.career .section-top p{max-width:520px}.stages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(26px,7vw,100px)}.stage{display:grid;grid-template-columns:112px 1fr;gap:24px;padding:30px 0;border-top:1px solid var(--line);min-width:0}.stage-mark{width:112px;height:112px;display:grid;place-items:center;overflow:hidden;padding:16px;border-radius:24px;background:#f2f6f4}.stage-mark img{width:100%;height:100%;object-fit:contain}.stage-mark:has(img[src*="fime-logo"]){padding:21px}.stage-mark b{font-size:24px;letter-spacing:-.06em}.mark-dark{background:var(--navy);color:#fff}.mark-orange{background:#f1742d;color:#fff}.mark-violet{background:#37447f;color:#fff}.mark-violet b{font-size:18px}.stage time{font-size:12px;letter-spacing:.12em;font-weight:750;color:var(--emerald)}.stage h3{font-size:clamp(25px,2vw,32px);letter-spacing:-.06em;line-height:1.1;margin:10px 0 14px}.stage p{color:var(--muted);font-size:16px}.other-projects{display:flex;align-items:center;gap:24px;margin-top:30px;padding:27px;border-radius:24px;background:#eaf2ee;max-width:900px}.other-projects img{width:110px;height:60px;object-fit:contain;background:var(--navy);padding:12px;border-radius:12px}.other-projects p{font-size:16px;color:var(--muted)}
.places{max-width:none;background:#daeae4;overflow:hidden}.places .section-top,.places .route-map{max-width:1390px;margin-left:auto;margin-right:auto}.route-map{margin-top:50px;background:var(--navy);color:#fff;border-radius:34px;padding:clamp(20px,4vw,55px);overflow:hidden}.route-map svg{width:100%;height:auto;min-width:680px;display:block}.route-grid{stroke:#92aca219;stroke-width:1;fill:none}.route-line{stroke:url(#travel-line);stroke-width:4;fill:none;stroke-dasharray:1800;stroke-dashoffset:1800;transition:stroke-dashoffset 2.5s cubic-bezier(.15,.8,.2,1)}.route-map.is-visible .route-line{stroke-dashoffset:0}.map-dot circle{fill:#bfdfc8;stroke:#183f3d;stroke-width:4}.map-dot text{font-size:16px;fill:#e3efe9;font-weight:650;letter-spacing:-.02em}.map-dot .map-sub{font-size:13px;fill:#b4cec2;font-weight:500}.route-map p{font-size:13px;color:#b4cec2;letter-spacing:.08em;margin-top:20px}
.people{max-width:none;background:var(--paper)}.person-card{flex:0 0 clamp(245px,24vw,320px);scroll-snap-align:start;background:#fff;border-radius:26px;overflow:hidden;min-height:465px;transition:transform .25s,box-shadow .25s}.person-card:hover{transform:translateY(-5px);box-shadow:0 20px 45px #10273616}.person-card img{width:100%;height:255px;object-fit:cover;object-position:center 38%;background:#dce8e5}.person-card--leon img{object-position:center;transform:scale(1.42)}.person-card--sebastian img{object-position:center 53%}.person-card--richard img{object-position:center 10%}.person-card h3{font-size:24px;line-height:1.1;letter-spacing:-.06em;margin:20px 20px 8px}.person-card p{font-size:15px;color:var(--muted);line-height:1.47;margin:0 20px 24px}.people-more{max-width:1390px;margin:22px auto 0;font-size:15px;color:#5c6e71}
.films{max-width:none;background:var(--navy);color:#fff}.films .section-number{color:#aed4c0}.films h2{color:#fff}.films .section-top p{color:#c1d3d1}.films .carousel-controls button{background:#244955;border-color:#486771;color:#fff}.film-card{flex:0 0 clamp(225px,23vw,320px);scroll-snap-align:start;display:block;overflow:hidden;border:0;border-radius:25px;background:#24404c;color:#fff;text-align:left;padding:0}.film-image{position:relative;display:block;overflow:hidden;background:#18303b}.film-image img,.film-image video{width:100%;height:390px;object-fit:cover;transition:transform .4s}.film-image video{position:absolute;inset:0;opacity:0;pointer-events:none}.film-native:hover .film-image video,.film-native:focus-visible .film-image video{opacity:1}.film-card:hover img,.film-card:hover video{transform:scale(1.03)}.film-logo img{object-fit:contain;padding:60px}.play{position:absolute;left:18px;bottom:18px;width:45px;height:45px;display:grid;place-items:center;background:#fff;color:var(--navy);border-radius:50%;font-size:17px;padding-left:2px;z-index:2}.film-copy{display:block;padding:16px 18px 20px;min-height:80px}.film-copy strong{font-size:17px;font-weight:660;letter-spacing:-.03em;line-height:1.25}.results{max-width:none;background:#e9f1eb}.results .section-top,.results .result-grid,.results .brand-title,.results .brand-grid{max-width:1390px;margin-left:auto;margin-right:auto}.result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.result-grid article{background:#fff;border-radius:24px;padding:clamp(24px,3vw,42px);min-height:220px}.result-grid strong{display:block;font-size:clamp(36px,3.5vw,60px);line-height:1;letter-spacing:-.08em;color:var(--emerald);white-space:nowrap;margin-bottom:25px}.result-grid h3{font-size:19px;letter-spacing:-.045em;margin-bottom:10px}.result-grid p{font-size:15px;color:var(--muted)}.brand-title{font-size:32px;letter-spacing:-.07em;margin-top:85px;margin-bottom:28px}.brand-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.brand-tile{padding:23px;border-radius:22px;background:#fff;min-height:175px}.brand-tile img{width:100%;height:80px;object-fit:contain;object-position:center;background:var(--navy);border-radius:14px;padding:15px}.brand-tile p{font-size:14px;color:var(--muted);margin-top:17px}.references{background:#fff}.reference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px}.reference-grid a{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:21px 0;font-size:15px}.reference-grid a:hover{color:var(--emerald)}.reference-grid strong{font-size:17px;letter-spacing:-.04em}.reference-grid span{text-align:right;color:var(--muted);font-size:14px;max-width:230px}.reference-note{font-size:15px;color:var(--muted);margin-top:32px}
footer{min-height:440px;background:var(--emerald);color:#fff;padding:clamp(70px,8vw,120px) clamp(22px,6vw,95px);display:flex;justify-content:space-between;align-items:end;gap:32px}footer p{font-size:clamp(42px,5vw,82px);font-weight:650;line-height:1.05;letter-spacing:-.08em;max-width:850px;margin-bottom:28px}footer strong{font-size:14px;font-weight:600;color:#b8dac5}.footer-actions{display:flex;gap:13px;flex-wrap:wrap}.footer-actions a{border:1px solid #ffffff75;border-radius:999px;padding:14px 19px;font-size:14px;font-weight:700;white-space:nowrap}.footer-actions a:first-child{background:#fff;color:var(--emerald)}.video-dialog{border:0;padding:0;background:#081b22;border-radius:24px;max-width:min(94vw,900px);max-height:90svh;overflow:visible;box-shadow:0 30px 80px #0009}.video-dialog::backdrop{background:#001016c9;backdrop-filter:blur(8px)}.video-dialog video{max-width:100%;max-height:88svh;border-radius:24px}.dialog-close{position:absolute;right:-16px;top:-16px;width:43px;height:43px;border:0;border-radius:50%;font-size:27px;background:#fff;color:var(--navy);z-index:2}
@media(max-width:1100px){.header nav{display:none}.hero{grid-template-columns:1fr .85fr}.hero h1{font-size:clamp(53px,6.8vw,76px)}.hero-photo,.hero-photo video{min-height:550px}.stages{gap:0 32px}.stage{grid-template-columns:90px 1fr;gap:16px}.stage-mark{width:90px;height:90px}.brand-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.header{top:8px;width:calc(100% - 20px);margin:8px auto -66px;min-height:58px;padding:7px 8px 7px 18px}.brand{font-size:18px}.header-link{padding:12px 14px}.hero{display:flex;flex-direction:column;padding:80px 14px 18px;gap:20px;min-height:0}.hero-copy{margin:0;padding:45px 15px 30px}.hero-context{margin-bottom:28px}.hero h1{font-size:clamp(53px,11vw,76px);margin-bottom:25px}.hero-lede{font-size:19px}.hero-photo{width:100%;max-width:none;min-height:0;height:78vw;max-height:590px;border-radius:26px}.hero-photo video{min-height:0;height:100%;object-position:center 30%}.hero:after{margin:0 14px 10px;font-size:10px}.hero-locations{margin-top:29px}.section{padding:90px 22px;scroll-margin-top:70px}.section h2{font-size:clamp(46px,10vw,70px)}.section-number{margin-bottom:26px}.section-top{align-items:start;flex-direction:column}.section-top p{font-size:18px}.story{grid-template-columns:1fr;gap:30px}.story>.section-number{margin-bottom:0}.story-text p{font-size:19px;margin-top:18px}.story-card{max-width:450px}.photo-card{flex-basis:84vw}.photo-card img{height:250px}.stages{grid-template-columns:1fr}.stage{grid-template-columns:82px 1fr;padding:25px 0}.stage-mark{width:82px;height:82px;border-radius:19px}.places{padding-left:0;padding-right:0}.places .section-top{padding:0 22px}.route-map{border-radius:0;overflow-x:auto;padding:28px 22px}.route-map svg{width:1300px}.route-map p{white-space:nowrap}.person-card{flex-basis:70vw;min-height:410px}.person-card img{height:220px}.people-more{font-size:14px}.film-card{flex-basis:65vw}.film-image img,.film-image video{height:360px}.result-grid{grid-template-columns:repeat(2,1fr)}.reference-grid{grid-template-columns:1fr}.reference-grid a{flex-direction:column;gap:5px}.reference-grid span{text-align:left;max-width:none}footer{min-height:0;flex-direction:column;align-items:start}}
@media(max-width:480px){.hero h1{font-size:clamp(48px,11vw,62px)}.hero-photo{height:95vw}.hero-actions{align-items:stretch}.button{font-size:13px}.section{padding:76px 19px}.section h2{font-size:45px}.photo-card{flex-basis:86vw}.person-card{flex-basis:79vw}.film-card{flex-basis:72vw}.result-grid{grid-template-columns:1fr}.result-grid article{min-height:0}.brand-grid{gap:8px}.brand-tile{padding:12px;min-height:165px}.brand-tile img{height:65px;padding:10px}.brand-tile p{font-size:12px}.stage{grid-template-columns:72px 1fr;gap:14px}.stage-mark{width:72px;height:72px;padding:10px}.stage-mark:has(img[src*="fime-logo"]){padding:13px}.stage h3{font-size:23px}.stage p{font-size:15px}.other-projects{align-items:start}.other-projects img{width:74px;flex:none}.other-projects p{font-size:14px}footer p{font-size:44px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}.route-line{stroke-dashoffset:0}}
@media print{.header,.carousel-controls,.hero-actions,.play,.video-dialog{display:none!important}.hero{min-height:0;display:block;color:#000;background:#fff}.hero-photo{height:200px;width:250px}.hero-photo video{display:none}.section{padding:25px 0}.carousel-track{overflow:visible;flex-wrap:wrap}.photo-card,.film-card,.person-card{flex:0 0 28%;break-inside:avoid}.result-grid article,.stage{break-inside:avoid}}
.footer-photo{width:105px;height:105px;object-fit:cover;border-radius:50%;margin-bottom:35px;border:3px solid #b9d9c6}
.lessons{margin-top:clamp(64px,8vw,120px)}.lessons h3{font-size:clamp(32px,3vw,48px);letter-spacing:-.065em;line-height:1.08;margin-bottom:30px}.lesson-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.lesson-grid p{display:flex;flex-direction:column;gap:18px;background:#eaf2ee;padding:26px;border-radius:24px;min-height:210px}.lesson-grid strong{font-size:19px;letter-spacing:-.04em}.lesson-grid span{font-size:15px;line-height:1.45;color:var(--muted)}@media(max-width:1100px){.lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.lesson-grid{grid-template-columns:1fr}.lesson-grid p{min-height:0}}

/* Archivo personal · 2026 */
.hero-archive{display:flex;flex-direction:column;justify-content:flex-end;position:relative;min-height:100svh;padding:110px clamp(18px,4vw,70px) 38px;isolation:isolate;overflow:hidden;border-radius:0 0 42px 42px;background:#102736}
.hero-archive:after{display:none}
.hero-archive:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(5,24,34,.10) 0%,rgba(5,24,34,.38) 55%,rgba(5,24,34,.95) 100%)}
.hero-reel{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;filter:saturate(.88)}
.hero-filmstrip{width:min(100%,1480px);margin:0 auto 28px;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.hero-filmstrip-inner{display:flex;gap:12px;width:max-content;animation:hero-roll 70s linear infinite}
.hero-filmstrip img{width:clamp(112px,12vw,190px);height:clamp(130px,14vw,205px);object-fit:cover;object-position:center;border-radius:18px;border:1px solid #fff6;box-shadow:0 8px 28px #0004}
.hero-filmstrip img[src*="4658593778306"]{object-position:center 37%}
.hero-filmstrip img[src*="10211980151954612"]{object-position:70% center}
.hero-archive h1{font-size:clamp(38px,5.8vw,96px);max-width:1480px;width:100%;margin:0 auto;font-weight:700;letter-spacing:-.075em;line-height:1.02;text-wrap:balance}
@keyframes hero-roll{to{transform:translateX(-50%)}}
.origin-portrait{align-self:center;background:#e6efea;border-radius:32px;overflow:hidden}
.origin-portrait img{width:100%;height:min(570px,45vw);object-fit:cover;object-position:center 37%}
.origin-portrait figcaption{font-size:15px;padding:18px 22px;color:#234a42;font-weight:680}
.archive-section{max-width:none;background:#e8f0ef}
.archive-section>.section-top,.archive-chapter,.archive-milestones{max-width:1390px;margin-left:auto;margin-right:auto}
.archive-chapter{margin-top:clamp(55px,6vw,100px)}
.archive-head{display:grid;grid-template-columns:70px minmax(0,720px);gap:20px;margin-bottom:25px;border-top:1px solid #bdcfcb;padding-top:20px}
.archive-head>span{font-size:15px;font-weight:760;color:var(--emerald)}
.archive-head h3{font-size:clamp(31px,3.5vw,55px);letter-spacing:-.065em;line-height:1.06;margin-bottom:11px}
.archive-head p{font-size:17px;color:var(--muted);max-width:600px}
.archive-track{display:flex;gap:16px;overflow:auto;scroll-snap-type:x mandatory;padding:0 0 18px;scrollbar-color:#acc4bd transparent}
.archive-card{flex:0 0 clamp(240px,26vw,370px);scroll-snap-align:start;border-radius:26px;overflow:hidden;background:#fff}
.archive-card img{width:100%;height:clamp(280px,31vw,415px);object-fit:cover;object-position:center}
.archive-card img[src*="10211980151954612"]{object-position:70% center}
.archive-card img[src*="10211980150434574"]{object-position:70% center}
.archive-card img[src*="10212557966239608"]{object-position:center}
.archive-card figcaption{padding:19px 20px 24px;display:flex;flex-direction:column;gap:6px}
.archive-card figcaption span{font-size:12px;color:var(--emerald);font-weight:780;letter-spacing:.08em;text-transform:uppercase}
.archive-card figcaption strong{font-size:18px;letter-spacing:-.035em}
.archive-milestones{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:80px}
.archive-milestones figure{background:#fff;border-radius:25px;overflow:hidden}
.archive-milestones img{height:270px;width:100%;object-fit:cover}
.archive-milestones figcaption{padding:22px;display:flex;flex-direction:column;gap:8px}
.archive-milestones strong{font-size:20px;letter-spacing:-.04em}
.archive-milestones span{font-size:15px;line-height:1.45;color:var(--muted)}
.person-card img{object-position:center 34%!important}
.person-card--leon img{object-fit:contain!important;background:#dfe7e8}
.person-card--richard img{object-position:center 20%!important}
.person-card--sebastian img{object-position:center 25%!important}
@media(max-width:760px){.hero-archive{min-height:100svh;padding:86px 18px 34px;border-radius:0 0 26px 26px}.hero-reel{object-position:center 23%}.hero-filmstrip{margin-bottom:22px}.hero-filmstrip img{width:110px;height:125px;border-radius:14px}.hero-archive h1{font-size:clamp(40px,10.5vw,70px)}.origin-portrait img{height:440px}.archive-head{grid-template-columns:38px 1fr;gap:12px}.archive-head p{font-size:16px}.archive-card{flex-basis:74vw}.archive-card img{height:84vw;max-height:400px}.archive-milestones{grid-template-columns:1fr;margin-top:58px}.archive-milestones img{height:260px}}
@media(prefers-reduced-motion:reduce){.hero-filmstrip-inner{animation:none}.hero-filmstrip{overflow-x:auto;mask-image:none}}
.archive-card img[src*="2096698932536"],.archive-card img[src*="3736158397998"],.archive-card img[src*="10200099471065015"],.archive-card img[src*="10210958996306359"],.archive-card img[src*="10212557966239608"],.archive-card img[src*="10221415279146895"],.archive-card img[src*="10221544451176115"],.archive-card img[src*="10211980152114616"]{object-fit:contain;background:#d9e5e4}
.people-stories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:1390px;margin:65px auto 0}
.people-stories article{border:1px solid #cfddd8;border-radius:26px;padding:30px;background:#fff}
.people-stories span{font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:760;color:#35675a}
.people-stories h3{font-size:clamp(24px,2.5vw,36px);letter-spacing:-.055em;margin:22px 0 14px}
.people-stories p{font-size:16px;line-height:1.55;color:var(--muted)}
.people-stories a{color:var(--emerald);font-weight:720;text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){.people-stories{grid-template-columns:1fr;gap:10px;margin-top:46px}.people-stories article{padding:23px}}
/* 2026-10-01: photographic story, consistent portraits, interactive route */
.hero-gallery{position:absolute;inset:0;z-index:-2;overflow:hidden}
.hero-gallery img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 38%;opacity:0;transition:opacity 1.7s ease,transform 8s ease;transform:scale(1.035)}
.hero-gallery img.is-active{opacity:1;transform:scale(1)}
.hero-gallery img[src*="4658593778306"]{object-position:center 30%}
.hero-gallery img[src*="10211980151954612"]{object-position:72% center}
.hero-archive:before{background:linear-gradient(180deg,#071c2b38 0%,#071c2b70 45%,#071c2be8 100%)}
.hero-message{position:relative;width:min(100%,1480px);margin:0 auto}
.hero-archive h1{font-size:clamp(55px,6.8vw,118px);max-width:1280px;margin:0;line-height:.98}
.hero-message p{font-size:clamp(16px,2vw,26px);font-weight:650;letter-spacing:.01em;color:#e7f4eb;margin:25px 0 0}
.origin-gallery{width:100%;overflow:hidden}.origin-gallery img{display:block}.archive-card a{color:#206553;font-size:14px;font-weight:750;text-decoration:underline;text-underline-offset:3px}
.stage-mark:has(img[src*="fime-logo"]){padding:8px}.stage-mark:has(img[src*="fime-logo"]) img{object-fit:contain;max-width:100%;max-height:100%;object-position:center}
.mark-cultech{background:#dfece5;color:#143b35}.mark-cultech b{font-family:Arial,sans-serif;font-size:clamp(14px,1.35vw,20px);font-weight:800;letter-spacing:-.07em}
.other-projects img{width:132px;height:80px;padding:8px}
.lesson-icon{width:64px;height:64px;border-radius:18px;background:#d1e4db;display:grid;place-items:center;margin-bottom:2px;color:#1d6757}
.lesson-icon svg{width:37px;height:37px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.lesson-grid p{gap:16px;min-height:250px}
.route-map{position:relative}.map-dot circle{transition:fill .3s,r .3s,filter .3s}.map-dot.is-active circle{fill:#f6cfa2;r:12;filter:drop-shadow(0 0 9px #f6cfa2)}
.map-dot.is-active text{fill:#fff}.route-controls{display:flex;align-items:center;gap:20px;margin-top:22px;justify-content:space-between}
.route-controls button{background:#d3eadb;color:#102736;border:0;border-radius:999px;padding:14px 22px;font:inherit;font-weight:750;cursor:pointer}
.route-controls button:hover{background:#fff}.route-step{min-width:0;text-align:center;display:flex;flex-direction:column;gap:3px}
.route-step strong{font-size:20px}.route-step span{font-size:14px;color:#bdd3c9}
.person-card img{object-fit:cover!important;object-position:center 34%!important;transform:none!important}
.person-card--leon img{object-fit:cover!important;object-position:center 18%!important}
.person-card--sebastian img{object-position:center 20%!important}
.person-card--richard img{object-position:center 12%!important}
.person-card--glen img{object-position:65% 19%!important}
.person-card--asier img{object-position:center 10%!important}
.person-card .person-image-link{display:block;overflow:hidden}
.resume{background:#f2f6f3}.resume-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(30px,7vw,110px);margin-top:40px}.resume h3{font-size:clamp(26px,3vw,42px);letter-spacing:-.06em;margin-bottom:25px}
.skill-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.skill-groups article{border-radius:24px;background:white;padding:26px}.skill-groups h4,.resume-languages h4{font-size:19px;letter-spacing:-.04em;margin:0 0 12px}.skill-groups p,.resume-languages p{font-size:15px;color:var(--muted);line-height:1.55}
.resume-experience ul{list-style:none;padding:0;margin:0}.resume-experience li{display:grid;grid-template-columns:108px 1fr;gap:15px;border-top:1px solid #bfd1c8;padding:17px 0;font-size:16px}.resume-experience time{color:var(--emerald);font-size:12px;font-weight:800;letter-spacing:.04em}.resume-languages{padding-top:26px}
.resume-company{display:flex;align-items:center;gap:16px;min-width:0}.resume-company img{display:block;flex:none;width:72px;height:58px;padding:8px;box-sizing:border-box;object-fit:contain;border-radius:15px;background:#fff}.resume-company img[src*="yuhu-logo"],.resume-company img[src*="plannam-logo"],.resume-company img[src*="rima-logo"],.resume-company img[src*="wise-athena-logo"]{background:var(--navy)}.resume-company img[src*="escudo-nuevo-leon"]{width:58px}.resume-company span{min-width:0}.resume-experience li:has(.resume-company) time{align-self:center;line-height:1.5}
@media(max-width:520px){.resume-experience li{grid-template-columns:1fr;gap:7px;padding:18px 0}.resume-company{gap:13px}.resume-company img{width:64px;height:50px}.resume-company img[src*="escudo-nuevo-leon"]{width:50px}.resume-experience li:has(.resume-company) time{align-self:auto}}
@media(max-width:760px){.hero-archive{min-height:100svh;justify-content:flex-end;padding-bottom:65px}.hero-archive h1{font-size:clamp(52px,12vw,84px)}.hero-message p{font-size:18px;max-width:240px}.hero-gallery img{object-position:center}.origin-gallery img{height:440px}.route-controls{gap:8px}.route-controls button{padding:10px 13px;font-size:12px}.route-step strong{font-size:16px}.route-step span{font-size:12px}.resume-layout{grid-template-columns:1fr}.skill-groups{grid-template-columns:1fr}.lesson-grid p{min-height:0}}
@media(prefers-reduced-motion:reduce){.hero-gallery img{transition:none;transform:none}.map-dot circle{transition:none}}
.hero-gallery img[src*="10211980151954612"]{object-position:center 42%}
.hero-gallery img[src*="1839840111226"]{object-position:center top}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.5s ease;overflow:hidden}
.hero-slide.is-active{opacity:1}
.hero-slide .hero-ambient{position:absolute;inset:-20px;width:calc(100% + 40px);height:calc(100% + 40px);object-fit:cover;filter:blur(17px) brightness(.55) saturate(.8);transform:scale(1.05);opacity:1}
.hero-slide .hero-photo{position:absolute;top:0;right:0;left:auto;width:100%;height:100%;object-fit:contain;object-position:center top;filter:none;opacity:1;transform:none}
.hero-slide--portrait .hero-photo{width:min(52vw,560px);height:84%;top:4%;right:8%;left:auto;object-position:center center;border-radius:24px;box-shadow:0 15px 65px #071c2b70}
.hero-slide--wide .hero-photo{object-fit:contain;object-position:center 13%}
.hero-archive:before{z-index:-1;background:linear-gradient(180deg,#071c2b00 0%,#071c2b11 34%,#071c2be0 100%)}
.archive-card{position:relative}.archive-card img{display:block}.archive-card figcaption{position:absolute;left:0;right:0;bottom:0;min-height:125px;justify-content:end;background:linear-gradient(transparent,#071c2bea);color:#fff;padding:40px 19px 20px;pointer-events:none}
.archive-card figcaption span{color:#c8efda}.archive-card figcaption a{pointer-events:auto;color:#e6faee}
.archive-card img[src*="1839840111226"],.archive-card img[src*="10201852322125196"],.archive-card img[src*="10211526323729190"],.archive-card img[src*="10221426804835030"]{object-fit:contain;background:#132936}
@media(max-width:760px){.hero-slide--portrait .hero-photo{height:66%;top:9%;width:min(75vw,430px);right:12%;border-radius:20px}.hero-slide--wide .hero-photo{object-position:center top}.hero-archive:before{background:linear-gradient(180deg,#071c2b00 0%,#071c2b2c 26%,#071c2bed 84%)}.archive-card figcaption{min-height:110px}}
.route-media{display:flex;gap:13px;min-height:136px;align-items:stretch;margin-top:25px}
.route-photo{position:relative;flex:0 0 min(240px,45vw);height:136px;overflow:hidden;border:1px solid #a7c1b799;border-radius:17px;background:#294f50;cursor:pointer;color:#fff;text-align:left;padding:0}
.route-photo img{width:100%;height:100%;object-fit:contain;background:#193743}
.route-photo span{position:absolute;bottom:0;left:0;right:0;padding:18px 13px 12px;background:linear-gradient(transparent,#071c2bdd);font-size:14px;font-weight:720}
.route-photo:hover{border-color:#fff;transform:translateY(-2px)}
.route-media-empty{color:#b4cec2;font-size:14px;align-self:center;margin:0}
.map-dot[role="button"]{cursor:pointer;outline:none}.map-dot[role="button"]:focus-visible circle{stroke:#fff;stroke-width:6}
.photo-dialog{border:0;border-radius:28px;background:#fff;color:#102736;max-width:min(92vw,900px);width:100%;padding:0;box-shadow:0 30px 100px #0008;overflow:hidden}
.photo-dialog::backdrop{background:#071c2bcc}.photo-dialog>img{display:block;width:100%;max-height:65vh;object-fit:contain;background:#152d39}
.photo-dialog-copy{padding:24px 28px 30px}.photo-dialog-copy h3{font-size:27px;letter-spacing:-.05em;margin:0 0 8px}.photo-dialog-copy p{font-size:16px;line-height:1.5;color:var(--muted);margin:0 0 15px}.photo-dialog-copy a{font-size:15px;color:var(--emerald);font-weight:750}
.photo-dialog-close{position:absolute;right:14px;top:14px;background:#fff;border:0;width:40px;height:40px;border-radius:50%;font-size:26px;cursor:pointer}
@media(max-width:760px){.route-media{margin-top:17px;overflow-x:auto}.route-photo{flex-basis:43vw;height:118px}.route-photo span{font-size:12px}.photo-dialog-copy{padding:20px}}
.stage-mark{position:relative}
.stage-mark img{position:absolute;inset:10px;width:calc(100% - 20px);height:calc(100% - 20px);max-width:none;max-height:none;object-fit:contain;object-position:center}
.hero-slide--portrait .hero-photo{max-width:480px}
.hero-slide .hero-photo[src*="10211980151954612"]{width:min(62vw,960px);height:78%;top:4%;right:4%;left:auto;object-fit:contain;object-position:center;box-shadow:0 15px 65px #071c2b70;border-radius:22px}
@media(max-width:760px){.hero-slide .hero-photo[src*="10211980151954612"]{width:100%;height:60%;right:0;top:11%;border-radius:0;box-shadow:none}}

/* Proyectos: identidad propia, enlace y contexto dentro de la página. */
.brand-tile{display:block;transition:transform .2s,box-shadow .2s}.brand-tile:hover{transform:translateY(-3px);box-shadow:0 10px 28px #10273612}.brand-tile h4{font-size:16px;line-height:1.3;letter-spacing:-.025em;margin:18px 0 0;display:flex;justify-content:space-between;gap:8px}.brand-tile h4 span{color:var(--emerald)}.brand-tile p{margin-top:9px}.project-wordmark{display:grid;place-items:center;width:100%;height:80px;background:var(--navy);color:#fff;border-radius:14px;font-size:38px;letter-spacing:-.07em}.brand-tile img[src*=bakers],.brand-tile img[src*=gonzalo]{background:#f3f6f3}@media(max-width:480px){.brand-tile h4{font-size:15px}.project-wordmark{height:65px}}@media(prefers-reduced-motion:reduce){.brand-tile{transition:none}.brand-tile:hover{transform:none}}

/* Archivo de publicaciones */
.reference-heading{font-family:inherit;font-size:clamp(21px,2.4vw,28px);font-weight:700;letter-spacing:-.05em;margin:34px 0 14px;color:var(--navy)}
.reference-grid a{display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto;justify-content:start;column-gap:14px;row-gap:5px;align-content:center;min-height:96px;padding:17px 8px 17px 0;transition:color .2s ease,background-color .2s ease}
.reference-grid a::before{content:"";grid-column:1;grid-row:1/3;width:42px;height:42px;border-radius:13px;background-color:#e9f1eb;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232b735e' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='16' rx='2'/%3E%3Cpath d='M7 8h6v5H7zM16 8h2M16 11h2M7 16h11'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:22px 22px}
.reference-grid strong{grid-column:2;grid-row:1;font-size:17px;line-height:1.25}
.reference-grid a span{grid-column:2;grid-row:2;text-align:left;max-width:none;font-size:14px;line-height:1.4}
.reference-grid a:hover{background-color:#f6faf7}
.reference-grid a:focus-visible{outline:2px solid var(--emerald);outline-offset:2px;border-radius:8px}
.project-reference-grid a::before{content:none}.project-reference-mark,.project-reference-logo{grid-column:1;grid-row:1/3;display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--navy);color:#fff;object-fit:contain;font-size:21px;font-weight:800;font-style:normal;line-height:1}.project-reference-logo{padding:7px;box-sizing:border-box}.project-reference-mark--cultech{background:#183d30}.project-reference-mark--fitket{background:#f1742d}.project-reference-mark--nitewise{background:#37447f}
@media(max-width:760px){.reference-heading{margin-top:30px}.reference-grid a{grid-template-columns:38px minmax(0,1fr);gap:4px 12px;min-height:85px}.reference-grid a::before{width:38px;height:38px}}

/* Iconos de resultados */
.metric-icon{display:block;width:46px;height:46px;box-sizing:border-box;padding:10px;margin-bottom:22px;border-radius:14px;background:#e8f2ec;color:var(--emerald);fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:620px){.result-grid{grid-template-columns:1fr}.result-grid article{min-height:0}.result-grid strong{font-size:clamp(38px,10vw,48px);white-space:normal}.metric-icon{margin-bottom:18px}}
