/* Profils Sports — architectural impact intro */
.preloader.intro-upgraded {
  --intro-progress: 0;
  --intro-marks-offset: 260;
  --intro-ink: #07131f;
  --intro-paper: #f1efe6;
  --intro-signal: #efe158;
  display: block;
  overflow: hidden;
  background: var(--intro-ink);
  color: var(--intro-paper);
  clip-path: none !important;
  pointer-events: auto !important;
  transition: none !important;
  isolation: isolate;
}
.preloader.intro-upgraded.is-opening { background:transparent; pointer-events:none !important; }

body.intro-running { overflow: hidden; }
body.intro-running .directional-cursor { opacity:0 !important; }
body.intro-running .site-header { opacity: 0; transform: translateY(-16px); }
body.intro-opening .site-header { opacity:1; transform:none; }
.site-header { transition: background .45s,color .45s,border-color .45s,opacity .5s ease,transform .7s cubic-bezier(.18,.82,.18,1); }
.intro-upgraded .preloader-word,.intro-upgraded .preloader-rule { display: none; }

.intro-stage { position:absolute; inset:0; z-index:2; overflow:hidden; background:var(--intro-ink); }
.intro-atmosphere { position:absolute; inset:-15%; background:radial-gradient(circle at 68% 38%,rgba(31,67,82,.58),transparent 35%),radial-gradient(circle at 18% 82%,rgba(239,225,88,.08),transparent 28%); opacity:.1; transform:scale(.9); transition:opacity 1.1s ease,transform 2.8s cubic-bezier(.18,.82,.18,1); }
.intro-upgraded.is-building .intro-atmosphere { opacity:1; transform:scale(1); }

.intro-grid { position:absolute; inset:-8%; opacity:0; background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px); background-size:clamp(54px,6.25vw,110px) clamp(54px,6.25vw,110px); transform:perspective(900px) rotateX(12deg) scale(1.08); transition:opacity .7s ease,transform 2.5s cubic-bezier(.18,.82,.18,1); }
.intro-upgraded.is-building .intro-grid { opacity:.7; transform:perspective(900px) rotateX(0) scale(1); }

.intro-blueprint { position:absolute; z-index:1; width:min(88vw,116vh,1280px); height:auto; left:50%; top:48%; overflow:visible; transform:translate3d(-50%,-50%,0) rotate(-5deg) scale(.88); opacity:.08; transition:transform 2.5s cubic-bezier(.18,.82,.18,1),opacity .8s ease; }
.intro-upgraded.is-building .intro-blueprint { transform:translate3d(-50%,-50%,0) rotate(0) scale(1); opacity:.82; }
.intro-blueprint * { fill:none; }
.intro-blueprint__ghost,.intro-blueprint__field,.intro-blueprint__marks { transform-box:fill-box; transform-origin:center; will-change:transform,opacity; }
.intro-blueprint__ghost { stroke:rgba(239,225,88,.22); stroke-width:1; stroke-dasharray:8 13; transition:opacity .34s ease,transform .58s cubic-bezier(.18,.82,.18,1); }
.intro-blueprint__field { stroke:rgba(239,225,88,.82); stroke-width:1.35; transition:opacity .5s .08s ease,transform .64s cubic-bezier(.18,.82,.18,1); }
.intro-blueprint__field > * { stroke-linecap:round; stroke-linejoin:round; }
.intro-blueprint__marks { stroke:rgba(255,255,255,.38); stroke-width:1; stroke-dasharray:260; stroke-dashoffset:var(--intro-marks-offset); transition:opacity .34s ease,transform .52s cubic-bezier(.18,.82,.18,1); }
.intro-upgraded.is-resolving .intro-blueprint__ghost { opacity:0; transform:scale(.76); }
.intro-upgraded.is-resolving .intro-blueprint__field { opacity:0; transform:scale(.18) rotate(5deg); }
.intro-upgraded.is-resolving .intro-blueprint__marks { opacity:0; transform:scale(.3); }

.intro-readout,.intro-progress { transition:opacity .34s ease,transform .5s cubic-bezier(.18,.82,.18,1); }
.intro-upgraded.is-resolving .intro-readout { opacity:0; transform:translate3d(0,12px,0); }
.intro-upgraded.is-resolving .intro-progress { opacity:0; }

