@font-face{font-family:Anton;src:url('assets/anton.ttf')}@font-face{font-family:DM Sans;src:url('assets/dm-sans.ttf');font-weight:100 900;font-display:swap}
:root{--paper:#f3f2ee;--ink:#111;--muted:#aaa;--line:#444;--body:'DM Sans',sans-serif;--display:Anton,'Arial Narrow',sans-serif;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:78px;scrollbar-color:#777 #141414}body{margin:0;background:var(--ink);color:var(--paper);font:16px/1.6 var(--body)}::selection{background:#bbb;color:#080808}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid currentColor;outline-offset:6px}svg{width:24px;height:24px;stroke:currentColor;stroke-width:1.4;fill:none;flex-shrink:0}p,h1,h2,h3,figure{margin:0}h2{font:400 clamp(38px,4.8vw,70px)/1.05 var(--display);letter-spacing:-.015em;text-wrap:balance}h3{font:400 clamp(27px,3vw,46px)/1.2 var(--display)}.skip{position:fixed;top:-100px;background:white;color:black;padding:10px;z-index:100}.skip:focus{top:10px}header{height:78px;padding:0 5.4%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff35;background:#111;position:relative;z-index:5}.brand{font:36px/1 var(--display);letter-spacing:-.025em}.brand span{color:#888;padding-left:3px}nav{display:flex;gap:38px;font-size:13px}nav a{position:relative}nav a:after{content:'';position:absolute;bottom:-6px;left:0;right:100%;border-bottom:1px solid;transition:right .2s}nav a:hover:after{right:0}.languages{display:flex;gap:9px;align-items:center;font-size:12px}.languages button{background:none;border:0;padding:8px 2px;color:#8b8b8b}.languages button[aria-pressed=true]{color:white;border-bottom:1px solid}.hero{height:min(830px,calc(100svh - 78px));min-height:590px;position:relative;overflow:hidden;background:#222}.hero-photo{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% 42%;filter:contrast(1.06);animation:uncover 1s cubic-bezier(.16,1,.3,1)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0008,#0002 65%),linear-gradient(0deg,#0009,transparent 45%)}.hero-heading{position:relative;margin:0 5.4%;padding-top:5.5vh}.hero h1{font:400 clamp(100px,20.5vw,310px)/.91 var(--display);letter-spacing:-.025em;max-width:1200px}.hero h1 span{display:block}.hero h1 span:last-child{color:#aaa;margin-left:12%;margin-top:-.035em}.hero-bottom{position:absolute;bottom:29px;left:5.4%;right:5.4%;border-top:1px solid #ffffff70;padding-top:22px;display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:.05em}.hero-bottom a{display:flex;gap:24px;align-items:center}.hero-bottom p{text-transform:uppercase;letter-spacing:.16em}.section{padding:90px 5.4%}.intro{background:var(--paper);color:var(--ink);display:grid;grid-template-columns:1fr 1fr;gap:11%;align-items:start;padding-block:100px}.intro h2{max-width:550px}.intro p{font-size:19px;line-height:1.65;max-width:50ch}.text-link{display:inline-block;font-size:12px;border-bottom:1px solid;padding-bottom:4px;margin-top:25px}.text-link:hover{opacity:.65}.section-top{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:55px}.section-top>p{font-size:12px;color:#aaa;max-width:210px;text-align:right}.records{padding-block:100px}.record-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:8%;margin-top:70px}.record-menu{border-top:1px solid #555}.record-menu button{display:grid;grid-template-columns:1fr auto 24px;gap:25px;align-items:center;text-align:left;width:100%;padding:25px 0;border:0;border-bottom:1px solid #555;background:none;color:#aaa}.record-menu button>span{font-size:19px}.record-menu small{font-size:11px}.record-menu button[aria-selected=true]{color:#fff}.record-menu button svg{opacity:0;transform:translateX(-8px);transition:.2s}.record-menu button:hover svg,.record-menu button[aria-selected=true] svg{opacity:1;transform:none}.time{font:400 clamp(70px,9.5vw,145px)/1 var(--display);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.record-meta{display:flex;justify-content:space-between;margin-top:35px;font-size:13px}.record-meta>p:last-child{text-align:right}.pace{font-size:22px}.muted{color:#aaa;font-size:11px}.record-note{margin-top:26px;color:#ddd;font-size:15px}.source-note{font-size:10px;color:#aaa;margin-top:65px;border-top:1px solid #444;padding-top:18px}.race-section{background:var(--paper);color:var(--ink);padding-block:100px}.race-section .section-top>p{color:#555}.races{border-top:1px solid #888}details{border-bottom:1px solid #aaa}summary{list-style:none;display:grid;grid-template-columns:65px 1fr 130px 150px 24px;align-items:center;gap:28px;padding:30px 0;cursor:pointer}summary::-webkit-details-marker{display:none}.race-year,.race-tag{font-size:11px}.race-tag{text-align:right}.race-time{font:400 37px/1 var(--display);text-align:right;font-variant-numeric:tabular-nums}.plus{position:relative;width:20px;height:20px}.plus:before,.plus:after{content:'';position:absolute;top:9px;left:0;width:20px;height:1px;background:currentColor}.plus:after{transform:rotate(90deg);transition:transform .2s}details[open] .plus:after{transform:rotate(0)}.race-detail{display:grid;grid-template-columns:1fr 1fr;gap:6%;padding:0 52px 35px 93px}.race-detail p{font-size:15px;max-width:50ch}.race-detail img{width:100%;height:290px;object-fit:cover;filter:none}.race-detail.no-photo{display:block;max-width:750px}.race-detail.no-photo .text-link{margin-top:17px}.gallery-section{padding-bottom:35px}.gallery-section .section-top{padding-bottom:0}.gallery{display:grid;grid-template-columns:1fr 1.2fr;gap:16px;padding:0 5.4%;align-items:start}.gallery-image{position:relative;border:0;background:#222;padding:0;text-align:left;overflow:hidden}.gallery-image img{width:100%;height:440px;object-fit:cover;display:block;filter:none;transition:transform .6s cubic-bezier(.16,1,.3,1),filter .5s}.gallery-image:hover img{transform:scale(1.035);filter:contrast(1.05)}.gallery-image span{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;font-size:12px;padding:35px 22px 18px;background:linear-gradient(transparent,#000b)}.gallery-image.portrait img{height:650px}.gallery-image.wide{margin-top:100px}.gallery-image:nth-child(3){margin-top:0}.gallery-image:nth-child(4){margin-top:-110px}.photo-credit{font-size:10px;color:#aaa;padding-block:28px}.gallery-image.portrait img{object-fit:contain;background:#1a1a1a}footer{border-top:1px solid #444;padding-block:55px}.footer-name{font:400 clamp(44px,8vw,110px)/1 var(--display);letter-spacing:-.015em}footer>div{margin-top:30px;display:flex;align-items:center;justify-content:space-between;font-size:11px}footer .text-link{margin-top:0}dialog{width:100%;height:100%;max-width:none;max-height:none;inset:0;border:0;background:#101010;color:white;padding:25px 4%}dialog::backdrop{background:#111}body:has(dialog[open]){overflow:hidden}.lightbox-tools{display:flex;justify-content:space-between;align-items:center;font-size:12px}.lightbox-tools button{border:1px solid #888;background:none;padding:9px 20px}.lightbox-stage{height:calc(100% - 60px);display:grid;grid-template-columns:40px 1fr 40px;gap:25px;align-items:center}.lightbox-stage>button{background:none;border:0;padding:8px}.lightbox-stage figure{text-align:center;min-width:0}.lightbox-stage img{max-width:100%;height:75vh;object-fit:contain;filter:none}figcaption{font-size:12px;color:#bbb;margin-top:15px}@keyframes uncover{from{clip-path:inset(0 0 10% 0)}to{clip-path:inset(0)}}@media(min-width:1600px){.hero-heading{padding-top:65px}.hero h1{font-size:300px}}@media(max-width:900px){.hero{min-height:600px;max-height:800px}.hero-heading{padding-top:70px}.hero-photo{object-position:58% 50%}.intro{gap:8%}.intro p{font-size:16px}.record-layout{gap:6%;grid-template-columns:1fr 1.35fr}.record-menu button{gap:10px}.record-menu button>span{font-size:16px}summary{grid-template-columns:45px 1fr 100px 110px 20px;gap:15px}.race-time{font-size:30px}.race-detail{padding-left:60px}.gallery-image.portrait img{height:500px}.gallery-image img{height:350px}.gallery-image.wide{margin-top:60px}.gallery-image:nth-child(4){margin-top:-90px}}@media(max-width:600px){html{scroll-padding-top:20px}header{height:64px;padding-inline:6%}.brand{font-size:30px}nav{gap:15px;font-size:10px}nav a:last-child{display:none}.languages{font-size:11px}.hero{height:calc(90svh - 64px);min-height:520px}.hero-heading{margin-inline:6%;padding-top:62px}.hero h1{font-size:20.4vw;line-height:1.03}.hero h1 span:last-child{margin-top:-.11em}.hero-photo{object-position:57% 50%}.hero-bottom{left:6%;right:6%;font-size:10px;bottom:24px;gap:20px;align-items:end}.hero-bottom p{max-width:160px}.hero-bottom a{gap:10px;max-width:140px}.section{padding:62px 6%}.intro{grid-template-columns:1fr;gap:28px}.intro h2{max-width:330px}.intro p{font-size:16px}.section-top{display:block;margin-bottom:35px}.section-top>p{text-align:left;margin-top:18px;max-width:none}.record-layout{grid-template-columns:1fr;gap:35px;margin-top:30px}.record-menu{display:flex;border-bottom:1px solid #555}.record-menu button{display:block;text-align:left;border-bottom:0;padding:18px 8px 18px 0;flex:1}.record-menu small{display:block;margin-top:8px;font-size:10px}.record-menu button>span{font-size:13px}.record-menu svg{display:none}.record-menu button[aria-selected=true]{box-shadow:inset 0 -2px white}.time{font-size:23vw}.source-note{margin-top:35px;font-size:10px}summary{grid-template-columns:34px 1fr 85px 16px;gap:10px;padding:24px 0}.race-tag{display:none}.race-year{font-size:10px}.race-time{font-size:26px}h3{font-size:26px}.race-detail{grid-template-columns:1fr;padding:0 0 25px 44px;gap:20px}.race-detail img{height:240px}.race-detail p{font-size:14px}.gallery{padding-inline:6%;gap:12px;grid-template-columns:1fr 1fr}.gallery-image.portrait img{height:320px}.gallery-image img{height:220px}.gallery-image.wide{margin-top:45px}.gallery-image:nth-child(4){margin-top:-55px}.gallery-image span{font-size:10px;padding-inline:12px}.gallery-image span svg{width:17px}.photo-credit{padding-block:25px}footer>div{gap:20px;flex-wrap:wrap}.footer-name{font-size:13vw}.lightbox-stage{gap:4px;grid-template-columns:30px 1fr 30px}.lightbox-stage img{height:65vh}.lightbox-stage>button{padding:2px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* El retrato se desplaza a la derecha para convivir con el nombre. */
@media(min-width:901px){.hero-photo{width:85%;right:-17%;object-position:50% 44%}.hero-shade{background:linear-gradient(90deg,#111 0%,#111d 16%,#1113 58%,#0002),linear-gradient(0deg,#000b,transparent 50%)}}
@media(min-width:601px) and (max-width:900px){.hero-photo{width:100%;right:-20%}.hero-shade{background:linear-gradient(90deg,#111 0%,#1119 20%,#0002 65%),linear-gradient(0deg,#0009,transparent 45%)}}
@media(min-width:901px){.hero-shade{background:linear-gradient(90deg,#111 0%,#111 31%,#1119 50%,#0002 78%),linear-gradient(0deg,#000b,transparent 50%)}}

/* Encabezado · firma horizontal original de Robin Hood */
.agency-header{gap:30px}.agency-brand{display:flex;align-items:center;gap:16px;flex-shrink:0;width:290px;height:48px}.agency-symbol,.agency-wordmark{display:block;background:currentColor;mask-repeat:no-repeat;mask-size:contain;mask-position:center;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain;-webkit-mask-position:center}.agency-symbol{width:66px;height:44px;mask-image:url('assets/robin-hood-symbol-mask.svg');-webkit-mask-image:url('assets/robin-hood-symbol-mask.svg')}.agency-wordmark{width:208px;height:38px;mask-image:url('assets/robin-hood-wordmark-mask.svg');-webkit-mask-image:url('assets/robin-hood-wordmark-mask.svg')}.agency-description{margin-left:auto;max-width:335px;font-size:12px;line-height:1.55;text-align:right}.agency-header .languages{flex-shrink:0}
@media(max-width:900px){.agency-header{gap:22px}.agency-brand{width:246px;gap:12px}.agency-symbol{width:56px;height:38px}.agency-wordmark{width:178px;height:32px}.agency-description{font-size:10px;max-width:260px}}
@media(max-width:600px){.agency-header{height:auto;min-height:100px;padding:16px 6%;display:grid;grid-template-columns:1fr auto;gap:12px 18px}.agency-brand{width:220px;height:35px;gap:10px}.agency-symbol{width:48px;height:33px}.agency-wordmark{width:162px;height:29px}.agency-header .languages{grid-column:2;grid-row:1}.agency-description{grid-column:1/-1;grid-row:2;max-width:100%;margin:0;text-align:left;font-size:10px;line-height:1.4}}

/* Bloque 1 · fotografía a sangre y nombre ligeramente superpuesto */
.hero-photo{width:100%;height:100%;inset:0;object-fit:cover;object-position:50% 45%;filter:none}
.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.52),rgba(0,0,0,.18) 75%),linear-gradient(0deg,rgba(0,0,0,.55),transparent 50%)}
.hero h1 span:last-child{position:relative;margin-top:-.12em}
@media(max-width:600px){.hero-photo{object-position:50% 50%}.hero h1 span:last-child{margin-top:-.19em}}
/* Bloque 1 · nombre bajo el rostro, conservando la superposición */
.hero-heading{position:absolute;top:47%;left:5.4%;right:5.4%;margin:0;padding:0}
.hero h1{font-size:clamp(92px,13vw,210px)}
.hero h1 span:last-child{margin-left:9%;margin-top:-.12em}
@media(max-width:600px){.hero-heading{top:48%;left:6%;right:6%}.hero h1{font-size:17vw}.hero h1 span:last-child{margin-top:-.19em}}

/* Bloque 1 · prueba con llegada de Viena, a fondo completo y algo más oscura */
.hero-photo{object-position:50% 38%}
.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.58),rgba(0,0,0,.36) 75%),linear-gradient(0deg,rgba(0,0,0,.5),transparent 55%)}

/* Bloque 1 · llamada centrada */
.hero-bottom{justify-content:center}.hero-bottom a{justify-content:center;max-width:none}
/* Bloque 1 · nombre más bajo y apellido escalonado hacia la derecha */
.hero-heading{top:55%}
.hero h1 span:last-child{margin-left:20%}
@media(max-width:600px){.hero-heading{top:57%}.hero h1 span:last-child{margin-left:22%}}
/* Encabezado más amplio y encuadre de portada más alto */
.agency-header{height:94px}
.hero{height:min(830px,calc(100svh - 94px))}
.hero-photo{object-position:50% 64%}
@media(max-width:600px){.agency-header{height:auto;min-height:112px;padding-block:20px}.hero{height:calc(90svh - 112px)}.hero-photo{object-position:50% 64%}}
/* Bloque 1 · encuadre desplazado a la derecha y nombre algo mayor */
.hero-photo{width:106%;max-width:none;left:0;right:auto;object-position:50% 64%}
.hero h1{font-size:clamp(100px,14.2vw,225px)}
@media(max-width:600px){.hero h1{font-size:18.2vw}}
/* Bloque 1 · más separación entre el nombre y la llamada inferior */
.hero-heading{top:51%}
.hero-bottom{bottom:12px;padding-top:15px}
@media(max-width:600px){.hero-heading{top:53%}.hero-bottom{bottom:12px;padding-top:15px}}
/* Bloque 1 · situar ABADI sobre la cinta y HAFTAMU por encima */
.hero-heading{top:33%}
@media(max-width:600px){.hero-heading{top:35%}}
.hero-heading{top:30%}
@media(max-width:600px){.hero-heading{top:32%}}
/* Bloque 1 · encuadre más abierto a la derecha y nombre junto al hombro */
.hero{background-image:url('assets/finish-vienna.png');background-size:cover;background-position:50% 64%}
.hero-photo{width:100%;height:100%;left:7%;right:auto;object-position:50% 64%;mask-image:linear-gradient(90deg,transparent,#000 12%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%)}
.hero-heading{top:25%}
.hero h1{line-height:.94}
.hero h1 span:last-child{margin-left:9%;margin-top:-.12em}
@media(max-width:600px){.hero-heading{top:29%}.hero h1 span:last-child{margin-left:12%;margin-top:-.19em}}
/* Bloque 1 · nombre más arriba */
.hero-heading{top:18%}
@media(max-width:600px){.hero-heading{top:22%}}
/* Bloque 1 · ABADI alineado con el hombro */
.hero-heading{top:10%}
@media(max-width:600px){.hero-heading{top:15%}}
/* Bloque 1 · proteger la cabeza al ampliar la vista */
.hero{background-position:50% 25%}
.hero-photo{object-position:50% 25%}
@media(max-width:600px){.hero-photo{object-position:50% 25%}}
/* Bloque 1 · fotografía completa, con piernas visibles y margen inferior */
.hero{background-image:none;background-color:#171b18}
.hero-photo{width:auto;height:104%;max-width:none;aspect-ratio:882/870;left:auto;right:2%;top:-4%;bottom:auto;object-fit:contain;object-position:center;mask-image:linear-gradient(90deg,transparent,#000 17%,#000 88%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 17%,#000 88%,transparent)}
@media(max-width:600px){.hero-photo{height:100%;top:0;right:-26%}}
/* Bloque 1 · fondo fotográfico completo, con altura para conservar las piernas */
.hero{height:max(calc(100svh - 94px),85vw);min-height:590px;background:#171b18}
.hero-photo{width:100%;height:100%;max-width:none;aspect-ratio:auto;inset:0;object-fit:cover;object-position:50% 100%;mask-image:none;-webkit-mask-image:none}
.hero-heading{top:10%}
@media(max-width:600px){.hero{height:calc(100svh - 112px);min-height:590px}.hero-photo{width:100%;height:100%;inset:0;object-position:50% 100%}.hero-heading{top:15%}}
/* Portada: una pantalla, fotografía completa y rostro protegido. */
.agency-header{height:94px;min-height:94px}
.hero{height:calc(100svh - 94px);min-height:0;max-height:none;background:#171b18;isolation:isolate}
.hero:before{content:'';position:absolute;inset:-25px;background:url('assets/finish-vienna.png') center 40%/cover no-repeat;filter:blur(18px) brightness(.7);z-index:-1}
.hero-photo{width:auto;height:100%;max-width:none;aspect-ratio:882/870;inset:auto;top:0;right:-2%;object-fit:contain;object-position:center;mask-image:linear-gradient(90deg,transparent,#000 15%,#000 88%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 15%,#000 88%,transparent)}
.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.5),rgba(0,0,0,.18) 75%),linear-gradient(0deg,rgba(0,0,0,.38),transparent 45%)}
.hero-heading{top:9%;left:5.4%;right:5.4%}
.hero h1{font-size:clamp(78px,14.2vw,225px);line-height:.94}
.hero h1 span:last-child{margin-left:9%;margin-top:-.12em}
.hero-bottom{bottom:18px;padding-top:15px;justify-content:center}
@media(max-width:600px){.agency-header{height:112px;min-height:112px;padding:16px 6%}.hero{height:calc(100svh - 112px);min-height:0}.hero-photo{height:100%;width:auto;inset:auto;top:0;right:-45%;object-position:center}.hero-heading{top:4%;left:6%;right:6%}.hero h1{font-size:16vw}.hero h1 span:last-child{margin-left:9%;margin-top:-.12em}.hero-bottom{bottom:16px;padding-top:12px}}
@media(max-height:650px) and (min-width:601px){.hero h1{font-size:min(13vw,22svh)}.hero-heading{top:6%}.hero-bottom{bottom:12px;padding-top:10px}}

/* Una sola fotografía horizontal ocupa toda la portada. */
.hero:before{content:none}
.hero-photo{width:100%;height:100%;max-width:none;aspect-ratio:auto;inset:0;object-fit:cover;object-position:50% 100%;mask-image:none;-webkit-mask-image:none}
@media(max-width:600px){.hero-photo{width:100%;height:100%;inset:0;object-fit:cover;object-position:74% 100%}}
/* Bloque 1 · fotografía algo más oscura */
.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,.34) 75%),linear-gradient(0deg,rgba(0,0,0,.42),transparent 48%)}
/* Bloque 1 · acercar ligeramente al atleta sin cortar cabeza ni piernas */
.hero-photo{transform:scale(1.08);transform-origin:100% 100%;object-position:70% 100%}
@media(max-width:600px){.hero-photo{transform:scale(1.04);transform-origin:74% 100%;object-position:74% 100%}}
/* Bloque 1 · llamada inferior más legible */
.hero-bottom a{font-size:15px;gap:20px}
.hero-bottom a svg{width:28px;height:28px}
@media(max-width:600px){.hero-bottom a{font-size:13px;gap:16px}.hero-bottom a svg{width:26px;height:26px}}

/* Bloque 4 · carrusel de resultados en blanco y negro */
.race-carousel{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:20px;align-items:center}
.race-window{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;padding:4px 0}
.race-window::-webkit-scrollbar{display:none}
.race-card{flex:0 0 calc((100% - 20px)/2);min-width:0;scroll-snap-align:start;background:#e7e6e2;color:#111;padding:35px;min-height:370px;display:flex;flex-direction:column;transition:background .3s,color .3s}
.race-card[aria-current=true]{background:#111;color:#f3f2ee}
.race-card-top{display:flex;justify-content:space-between;gap:15px;align-items:start;font-size:11px;line-height:1.5;border-bottom:1px solid currentColor;padding-bottom:20px}
.race-card-top time{white-space:nowrap}
.race-card-time{font:400 clamp(55px,6.3vw,96px)/1 var(--display);font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin:34px 0 18px}
.race-card h3{font-size:clamp(25px,2.8vw,40px);line-height:1.1;text-wrap:balance}
.race-card-bottom{margin-top:auto;padding-top:38px;display:flex;justify-content:space-between;align-items:end;gap:20px;font-size:11px}
.race-card-bottom .text-link{margin:0;white-space:nowrap;font-size:10px}
.race-arrow{width:48px;height:48px;display:grid;place-items:center;border:1px solid #111;background:transparent;color:#111;transition:background .2s,color .2s}
.race-arrow:hover:not(:disabled){background:#111;color:white}
.race-arrow:disabled{opacity:.25;cursor:default}
.race-carousel-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:25px 68px 0;font-size:11px}
.race-dots{display:flex;gap:12px}.race-dots button{border:0;border-radius:0;background:#aaa;width:24px;height:3px;padding:0;position:relative}.race-dots button:before{content:'';position:absolute;inset:-12px 0}.race-dots button[aria-current=true]{background:#111}
#race-position{font-variant-numeric:tabular-nums}
@media(min-width:1500px){.race-card{flex-basis:calc((100% - 40px)/3)}.race-card-time{font-size:74px}.race-card{padding:28px}.race-card-bottom{display:block}.race-card-bottom .text-link{margin-top:20px}}
@media(max-width:900px){.race-carousel{grid-template-columns:38px minmax(0,1fr) 38px;gap:14px}.race-arrow{width:38px;height:44px}.race-card{padding:24px;min-height:350px}.race-card-top{display:block}.race-card-top time{display:block;margin-top:10px}.race-card-bottom{display:block}.race-card-bottom .text-link{margin-top:18px}.race-carousel-footer{margin-inline:52px}.race-card-time{font-size:6.5vw}}
@media(max-width:600px){.race-carousel{grid-template-columns:28px minmax(0,1fr) 28px;gap:10px}.race-arrow{width:28px;height:42px}.race-arrow svg{width:20px}.race-card{flex-basis:100%;padding:25px 22px;min-height:350px}.race-card-top{display:flex;font-size:10px}.race-card-top time{margin-top:0}.race-card-time{font-size:clamp(44px,12vw,70px);margin-top:40px}.race-card h3{font-size:30px}.race-card-bottom{padding-top:30px}.race-carousel-footer{margin-inline:38px;gap:12px}.race-carousel-footer>p:first-child{display:none}.race-dots{gap:8px}.race-dots button{width:20px}}

/* Bloque 4 · una tarjeta visible y avance automático cada cinco segundos */
.race-carousel{max-width:920px;margin-inline:auto}
.race-card{flex:0 0 100%;padding:38px 42px;min-height:365px}
.race-card-time{font-size:clamp(70px,8vw,108px)}
.race-card-top{display:flex}.race-card-top time{margin-top:0}
.race-card-bottom{display:flex}.race-card-bottom .text-link{margin-top:0}
.race-carousel-footer{max-width:784px;margin:25px auto 0}
.race-autoplay{background:none;border:0;border-bottom:1px solid #777;padding:3px 0;font-size:11px;color:#111}
.race-autoplay:hover{border-color:#111}
@media(max-width:900px){.race-carousel-footer{margin-inline:52px}}
@media(max-width:600px){.race-card{padding:25px 22px;min-height:350px}.race-card-time{font-size:clamp(44px,12vw,70px)}.race-card-bottom{display:block}.race-card-bottom .text-link{margin-top:18px}.race-carousel-footer{margin-inline:38px;flex-wrap:wrap}.race-autoplay{font-size:10px}}

/* Bloque 4 · composición más compacta y una única fuente al pie */
.race-section{padding-block:58px}
.race-section .section-top{margin-bottom:30px}
.race-carousel{max-width:820px}
.race-card{min-height:265px;padding:26px 32px}
.race-card-time{font-size:clamp(60px,6.2vw,88px);margin:22px 0 12px}
.race-card-top{padding-bottom:14px}
.race-card-bottom{padding-top:20px}
.race-carousel-footer{max-width:684px;margin-top:16px}
.race-source{text-align:center;margin-top:18px}
.race-source .text-link{margin-top:0;font-size:11px}
@media(max-width:900px){.race-carousel-footer{margin-inline:52px}}
@media(max-width:600px){.race-section{padding-block:42px}.race-section .section-top{margin-bottom:24px}.race-card{min-height:255px;padding:22px 20px}.race-card-time{font-size:clamp(44px,12vw,70px);margin-top:24px}.race-carousel-footer{margin-inline:38px}.race-source{margin-top:20px}}
/* Bloque 4 · carrusel algo mayor y marcas más legibles */
.race-carousel{max-width:960px}
.race-card{min-height:310px;padding:32px 40px}
.race-card-time{font-size:clamp(72px,7.4vw,104px);margin:26px 0 14px}
.race-card h3{font-size:clamp(30px,3.2vw,44px)}
.race-card-top{font-size:12px}
.race-card-bottom{font-size:12px}
.race-carousel-footer{max-width:824px}
@media(max-width:900px){.race-card{padding:28px 30px}.race-card-time{font-size:clamp(64px,8vw,90px)}}
@media(max-width:600px){.race-card{min-height:285px;padding:25px 22px}.race-card-time{font-size:clamp(48px,13vw,76px)}.race-card h3{font-size:32px}.race-card-top{font-size:10px}}

/* Fotografía horizontal a todo el ancho, después del carrusel */
.vienna-panorama{width:100%;margin:0;aspect-ratio:16/9;overflow:hidden;background:#222}
.vienna-panorama img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 90%}
@media(max-width:600px){.vienna-panorama{aspect-ratio:4/3}.vienna-panorama img{object-position:50% 83%}}

/* Separación visual · fotografía de Ljubljana después del bloque 2 */
.finish-separator{margin:0;width:100%;aspect-ratio:16/9;overflow:hidden;background:#222}
.finish-separator img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 55%}
@media(max-width:600px){.finish-separator{aspect-ratio:3/2}.finish-separator img{object-position:center}}
/* Unión del bloque 2 con la fotografía de Ljubljana */
.finish-separator{position:relative;isolation:isolate;background:var(--paper)}
.finish-separator img{filter:brightness(.76)}
.finish-separator:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(to bottom,var(--paper) 0%,rgba(243,242,238,.9) 5%,rgba(243,242,238,.4) 18%,rgba(243,242,238,0) 38%)}
/* Nueva sección independiente: juventud y progresión en el maratón */
.generation-section{background:var(--paper);color:var(--ink);padding-block:95px}
.generation-lead{font-size:12px;letter-spacing:.1em;margin-bottom:28px}
.generation-opening h2{font-size:clamp(40px,5.8vw,88px);line-height:1.08;max-width:1100px}
.generation-opening h2 span{display:block}.generation-opening h2 span:first-child{color:#65645f;margin-bottom:8px}
.generation-intro{display:grid;grid-template-columns:1.3fr 1fr;gap:10%;margin-top:36px;font-size:18px;max-width:1120px}
.generation-closing{font-size:21px;line-height:1.45;align-self:end;max-width:30ch}
.generation-indicators{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;margin-top:60px;padding:32px 0;border-block:1px solid #b3b2ac}
.generation-indicators>div{display:flex;flex-direction:column;gap:16px}.generation-indicators strong{font:400 clamp(40px,5.1vw,78px)/1 var(--display);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.generation-indicators span{font-size:10px;letter-spacing:.04em;max-width:24ch}
.generation-progression{margin-top:85px}.generation-progression>h3{font-size:clamp(30px,3.7vw,54px);max-width:1000px}.generation-chart-subtitle{font-size:16px;margin-top:16px}.generation-axis-note{font-size:11px;color:#555;margin-top:40px}
.generation-chart{margin-top:16px}.generation-chart svg{display:block;width:100%;height:auto;stroke:none;fill:none;overflow:visible}.generation-grid path{stroke:#c8c7c0;stroke-width:1}.generation-axis-labels{fill:#666;font:15px var(--body)}.generation-rise-line{stroke:#111;stroke-width:3}.generation-chart-point{fill:#111}.generation-final-ring{fill:#111}.generation-final-point{fill:var(--paper)}.generation-time-labels{fill:#111;font:400 32px var(--display);font-variant-numeric:tabular-nums}.generation-gain-labels{fill:#555;font:17px var(--body)}
.generation-race-labels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;font-size:12px;color:#111;margin-top:0}.generation-race-labels>div{display:flex;flex-direction:column;gap:6px}.generation-race-labels>div:nth-child(2),.generation-race-labels>div:nth-child(3){text-align:center}.generation-race-labels>div:last-child{text-align:right}.generation-race-labels time{color:#666;font-size:11px}
.generation-improvement{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;border-top:1px solid #b3b2ac;margin-top:44px;padding-top:32px}.generation-improvement>div>p{font-size:10px;letter-spacing:.07em;margin-bottom:14px}.generation-improvement strong{font:400 clamp(30px,3.5vw,52px)/1.15 var(--display)}.generation-improvement>p{font-size:16px;max-width:55ch}
.generation-vienna{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;margin-top:95px}.generation-photo{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;object-position:center}.generation-vienna-date{font-size:11px;letter-spacing:.08em;margin-bottom:24px}.generation-vienna h3{font-size:clamp(32px,4vw,58px);line-height:1.07;max-width:17ch;margin-bottom:28px}.generation-vienna>div>p:not(.generation-vienna-date){font-size:16px;margin-top:18px;max-width:50ch}
@media(max-width:900px){.generation-intro{gap:6%;font-size:16px}.generation-closing{font-size:18px}.generation-indicators{gap:20px}.generation-vienna{gap:6%}.generation-vienna>div>p:not(.generation-vienna-date){font-size:14px}}
@media(max-width:600px){.generation-section{padding-block:58px}.generation-lead{font-size:10px;letter-spacing:.04em;line-height:1.5;margin-bottom:20px}.generation-opening h2{font-size:clamp(34px,9.5vw,52px)}.generation-intro{grid-template-columns:1fr;gap:24px;margin-top:28px;font-size:16px}.generation-closing{font-size:18px}.generation-indicators{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 24px;margin-top:36px;padding-block:28px}.generation-indicators strong{font-size:clamp(40px,11vw,60px)}.generation-indicators span{font-size:9px}.generation-progression{margin-top:52px}.generation-progression>h3{font-size:30px}.generation-chart-subtitle{font-size:14px}.generation-axis-note{font-size:10px;max-width:30ch;margin-top:28px}.generation-time-labels{font-size:35px}.generation-gain-labels{font-size:24px}.generation-axis-labels{font-size:22px}.generation-race-labels{gap:10px;font-size:9px;line-height:1.4}.generation-race-labels time{font-size:10px}.generation-improvement{grid-template-columns:1fr;gap:24px;margin-top:30px;padding-top:26px}.generation-improvement>p{font-size:15px}.generation-vienna{grid-template-columns:1fr;gap:28px;margin-top:54px}.generation-photo{aspect-ratio:1/1}.generation-vienna-date{margin-bottom:18px}.generation-vienna h3{font-size:38px;margin-bottom:22px}.generation-vienna>div>p:not(.generation-vienna-date){font-size:15px}}
/* Cambios agrupados: nueva generación, progresión y contacto. */
.generation-subheading{font-size:12px;letter-spacing:.1em;margin-top:24px;line-height:1.6}
.generation-vienna{display:block;max-width:860px;margin-inline:auto}.generation-vienna h3{max-width:24ch}.generation-vienna>div>p:not(.generation-vienna-date){max-width:65ch}
.generation-indicators>div{min-width:0}.cascade-ready>div{opacity:0;transform:translateY(-22px);transition:opacity .55s ease-out,transform .65s cubic-bezier(.16,1,.3,1)}.cascade-visible>div{opacity:1;transform:translateY(0)}.cascade-ready>div:nth-child(2){transition-delay:.14s}.cascade-ready>div:nth-child(3){transition-delay:.28s}.cascade-ready>div:nth-child(4){transition-delay:.42s}
[data-progression-point]{cursor:pointer;stroke:transparent;stroke-width:24px;paint-order:stroke fill;outline:none;transition:fill .2s}
[data-progression-point]:hover,[data-progression-point]:focus-visible{stroke:#8a8982;stroke-width:8px}.generation-final-point:hover,.generation-final-point:focus-visible{stroke:var(--paper);stroke-width:4px}.generation-time-labels{pointer-events:none}
.contact-section{background:#171717;color:#f3f2ee;padding-block:55px}.contact-disclosure>summary{list-style:none;display:flex;justify-content:space-between;gap:30px;align-items:start;cursor:pointer;padding:0;border:0}.contact-disclosure>summary::-webkit-details-marker{display:none}.contact-disclosure h2{font:500 clamp(27px,3.1vw,45px)/1.25 var(--body);letter-spacing:-.025em;max-width:1000px}.contact-toggle{width:22px;height:22px;position:relative;flex-shrink:0;margin-top:8px}.contact-toggle:before,.contact-toggle:after{content:'';position:absolute;left:0;top:10px;width:22px;height:1px;background:currentColor}.contact-toggle:after{transform:rotate(90deg)}.contact-disclosure[open] .contact-toggle{transform:rotate(45deg)}
#contact-form{max-width:1100px;margin:36px auto 0;padding-top:30px;border-top:1px solid #777}.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:24px 30px}.contact-fields label{display:flex;flex-direction:column;gap:9px;font-size:13px;min-width:0}.contact-wide{grid-column:1/-1}.contact-fields input,.contact-fields textarea{width:100%;border:0;border-bottom:1px solid #858580;background:#222;color:#fff;border-radius:0;padding:13px 15px;font:16px/1.5 var(--body);caret-color:white}.contact-fields textarea{resize:vertical;min-height:140px}.contact-fields input:focus-visible,.contact-fields textarea:focus-visible{outline:2px solid #eee;outline-offset:3px}.contact-help{font-size:12px;color:#ccc;margin-top:20px}.contact-actions{display:flex;gap:28px;align-items:center;margin-top:24px}.contact-send{display:flex;align-items:center;gap:25px;background:#f3f2ee;color:#111;border:0;padding:15px 20px;font-size:14px}.contact-send:hover{background:#d9d8d3}#copy-contact{border:0;border-bottom:1px solid;background:none;padding:5px 0;font-size:13px}.contact-status{font-size:12px;margin-top:15px;color:#ddd}.contact-status:empty{display:none}
.agency-footer{padding:30px 5.4% 25px;border:0;background:var(--paper);color:#111;display:flex;flex-direction:column;align-items:center;gap:16px}.agency-footer .agency-brand{width:365px;max-width:100%;height:58px;gap:20px}.agency-footer .agency-symbol{width:80px;height:53px}.agency-footer .agency-wordmark{width:265px;height:47px}.agency-footer small{font-size:10px;text-align:center;color:#444}
@media(max-width:600px){.generation-subheading{font-size:10px;letter-spacing:.05em}.contact-section{padding-block:38px}.contact-disclosure h2{font-size:26px}.contact-fields{grid-template-columns:1fr;gap:20px}.contact-wide{grid-column:auto}#contact-form{padding-top:25px;margin-top:28px}.contact-actions{align-items:start;flex-wrap:wrap;gap:20px}.contact-send{padding:13px 16px;font-size:13px}.agency-footer .agency-brand{width:280px;gap:16px}.agency-footer .agency-symbol{width:60px;height:42px}.agency-footer .agency-wordmark{width:204px;height:37px}}
@media(prefers-reduced-motion:reduce){.cascade-ready>div{opacity:1;transform:none;transition:none}}

/* Correcciones agrupadas: cifras discretas, énfasis al señalar y fondo de contacto. */
.generation-time-labels{font-size:26px}
.generation-time-labels text{transition:font-size .2s ease-out}
.generation-time-labels text.is-highlighted{font-size:35px}
.generation-indicators strong{font-size:clamp(34px,4.2vw,64px);transform-origin:left center;transition:transform .22s ease-out}
.generation-indicators>div:hover strong{transform:scale(1.12)}
.generation-chart{margin-top:28px}
.contact-section{background-image:linear-gradient(90deg,rgba(0,0,0,.84),rgba(0,0,0,.76)),url('assets/portrait.jpg');background-size:cover;background-position:center 22%;background-repeat:no-repeat}
.contact-fields input,.contact-fields textarea{background:rgba(12,12,12,.5)}
@media(max-width:600px){.generation-time-labels{font-size:26px}.generation-time-labels text.is-highlighted{font-size:35px}.generation-indicators strong{font-size:clamp(34px,9.5vw,52px)}.contact-section{background-position:55% 18%}}

/* Aparición claramente secuencial al entrar en la sección. */
.cascade-ready>div{transition:opacity .5s ease-out,transform .6s cubic-bezier(.16,1,.3,1);transition-delay:0s}
.cascade-ready:not(.cascade-visible)>div{opacity:0;transform:translateY(-28px);transition:none}
.cascade-visible>div{opacity:1;transform:translateY(0)}
.cascade-visible>div:nth-child(1){transition-delay:0s}
.cascade-visible>div:nth-child(2){transition-delay:.65s}
.cascade-visible>div:nth-child(3){transition-delay:1.3s}
.cascade-visible>div:nth-child(4){transition-delay:1.95s}
.contact-section{background-image:linear-gradient(90deg,rgba(0,0,0,.84),rgba(0,0,0,.74)),url('assets/contact-15.jpeg');background-position:center 32%}
@media(max-width:600px){.contact-section{background-position:65% 28%}}
@media(prefers-reduced-motion:reduce){.cascade-ready>div,.cascade-ready:not(.cascade-visible)>div{opacity:1;transform:none;transition:none}}
/* Contacto · retrato más alejado */
.contact-section{background-size:100% 100%,auto 120%;background-position:center,center 40%;background-color:#171717}
@media(max-width:600px){.contact-section{background-size:100% 100%,auto 110%;background-position:center,center 35%}}
/* Contacto · probar fotografía de entrenamiento a fondo completo */
.contact-section{background-image:linear-gradient(90deg,rgba(0,0,0,.8),rgba(0,0,0,.72)),url('assets/entrenamiento.jpeg');background-size:100% 100%,cover;background-position:center,center 48%}
@media(max-width:600px){.contact-section{background-size:100% 100%,cover;background-position:center,58% center}}
/* Títulos coherentes, fotografía de Viena y pie oscuro. */
.race-section h2,.generation-opening h2,.generation-progression>h3,.generation-vienna h3,.contact-disclosure h2{font-family:var(--display);font-size:clamp(34px,4.6vw,64px);font-weight:400;line-height:1.1;letter-spacing:-.015em;text-transform:uppercase;text-wrap:balance}
.race-section .section-top{margin-bottom:36px}
.generation-progression{padding-top:54px;border-top:1px solid #b3b2ac;margin-top:64px}
.generation-vienna{width:100%;max-width:900px;height:clamp(430px,42vw,480px);aspect-ratio:auto;display:flex;align-items:center;overflow:hidden;padding:clamp(26px,3.5vw,44px);margin:75px auto 0;background:linear-gradient(180deg,rgba(0,0,0,.12) 0%,rgba(0,0,0,.38) 50%,rgba(0,0,0,.88) 100%),url('assets/vienna-city.jpeg') center 55%/cover no-repeat;color:#f3f2ee}
.generation-vienna>div{width:100%}.generation-vienna h3{max-width:20ch;margin-bottom:30px}.generation-vienna>div>p:not(.generation-vienna-date){max-width:55ch;line-height:1.7}.generation-vienna-date{color:#e0dfda}
.contact-section{background-image:linear-gradient(90deg,rgba(0,0,0,.86),rgba(0,0,0,.63)),url('assets/vienna-pack.jpeg');background-size:100% 100%,cover;background-position:center,right 20%;background-repeat:no-repeat}
.agency-footer{background:#111;color:#f3f2ee}.agency-footer small{color:#bdbdb8}
@media(max-width:600px){.race-section h2,.generation-opening h2,.generation-progression>h3,.generation-vienna h3,.contact-disclosure h2{font-size:32px;line-height:1.12}.generation-progression{margin-top:42px;padding-top:38px}.generation-vienna{height:auto;aspect-ratio:4/5;padding:28px;min-height:440px;margin-top:48px;background-size:100% 100%,auto 110%;background-position:center,center top}.generation-vienna h3{font-size:29px;margin-bottom:22px}.generation-vienna>div>p:not(.generation-vienna-date){font-size:14px;line-height:1.6}.generation-vienna-date{font-size:10px;letter-spacing:.04em}.contact-section{background-position:center,100% 35%}.contact-disclosure h2{font-size:30px}}
.generation-section{padding-bottom:28px}.generation-vienna{margin-top:48px}.generation-progression{background:var(--paper);color:var(--ink);padding-inline:clamp(24px,5.4vw,96px);padding-bottom:80px}
@media(max-width:600px){.generation-section{padding-bottom:24px}.generation-progression{padding-inline:24px;padding-bottom:48px}}
.generation-vienna>div{transform:translateY(-14px)}.generation-vienna h3{font-size:clamp(30px,3.7vw,50px);transform:translateY(-8px);margin-bottom:20px}
@media(max-width:600px){.generation-vienna>div{transform:translateY(-8px)}.generation-vienna h3{font-size:29px;transform:translateY(-5px);margin-bottom:18px}}
.generation-vienna>div{display:flex;flex-direction:column;transform:translateY(-18px)}.generation-vienna h3{order:1;font-size:clamp(32px,4vw,54px);transform:translateY(-12px);margin-bottom:8px}.generation-vienna-date{order:2;transform:translateY(-6px);margin:0 0 12px}.generation-vienna>div>p:not(.generation-vienna-date){order:3}
@media(max-width:600px){.generation-vienna>div{transform:translateY(-8px)}.generation-vienna h3{font-size:31px;transform:translateY(-8px);margin-bottom:8px}.generation-vienna-date{transform:translateY(-3px);margin-bottom:10px}}
.generation-vienna>div>p:nth-of-type(2){position:relative;top:28px}.generation-vienna>div>p:nth-of-type(3){position:relative;top:18px}
@media(max-width:600px){.generation-vienna>div>p:nth-of-type(2){top:22px}.generation-vienna>div>p:nth-of-type(3){top:14px}}
.generation-progression-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.82fr);gap:clamp(32px,6vw,76px);align-items:center;margin-top:34px}.generation-progression-data{min-width:0}.generation-progression-data .generation-chart{margin-top:0}.generation-progression-data .generation-improvement{grid-template-columns:1fr;gap:16px;margin-top:30px;padding-top:24px}.generation-progression-photo{margin:0;align-self:stretch;display:flex;flex-direction:column;justify-content:center}.generation-progression-photo img{display:block;width:100%;height:auto;aspect-ratio:1001/1400;object-fit:cover;object-position:center;border:1px solid rgba(17,17,17,.08)}.generation-progression-photo figcaption{margin-top:10px;text-align:right;color:#666;font-size:10px;letter-spacing:.035em}
@media(max-width:900px){.generation-progression-layout{grid-template-columns:minmax(0,1.35fr) minmax(230px,.85fr);gap:30px}}
@media(max-width:600px){.generation-progression-layout{grid-template-columns:1fr;gap:34px;margin-top:28px}.generation-progression-photo{width:min(100%,420px);justify-self:center}.generation-progression-photo img{aspect-ratio:4/5;object-position:center 42%}.generation-progression-photo figcaption{font-size:10px}.generation-progression-data .generation-improvement{margin-top:24px;gap:12px}}
.generation-progression{position:relative;isolation:isolate;overflow:hidden;background:var(--paper)}.generation-progression::before{content:"";position:absolute;z-index:0;inset:0 0 0 38%;pointer-events:none;background-image:linear-gradient(90deg,rgba(243,242,238,.92) 0%,rgba(243,242,238,.78) 36%,rgba(243,242,238,.38) 72%,rgba(243,242,238,.24) 100%),url('assets/haftamu-progression.jpg');background-repeat:no-repeat;background-size:100% 100%,auto 100%;background-position:center,right center}.generation-progression>h3,.generation-progression>.generation-chart-subtitle,.generation-progression>.generation-progression-layout,.generation-progression>.generation-photo-credit{position:relative;z-index:1}.generation-progression>h3,.generation-progression>.generation-chart-subtitle{max-width:62%}.generation-progression-layout{display:block;position:relative;margin-top:34px}.generation-progression-data{width:min(68%,760px)}.generation-progression-data .generation-chart{margin-top:0}.generation-progression-data .generation-improvement{grid-template-columns:1fr;gap:16px;margin-top:30px;padding-top:24px}.generation-progression-photo.visually-hidden{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}.generation-photo-credit{position:absolute;right:clamp(24px,5.4vw,96px);bottom:30px;margin:0;color:#444;font-size:10px;letter-spacing:.035em;text-align:right}
@media(max-width:900px){.generation-progression::before{inset:0 0 0 34%;background-size:100% 100%,auto 100%}.generation-progression-data{width:70%}.generation-progression>h3,.generation-progression>.generation-chart-subtitle{max-width:68%}}
@media(max-width:600px){.generation-progression::before{inset:auto 0 0;height:36%;background-image:linear-gradient(180deg,rgba(243,242,238,.8),rgba(243,242,238,.32)),url('assets/haftamu-progression.jpg');background-size:100% 100%,cover;background-position:center,center 34%}.generation-progression-layout{margin-top:28px}.generation-progression-data{width:100%}.generation-progression>h3,.generation-progression>.generation-chart-subtitle{max-width:100%}.generation-photo-credit{position:relative;right:auto;bottom:auto;margin-top:22px}}
@media(min-width:901px){.generation-progression::before{inset:0;background-image:linear-gradient(90deg,rgba(243,242,238,.995) 0%,rgba(243,242,238,.995) 30%,rgba(243,242,238,1) 38%,rgba(243,242,238,1) 44%,rgba(243,242,238,.96) 48%,rgba(243,242,238,.83) 53%,rgba(243,242,238,.68) 57%,rgba(243,242,238,.55) 60%,rgba(243,242,238,.37) 70%,rgba(243,242,238,.23) 85%,rgba(243,242,238,.12) 100%),radial-gradient(ellipse 76% 105% at 92% 50%,rgba(243,242,238,0) 24%,rgba(243,242,238,.08) 43%,rgba(243,242,238,.35) 69%,rgba(243,242,238,.76) 100%),linear-gradient(180deg,rgba(243,242,238,.86) 0%,rgba(243,242,238,.48) 9%,rgba(243,242,238,.08) 21%,rgba(243,242,238,0) 31%),url('assets/haftamu-progression.jpg');background-size:100% 100%,100% 100%,100% 100%,62% auto;background-position:center,center,center,right 0%}.generation-progression-data{width:61%}}
.contact-disclosure h2{font-family:var(--display);font-size:clamp(25px,2.7vw,32px);font-weight:400;line-height:1.12;letter-spacing:-.015em;max-width:850px;text-transform:uppercase}.contact-disclosure .contact-toggle{margin-top:5px}
@media(max-width:600px){.contact-disclosure h2{font-size:25px}}
.generation-race-labels{margin-top:10px}
.generation-vienna{background-image:linear-gradient(180deg,rgba(0,0,0,.16) 0%,rgba(0,0,0,.3) 34%,rgba(0,0,0,.72) 60%,rgba(0,0,0,.92) 100%),url('assets/vienna-city.jpeg')}
.generation-vienna>div>p:not(.generation-vienna-date){font-size:17px;line-height:1.65}
.generation-vienna>div>p:nth-of-type(2){top:53px}.generation-vienna>div>p:nth-of-type(3){top:39px}
@media(max-width:600px){.generation-race-labels{margin-top:8px}.generation-vienna>div>p:not(.generation-vienna-date){font-size:15px;line-height:1.6}.generation-vienna>div>p:nth-of-type(2){top:35px}.generation-vienna>div>p:nth-of-type(3){top:25px}}
