.scene--hero { background-color:#051831; }
/* Print-screen texture: one stationary layer over the fixed night scene.
   Kept behind the interface and copy; no regenerated photos or extra downloads. */
.sports-home .scene--hero::after,
.about-page .portfolio-project:first-child .portfolio-image::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background-image:
    radial-gradient(circle,rgba(5,17,37,.9) 0 .65px,transparent .9px),
    radial-gradient(circle,rgba(0,196,225,.85) 0 .65px,transparent .9px),
    radial-gradient(circle,rgba(225,40,114,.65) 0 .5px,transparent .8px),
    radial-gradient(circle,rgba(255,219,94,.65) 0 .5px,transparent .8px);
  background-size:4px 4px;
  background-position:0 0,2px 2px,2px 0,0 2px;
  mix-blend-mode:soft-light;
  opacity:.72;
}
.about-page .portfolio-project:first-child .portfolio-image{isolation:isolate}
.about-page .portfolio-project:first-child .portfolio-image::after{z-index:1}
.about-page .portfolio-project:first-child .portfolio-visit{z-index:2}
.scene--hero .scene__image { background-image: url('./assets/sports-frontal-night-v1.lossless.webp'); background-size: cover; background-position: center center; }
.scene--hero .scene__image--night { opacity: 1; z-index: -3; }
.hero--center.reveal { opacity: 1; transform: translate(-50%, -50%); transition:none; }
.scene--hero { min-height:max(740px,100svh); aspect-ratio:auto; overflow-anchor:none; }
@font-face { font-family: 'Anton'; src: url('./assets/Anton-Regular.woff2') format('woff2'); font-style: normal; font-weight: 400; font-display: swap; }
.hero h1 { font-family: 'Anton', sans-serif; font-weight: 400; line-height: 1.12; letter-spacing: 0; }
.is-night .site-header .nav__links, .is-night .site-header .language > summary, .is-night .site-header .nav__action, .is-night .scene--hero .eyebrow { background: #10182885; transition: background 1800ms; }
/* Keep the desktop composition on narrow screens: copy over the stadium sky. */
@media (max-width: 1100px) {
  .sports-home .scene--hero { aspect-ratio:auto; min-height:max(820px, 100svh); color:#f8f8f5; padding:170px 0 310px; }
  .sports-home .scene--hero .hero--center { position:relative; top:auto; left:auto; width:auto; max-width:760px; margin:0 auto; padding:0 24px; transform:none; }
  .sports-home .scene--hero .hero--center.reveal { transform:none; }
  .sports-home .scene--hero .hero .eyebrow { color:#f7f0dc; font-size:24px; line-height:1.3; margin-bottom:18px; padding:0; }
  .sports-home .hero h1 { font-size:clamp(34px,5.6vw,56px); line-height:1.14; white-space:normal; overflow-wrap:normal; }
  .sports-home .hero__copy { font-size:16px; line-height:1.55; max-width:560px; margin:22px auto 0; }
  .sports-home .hero .button { background:#f8f8f5; color:#202723; margin-top:24px; min-height:48px; }
  .sports-home .scene--hero .scene__image { inset:0; height:100%; background-size:cover; background-position:center center; }
  .sports-home .scene--hero .scene__veil { display:none; }
  .sports-home .site-header.is-light .brand { color:#fff; }
  .sports-home .site-header.is-light .brand__eye--light { opacity:1; }
  .sports-home .site-header.is-light .brand__eye--dark { opacity:0; }
}
@media (max-width: 600px) {
  .sports-home .scene--hero { padding-top:154px; }
  .sports-home .scene--hero .hero--center { padding-inline:20px; }
  .sports-home .scene--hero .hero .eyebrow { font-size:22px; }
  .sports-home .hero h1 { font-size:clamp(32px,8.6vw,42px); }
  .sports-home .site-header .brand { gap:4px; }
  .sports-home .site-header .brand span:last-child { font-size:11px; }
  .sports-home .site-header.is-light .nav__action { padding:10px; font-size:11px; gap:6px; }
  .sports-home .nav__links > a { padding:12px 10px; font-size:14px; min-height:44px; }
  .sports-home .site-header.is-light .language > summary { min-height:44px; }
}
@media (max-width: 360px) {
  .sports-home .scene--hero { min-height:920px; padding-bottom:380px; }
}

/* Header: a single navigation capsule, stable contrast in both scenes. */
@font-face { font-family: 'Instrument Serif'; src: url('./assets/InstrumentSerif-Italic.woff2') format('woff2'); font-style: italic; font-weight: 400; font-display: swap; }
.site-header { grid-template-columns: 1fr auto 1fr; gap: 24px; }
.site-header .brand { font-size: 14px; }
.site-header.is-light .nav__links { display: flex; gap: 4px; padding: 6px; color: #20211e; background: rgba(246,243,234,.94); border: 1px solid #ffffff65; box-shadow: inset 0 1px 0 #fff8, 0 8px 28px #07162f12; }
.nav__links > a, .nav__links > span { padding: 12px 20px; font-size: 15px; font-weight: 600; opacity: 1; white-space: nowrap; border-radius: 999px; }
.nav__links > .is-current { color: #faf8f1; background: #232822; }
.nav__links > span[aria-disabled] { color: #363a32; }
.nav__links .language { margin-left: 4px; padding-left: 5px; border-left: 1px solid #24282216; }
.site-header.is-light .language > summary { display: flex; align-items: center; justify-content: center; gap: 5px; width: auto; height: 44px; padding: 0 7px; font-size: 11px; font-weight: 400; background: transparent; color: #55594f; border: 0; box-shadow: none; backdrop-filter: none; }
.language > summary .flag { width: 14px; height: 14px; flex-basis: 14px; }
.language > summary .language__chevron { margin-left: 0; font-size: 12px; }
.site-header.is-light .nav__links .language > summary { gap: 5px; padding-inline: 7px; }
.language__chevron { margin-left: 2px; font-size: 16px; transform: rotate(-90deg); }
.language[open] .language__chevron { transform: rotate(90deg); }
.flag { display: inline-block; flex: 0 0 20px; width: 20px; height: 20px; overflow: hidden; border-radius: 50%; box-shadow: inset 0 0 0 1px #00000012; }
.flag--en { background: url('./assets/flag-en.svg') center/cover; }
.flag--fr { background: linear-gradient(90deg,#21438e 0 33.33%,#fff 33.33% 66.66%,#e7434f 66.66%); }
.flag--es { background: linear-gradient(#c32432 0 25%,#f4cb43 25% 75%,#c32432 75%); }
.language__menu { inset:50% 0 auto auto; transform:translateY(-50%); display:flex; width:108px; height:44px; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; backdrop-filter:none; -webkit-backdrop-filter:none; }
.language__menu button { display:flex; align-items:center; justify-content:center; gap:0; width:36px; min-width:36px; min-height:44px; padding:0; color:#20211e; font-size:0; background:transparent; }
.language__menu button .flag { width:16px; height:16px; flex-basis:16px; }
.nav__links .language[open] { width:137px; flex-shrink:0; }
.site-header.is-light .nav__links .language[open] > summary { width:24px; padding:0; }
.language[open] > summary [data-current-flag], .language[open] > summary [data-current-language] { display:none; }
.language__menu button:hover { background: #f4f3ef; }
.language__menu .is-current { background:transparent; font-weight:600; }
.nav__links .language span { opacity: 1; }
@media(max-width:640px){
  .site-header.is-light .nav__links:has(.language[open]) { gap:0; }
  .nav__links:has(.language[open]) > a, .nav__links:has(.language[open]) > span { padding-inline:8px; font-size:13px; }
  .nav__links .language[open] { margin-left:0; padding-left:2px; width:132px; }
}
.scene--hero .hero .eyebrow { padding: 4px 12px 7px; margin: 0 0 24px; max-width: 100%; border: 0; border-radius: 0; background: transparent; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; font-family: 'Instrument Serif', Georgia, serif; font-style: italic; font-weight: 400; font-size: clamp(24px, 2.2vw, 32px); line-height: 1.25; letter-spacing: 0; color: #f7f0dc; text-transform: none; text-wrap: balance; }
.eyebrow.is-writing { animation: ink-reveal 2200ms cubic-bezier(.3,.1,.25,1) both; }
@keyframes ink-reveal { from { clip-path: inset(-8% 100% -8% -3%); } to { clip-path: inset(-8% -3% -8% -3%); } }
@media (prefers-reduced-motion: reduce) { .eyebrow.is-writing { animation: none; } }
.site-header.is-light .nav__action { display: inline-flex; align-items: center; gap: 12px; padding: 11px 17px; min-height: 44px; background: #f0e5c9; border: 0; color: #20211e; box-shadow: none; font-size: 13px; font-weight: 600; transition: transform 200ms, background 200ms; }
.site-header.is-light .nav__action:hover { background: #fff3d6; transform: translateY(-2px); }
.site-header.is-light .nav__action:active { transform: translateY(0); }
.cta-arrow { display: inline-block; color: currentColor; font-size: 18px; line-height: 1; transition: transform 200ms; }
.nav__action:hover .cta-arrow { transform: translate(2px,-2px); }
.site-header a:focus-visible, .language summary:focus-visible, .language button:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.nav__links a:focus-visible, .nav__action:focus-visible, .language summary:focus-visible, .language button:focus-visible { outline-color: #242922; }
@media (prefers-reduced-motion: reduce) {
  .site-header.is-light .nav__action, .cta-arrow { transition: none; }
  .site-header.is-light .nav__action:hover, .nav__action:hover .cta-arrow { transform: none; }
}
@media(max-width:1100px) { .site-header { grid-template-columns: 1fr auto; row-gap: 14px; } .site-header .nav__links { grid-row: 2; grid-column: 1 / -1; justify-self: center; } .header__actions { grid-row: 1; grid-column: 2; } }
@media(max-width:640px) { .site-header { gap: 14px 10px; } .brand span:last-child { display: inline; font-size: 12px; } .brand { gap: 8px; } .site-header.is-light .nav__action { gap: 9px; padding: 10px 14px; min-height: 44px; font-size: 12px; } .cta-arrow { width: auto; height: auto; font-size: 17px; } .site-header.is-light .nav__links { gap: 0; padding: 4px; } .nav__links > a, .nav__links > span { padding: 10px 13px; } .nav__links .language { margin-left: 4px; padding-left: 5px; } .site-header.is-light .language > summary { padding: 0 9px; height: 38px; gap: 6px; } .flag { width: 18px; height: 18px; flex-basis: 18px; } }