.intro-readout { position:absolute; z-index:6; right:4.8vw; bottom:5vh; width:min(29vw,410px); display:grid; grid-template-columns:auto 1fr; gap:20px 26px; align-items:end; }
.intro-readout__count { display:flex; align-items:flex-start; font-family:"Barlow Condensed",sans-serif; font-size:clamp(60px,6vw,94px); font-weight:700; line-height:.72; color:var(--intro-paper); font-variant-numeric:tabular-nums; }
.intro-readout__count small { margin:2px 0 0 5px; color:var(--intro-signal); font:700 10px/1 "Archivo",sans-serif; }
.intro-readout__state { padding:0 0 3px 18px; border-left:1px solid rgba(255,255,255,.2); display:grid; gap:7px; }
.intro-readout__state span { font-size:7px; font-weight:800; letter-spacing:.16em; color:rgba(255,255,255,.4); }
.intro-readout__state strong { font-family:"Barlow Condensed",sans-serif; font-size:23px; line-height:1; letter-spacing:.03em; color:var(--intro-signal); }

.intro-progress { position:absolute; z-index:8; left:0; right:0; bottom:0; height:5px; background:rgba(239,225,88,.12); }
.intro-progress i { display:block; width:100%; height:100%; background:var(--intro-signal); transform:scaleX(var(--intro-progress)); transform-origin:left; box-shadow:0 -8px 28px rgba(239,225,88,.18); }

.intro-logo-proxy { position:fixed; z-index:12; display:block; opacity:0; object-fit:contain; clip-path:circle(8% at 50% 50%); filter:brightness(0) saturate(100%) invert(88%) sepia(91%) saturate(488%) hue-rotate(352deg) brightness(101%) contrast(87%); transform:scale(.38) rotate(-10deg); transform-origin:center; transition:opacity .34s .08s ease,clip-path .62s cubic-bezier(.18,.82,.18,1),transform .62s cubic-bezier(.18,.82,.18,1); will-change:transform,opacity,clip-path; }
.intro-upgraded.is-resolving .intro-logo-proxy { opacity:1; clip-path:circle(50% at 50% 50%); transform:scale(1) rotate(0); }
.intro-upgraded.is-resolving .intro-logo-proxy.is-landed { opacity:0; }
.intro-builder-cursor { position:fixed; z-index:14; left:0; top:0; width:32px; height:18px; opacity:0; color:var(--intro-signal); pointer-events:none; transform-origin:center; filter:drop-shadow(0 0 12px rgba(239,225,88,.82)); will-change:transform,opacity; transition:opacity .18s ease; }
.intro-builder-cursor i { position:absolute; inset:0; display:block; background:currentColor; clip-path:polygon(0 4%,100% 50%,0 96%,30% 50%); transform-origin:center; transition:transform .14s ease,opacity .14s ease; }
.intro-builder-cursor::after { content:""; position:absolute; width:5px; height:5px; left:13.5px; top:6.5px; border-radius:50%; background:var(--intro-paper); transition:opacity .14s ease; }
.intro-builder-cursor.is-active { opacity:1; }
.intro-builder-cursor.is-travelling i { opacity:.68; transform:scale(.76); }
.intro-builder-cursor.is-travelling::after { opacity:.48; }
.intro-builder-cursor.is-landed { opacity:0; }
.intro-gates { position:absolute; z-index:9; inset:0; display:grid; grid-template-columns:repeat(4,1fr); pointer-events:none; }
.intro-gates span { background:transparent; border-right:1px solid transparent; transform:translateY(0); will-change:transform; }
.intro-upgraded.is-opening .intro-gates span { background:var(--intro-ink); border-color:rgba(255,255,255,.055); }
.intro-flight { position:fixed; z-index:13; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none; opacity:0; }
.intro-flight path { vector-effect:non-scaling-stroke; }
.intro-flight__trace { fill:none; stroke:var(--intro-signal); stroke-width:1.5; filter:drop-shadow(0 0 8px rgba(239,225,88,.48)); }
.intro-flight__landing { fill:none; stroke:var(--intro-signal); stroke-width:1.5; opacity:0; transform-box:fill-box; transform-origin:center; }
.intro-flight.is-flying { opacity:1; }
.intro-flight.is-landed { transition:opacity .22s .16s ease; opacity:0; }
.intro-flight.is-landed .intro-flight__landing { animation:introFlightLanding .44s cubic-bezier(.18,.82,.18,1) both; }
.brand-logo { transition:filter .35s,opacity .16s ease; }
body.intro-opening:not(.intro-logo-landed) .brand-logo { opacity:0; }
body.intro-opening.intro-logo-landed .brand-logo { opacity:1; }
.brand.is-intro-landed .brand-logo { animation:introLogoLanding .56s cubic-bezier(.18,.82,.18,1) both; }
body.intro-opening:not(.intro-hero-drawing) .hero-line b { transform:translateY(115%); transition:none !important; }
body.intro-opening.is-loaded .hero-shutters i { transition-duration:.92s; transition-timing-function:cubic-bezier(.7,0,.15,1); }
body.intro-opening.is-loaded .hero-shutters i:nth-child(2) { transition-delay:.04s; }
body.intro-opening.is-loaded .hero-shutters i:nth-child(3) { transition-delay:.08s; }
body.intro-opening.is-loaded .hero-shutters i:nth-child(4) { transition-delay:.12s; }
body.intro-opening.intro-hero-drawing .hero-line b { transform:none; transition:none !important; will-change:clip-path; }
body.intro-opening:not(.intro-hero-release) .hero-tagline,
body.intro-opening:not(.intro-hero-release) .hero-bottom,
body.intro-opening:not(.intro-hero-release) .hero-coordinate,
body.intro-opening:not(.intro-hero-release) .hero-proof { opacity:0 !important; transform:translate3d(0,16px,0); transition:none !important; }
body.intro-opening.intro-hero-release .hero-tagline,
body.intro-opening.intro-hero-release .hero-bottom,
body.intro-opening.intro-hero-release .hero-coordinate,
body.intro-opening.intro-hero-release .hero-proof { transition:opacity .58s .08s ease,transform .66s .08s cubic-bezier(.18,.82,.18,1) !important; }
.intro-upgraded.is-opening .intro-stage { animation:introStageImpact .72s cubic-bezier(.2,.72,.16,1) both; }
.intro-upgraded.is-opening .intro-gates span:nth-child(1),.intro-upgraded.is-opening .intro-gates span:nth-child(3) { animation:introGateUp .94s .08s cubic-bezier(.7,0,.15,1) both; }
.intro-upgraded.is-opening .intro-gates span:nth-child(2),.intro-upgraded.is-opening .intro-gates span:nth-child(4) { animation:introGateDown .94s .08s cubic-bezier(.7,0,.15,1) both; }
.intro-upgraded.is-complete { display:none !important; }

@keyframes introStageImpact { 0%{opacity:1;transform:scale(1)} 42%{opacity:1;transform:scale(1.018)} 100%{opacity:0;transform:scale(1.035)} }
@keyframes introGateUp { to{transform:translateY(-102%)} }
@keyframes introGateDown { to{transform:translateY(102%)} }
@keyframes introFlightLanding { 0%{opacity:1;transform:scale(.5)} 60%{opacity:.9;transform:scale(4.3)} 100%{opacity:0;transform:scale(6)} }
@keyframes introLogoLanding { 0%,100%{transform:scale(1)} 42%{transform:scale(.82) rotate(-5deg)} 68%{transform:scale(1.13) rotate(2deg)} }

@media (max-width:900px){
  .intro-blueprint { width:min(98vw,108vh); }
  .intro-readout { width:min(43vw,330px); }
}

@media (max-width:620px){
  .intro-blueprint { width:min(114vw,96vh); top:45%; opacity:.05; }
  .intro-upgraded.is-building .intro-blueprint { opacity:.68; }
  .intro-readout { left:24px; right:24px; bottom:13vh; width:auto; grid-template-columns:auto 1fr; }
  .intro-readout__count { font-size:56px; }
  .intro-readout__state strong { font-size:19px; }
  .intro-gates { grid-template-columns:repeat(2,1fr); }
  .intro-gates span:nth-child(n+3) { display:none; }
}

@media (prefers-reduced-motion:reduce){
  .preloader.intro-upgraded { display:none !important; }
  body.intro-running { overflow:auto; }
  body.intro-running .site-header { opacity:1; transform:none; }
}
