/* ============================================================
   UniRacers Home
   Wszystko pod prefiksem .urh
   ============================================================ */

.urh{
  --g:#ad9a1d;
  --g-hi:#c9b426;
  --g-soft:rgba(173,154,29,.34);
  --g-glow:rgba(173,154,29,.16);

  --bg:#070707;
  --bg-alt:#0b0b0c;
  --panel:#121213;
  --panel-2:#191919;
  --line:rgba(255,255,255,.08);
  --line-2:rgba(255,255,255,.15);

  --fg:#fff;
  --fg-2:rgba(255,255,255,.84);
  --fg-3:rgba(255,255,255,.62);

  --pad:clamp(20px,5vw,64px);
  --gap:clamp(16px,2.2vw,26px);
  --sect:clamp(60px,7.5vw,108px);
  --ease:cubic-bezier(.22,.61,.36,1);

  position:relative;
  color:var(--fg);
  background:var(--bg);
  overflow-x:clip;
}
.urh *,.urh *::before,.urh *::after{box-sizing:border-box;}

/* delikatna tekstura asfaltu na calej stronie */
.urh::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.4;
  background-image:
    radial-gradient(circle at 20% 10%,rgba(173,154,29,.05),transparent 42%),
    radial-gradient(circle at 82% 62%,rgba(173,154,29,.04),transparent 46%);
}
.urh > *{position:relative;z-index:1;}

.urh-wrap{
  width:100%;
  max-width:1240px;
  margin:0 auto;
  padding-inline:var(--pad);
}

.urh-section{
  position:relative;
  padding-block:var(--sect);
}
.urh-section--alt{
  background:var(--bg-alt);
  border-block:1px solid var(--line);
}
/* zlota nitka rozdzielajaca sekcje */
.urh-section--alt::before{
  content:"";
  position:absolute;
  top:-1px;left:50%;
  width:min(280px,42vw);height:2px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,var(--g),transparent);
}

/* ============================================================
   PASEK POSTĘPU CZYTANIA
   ============================================================ */
.urh-readbar{
  position:fixed;
  top:0;left:0;right:0;
  height:2px;
  z-index:9999;
  background:transparent;
  pointer-events:none;
}
.urh-readbar span{
  display:block;
  height:100%;
  width:0;
  background:linear-gradient(90deg,var(--g),var(--g-hi));
  box-shadow:0 0 12px rgba(173,154,29,.55);
  transition:width .12s linear;
}

/* ============================================================
   TYPOGRAFIA
   ============================================================ */
.urh-eyebrow{
  margin:0 0 10px;
  font-size:10px;font-weight:800;letter-spacing:.24em;
  text-transform:uppercase;color:var(--g);
}
.urh-h2{
  margin:0;
  font-size:clamp(25px,3.5vw,42px);
  font-weight:800;line-height:1.12;letter-spacing:-.02em;
}
.urh-p,.urh-liga__body p{
  margin:0 0 18px;
  font-size:clamp(15px,1.5vw,16.5px);
  line-height:1.78;color:var(--fg-2);
}
.urh-liga__body p:last-child{margin-bottom:0;}

.urh-a{
  color:var(--g);text-decoration:none;
  border-bottom:1px solid var(--g-soft);
  transition:color .2s,border-color .2s;
}
.urh-a:hover{color:var(--g-hi);border-color:var(--g-hi);}
.urh-a--plain{border:0;}

.urh-head{
  display:flex;flex-wrap:wrap;
  align-items:flex-end;justify-content:space-between;
  gap:12px 24px;
  margin-bottom:clamp(28px,3.6vw,46px);
  padding-bottom:18px;
  border-bottom:1px solid var(--line);
}
.urh-head__status{
  margin:0;
  font-size:11px;font-weight:800;letter-spacing:.18em;
  text-transform:uppercase;color:var(--fg-3);
}

.urh-more{
  display:inline-block;margin-top:16px;
  font-size:11px;font-weight:800;letter-spacing:.14em;
  text-transform:uppercase;color:var(--g);
  text-decoration:none;
  border-bottom:1px solid var(--g-soft);
  padding-bottom:3px;
  transition:color .2s,border-color .2s;
}
.urh-more:hover{color:var(--g-hi);border-color:var(--g-hi);}

/* ============================================================
   WEJŚCIE SEKCJI
   ============================================================ */
.urh [data-reveal]{
  opacity:0;
  transform:translateY(24px);
  transition:opacity .7s var(--ease),transform .7s var(--ease);
}
.urh [data-reveal].is-in{opacity:1;transform:none;}

.urh [data-stagger]{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .55s var(--ease),transform .55s var(--ease);
  transition-delay:var(--sd,0ms);
}
.urh [data-stagger].is-in{opacity:1;transform:none;}

/* ============================================================
   HERO
   ============================================================ */
.urh-hero{
  position:relative;
  min-height:clamp(560px,92vh,940px);
  display:flex;align-items:center;
  isolation:isolate;
  overflow:hidden;
}
.urh-hero__media{position:absolute;inset:-8% 0;z-index:-1;}

.urh-hero__img{
  width:100%;height:100%;
  object-fit:cover;object-position:center 42%;
  filter:saturate(.5) contrast(1.06) brightness(.85);
  will-change:transform;
}

/* przyciemnienie */
.urh-hero__veil{
  --dim:.78;
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse 74% 60% at 50% 44%,
      rgba(4,4,4,calc(var(--dim) * .34)) 0%,
      rgba(4,4,4,calc(var(--dim) * .92)) 58%,
      #070707 100%),
    linear-gradient(180deg,
      rgba(7,7,7,calc(var(--dim) * 1.05)) 0%,
      rgba(7,7,7,calc(var(--dim) * .42)) 30%,
      rgba(7,7,7,calc(var(--dim) * 1.12)) 84%,
      #070707 100%);
}

/* faktura asfaltu - subtelne poziome smugi */
.urh-hero__asphalt{
  position:absolute;inset:0;
  opacity:.5;
  background-image:repeating-linear-gradient(
    100deg,
    transparent 0 3px,
    rgba(255,255,255,.014) 3px 4px
  );
}

/* kropkowana siatka */
.urh-hero__dots{
  position:absolute;inset:-6%;
  background-image:radial-gradient(rgba(173,154,29,.32) 1.1px,transparent 1.1px);
  background-size:23px 23px;
  -webkit-mask-image:radial-gradient(ellipse 80% 74% at 50% 50%,transparent 14%,#000 74%);
          mask-image:radial-gradient(ellipse 80% 74% at 50% 50%,transparent 14%,#000 74%);
  opacity:.58;
  will-change:transform;
}

/* złote pasy w układ X */
.urh-hero__x{
  position:absolute;inset:-14%;
  background-image:
    linear-gradient(58deg,transparent 25.4%,rgba(173,154,29,.62) 26%,rgba(173,154,29,.62) 26.8%,transparent 27.4%,
                          transparent 29.4%,rgba(173,154,29,.24) 29.9%,rgba(173,154,29,.24) 30.4%,transparent 31%),
    linear-gradient(-58deg,transparent 25.4%,rgba(173,154,29,.62) 26%,rgba(173,154,29,.62) 26.8%,transparent 27.4%,
                           transparent 29.4%,rgba(173,154,29,.24) 29.9%,rgba(173,154,29,.24) 30.4%,transparent 31%);
  -webkit-mask-image:radial-gradient(ellipse 60% 60% at 50% 50%,transparent 35%,#000 82%);
          mask-image:radial-gradient(ellipse 60% 60% at 50% 50%,transparent 35%,#000 82%);
}

/* powolny oddech światła */
.urh-hero__glow{
  position:absolute;
  left:50%;top:46%;
  width:min(880px,120vw);
  aspect-ratio:1/1;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(173,154,29,.11),transparent 62%);
  animation:urh-breathe 9s ease-in-out infinite;
}
@keyframes urh-breathe{
  0%,100%{opacity:.55;transform:translate(-50%,-50%) scale(1);}
  50%{opacity:.9;transform:translate(-50%,-50%) scale(1.09);}
}

.urh-hero__inner{
  position:relative;
  width:100%;text-align:center;
  padding-block:clamp(84px,11vw,132px);
}

/* plakietka */
.urh-badge{
  display:inline-flex;align-items:center;gap:9px;
  margin:0 0 24px;
  padding:7px 17px 7px 12px;
  border:1px solid var(--line-2);
  border-radius:999px;
  background:rgba(0,0,0,.45);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
  font-size:10.5px;font-weight:800;letter-spacing:.20em;
  text-transform:uppercase;color:var(--fg-2);
  animation:urh-fade .8s var(--ease) both;
}
.urh-badge__dot{
  width:7px;height:7px;border-radius:50%;
  background:var(--g);
  animation:urh-pulse 2.4s ease-out infinite;
}
@keyframes urh-pulse{
  0%{box-shadow:0 0 0 0 rgba(173,154,29,.55);}
  70%{box-shadow:0 0 0 10px rgba(173,154,29,0);}
  100%{box-shadow:0 0 0 0 rgba(173,154,29,0);}
}
@keyframes urh-fade{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}

.urh-hero__title{
  margin:0 auto 20px;
  max-width:22ch;
  font-size:clamp(28px,5.4vw,60px);
  font-weight:800;line-height:1.1;letter-spacing:-.025em;
  text-shadow:0 4px 44px rgba(0,0,0,.9);
}
.urh-line{
  display:inline-block;
  animation:urh-rise .9s var(--ease) both;
  animation-delay:calc(120ms + var(--d,0ms));
}
@keyframes urh-rise{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:none;}}
.urh-accent{color:var(--g);}

.urh-hero__lead{
  margin:0 auto clamp(28px,4vw,38px);
  font-size:clamp(12.5px,1.5vw,15px);
  font-weight:700;letter-spacing:.11em;
  text-transform:uppercase;color:var(--fg-3);
  animation:urh-fade .9s var(--ease) both;
  animation-delay:.36s;
}

.urh-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px;}
.urh-actions--center{
  justify-content:center;margin-top:0;
  animation:urh-fade .9s var(--ease) both;
  animation-delay:.46s;
}

/* odliczanie */
.urh-next{
  margin:clamp(36px,5vw,58px) auto 0;
  max-width:720px;
  padding:clamp(18px,2.6vw,26px);
  background:rgba(10,10,10,.74);
  border:1px solid var(--line-2);
  border-top:2px solid var(--g);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  box-shadow:0 28px 70px rgba(0,0,0,.6);
  animation:urh-fade 1s var(--ease) both;
  animation-delay:.58s;
}
.urh-next__head{margin-bottom:18px;}
.urh-next__eyebrow{
  margin:0 0 7px;
  font-size:10px;font-weight:800;letter-spacing:.22em;
  text-transform:uppercase;color:var(--g);
}
.urh-next__track{
  margin:0;
  font-size:clamp(13.5px,1.9vw,17px);
  font-weight:700;line-height:1.45;color:var(--fg);
}
.urh-cd{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;}
.urh-cd__box{
  background:var(--panel);
  border:1px solid var(--line);
  padding:13px 6px;
}
.urh-cd__v{
  display:block;
  font-size:clamp(21px,3.4vw,32px);
  font-weight:800;line-height:1;color:var(--fg);
  font-variant-numeric:tabular-nums;
}
.urh-cd__l{
  display:block;margin-top:7px;
  font-size:9px;font-weight:800;letter-spacing:.16em;
  text-transform:uppercase;color:var(--fg-3);
}

.urh-scroll{
  display:inline-block;
  margin-top:clamp(32px,4.5vw,52px);
  text-decoration:none;
  animation:urh-fade 1s var(--ease) both;
  animation-delay:.7s;
}
.urh-scroll__mouse{
  display:block;width:25px;height:40px;
  border:2px solid var(--fg-3);border-radius:14px;
  position:relative;transition:border-color .2s;
}
.urh-scroll:hover .urh-scroll__mouse{border-color:var(--g);}
.urh-scroll__mouse span{
  position:absolute;left:50%;top:8px;
  width:3px;height:7px;margin-left:-1.5px;border-radius:2px;
  background:var(--fg-3);
  animation:urh-wheel 1.9s ease-in-out infinite;
}
@keyframes urh-wheel{
  0%{opacity:0;transform:translateY(0);}
  35%{opacity:1;}
  75%{opacity:0;transform:translateY(12px);}
  100%{opacity:0;}
}

/* ============================================================
   PASEK LICZB
   ============================================================ */
.urh-strip{
  position:relative;
  background:var(--bg-alt);
  border-bottom:1px solid var(--line);
  padding-block:clamp(28px,3.6vw,42px);
}
.urh-strip__list{
  margin:0;padding:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(22px,3vw,34px);
  text-align:center;
}
@media (min-width:820px){
  .urh-strip__list{grid-template-columns:repeat(4,minmax(0,1fr));}
}
.urh-strip__item{position:relative;}
@media (min-width:820px){
  .urh-strip__item + .urh-strip__item::before{
    content:"";
    position:absolute;left:calc(-1 * clamp(11px,1.5vw,17px));top:12%;
    width:1px;height:76%;
    background:var(--line);
  }
}
.urh-strip__value{
  margin:0;
  font-size:clamp(28px,4vw,42px);
  font-weight:800;line-height:1;color:var(--g);
  font-variant-numeric:tabular-nums;
  letter-spacing:-.02em;
}
.urh-strip__label{
  margin-top:8px;
  font-size:10.5px;font-weight:800;letter-spacing:.18em;
  text-transform:uppercase;color:var(--fg-3);
}

/* ============================================================
   LIGA
   ============================================================ */
.urh-liga{display:grid;grid-template-columns:1fr;gap:var(--gap);}
@media (min-width:1000px){
  .urh-liga{grid-template-columns:1.55fr .95fr;align-items:start;}
}

.urh-video{
  position:relative;aspect-ratio:16/9;
  margin-bottom:26px;
  background:var(--panel);
  border:1px solid var(--line);
  overflow:hidden;
}
.urh-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}

.urh-specs{
  list-style:none;margin:26px 0 0;padding:0;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;
  background:var(--line);border:1px solid var(--line);
}
@media (min-width:700px){.urh-specs{grid-template-columns:repeat(4,minmax(0,1fr));}}
.urh-spec{background:var(--panel);padding:15px 16px;}
.urh-spec__k{
  display:block;margin-bottom:7px;
  font-size:9.5px;font-weight:800;letter-spacing:.18em;
  text-transform:uppercase;color:var(--fg-3);
}
.urh-spec__v{display:block;font-size:14px;font-weight:700;line-height:1.35;color:var(--fg);}

.urh-liga__side{display:grid;gap:var(--gap);}

.urh-panel{
  background:var(--panel);
  border:1px solid var(--line);
  border-top:2px solid var(--g);
  padding:clamp(18px,2.4vw,24px);
}
.urh-panel__eyebrow{
  margin:0 0 14px;
  font-size:10px;font-weight:800;letter-spacing:.20em;
  text-transform:uppercase;color:var(--g);
}
.urh-panel--join{text-align:left;}
.urh-join__row{
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:6px 12px;
  margin:0 0 20px;
}
.urh-join__id{
  font-size:19px;
  font-weight:800;line-height:1.2;letter-spacing:.06em;
  color:var(--g);
  font-variant-numeric:tabular-nums;
}
.urh-join__text{
  font-size:11px;font-weight:700;letter-spacing:.10em;
  text-transform:uppercase;color:var(--fg-3);
  line-height:1.4;
}

/* podium */
.urh-podium{
  list-style:none;margin:0;padding:0;
  display:grid;gap:1px;
  background:var(--line);border:1px solid var(--line);
}
.urh-pod{
  display:flex;align-items:center;gap:14px;
  padding:13px 15px;
  background:var(--panel-2);
}
.urh-pod--1{background:linear-gradient(90deg,rgba(173,154,29,.17),rgba(173,154,29,.03));}
.urh-pod__pos{
  flex:0 0 auto;min-width:20px;
  font-size:19px;font-weight:800;font-style:italic;line-height:1;
  color:var(--fg-3);
}
.urh-pod--1 .urh-pod__pos{color:var(--g);}
.urh-pod__who{flex:1 1 auto;min-width:0;}
.urh-pod__name{
  display:block;
  font-size:14px;font-weight:700;line-height:1.3;
  color:var(--fg);overflow-wrap:anywhere;
}
.urh-pod__num{
  display:block;margin-top:3px;
  font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--g);
}
.urh-pod__pts{
  flex:0 0 auto;margin-left:auto;
  font-size:16px;font-weight:800;color:var(--g);
  font-variant-numeric:tabular-nums;
}
.urh-pod__empty{padding:16px 15px;background:var(--panel-2);font-size:14px;color:var(--fg-3);}

.urh-progress{height:4px;background:rgba(255,255,255,.08);overflow:hidden;}
.urh-progress span{
  display:block;height:100%;width:0;
  background:linear-gradient(90deg,var(--g),var(--g-hi));
  transition:width 1.3s var(--ease);
}
.urh-progress__text{
  margin:12px 0 0;
  font-size:11px;font-weight:800;letter-spacing:.12em;
  text-transform:uppercase;color:var(--fg-3);
}

/* ============================================================
   KARTY TORÓW
   ============================================================ */
.urh-tracks{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:1fr;gap:var(--gap);
}
@media (min-width:640px){.urh-tracks{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (min-width:1000px){.urh-tracks{grid-template-columns:repeat(4,minmax(0,1fr));}}

.urh-track{
  position:relative;
  background:var(--panel);
  border:1px solid var(--line);
  overflow:hidden;
  transition:border-color .35s var(--ease),transform .35s var(--ease),box-shadow .35s var(--ease);
}
.urh-track:hover{
  border-color:var(--g-soft);
  transform:translateY(-5px);
  box-shadow:0 20px 42px rgba(0,0,0,.45);
}
.urh-track--next{
  border-color:var(--g);
  box-shadow:0 0 0 1px var(--g),0 20px 48px var(--g-glow);
}
.urh-track--done{opacity:.42;}
.urh-track--done:hover{opacity:.72;}

.urh-track__media{
  position:relative;
  aspect-ratio:16/9;
  background:#0a0a0a;
  overflow:hidden;
  display:flex;align-items:center;justify-content:center;
}
.urh-track__media img{
  width:100%;height:100%;
  object-fit:contain;padding:12px;
  transition:transform .5s var(--ease);
}
.urh-track:hover .urh-track__media img{transform:scale(1.07);}
.urh-track__ph{
  font-size:34px;font-weight:800;font-style:italic;
  color:rgba(255,255,255,.10);
}
.urh-track__tag{
  position:absolute;top:10px;left:10px;
  padding:5px 10px;
  background:var(--g);color:#000;
  font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
}

.urh-track__body{padding:14px 16px 16px;border-top:1px solid var(--line);}
.urh-track__top{
  display:flex;align-items:baseline;justify-content:space-between;
  gap:10px;margin-bottom:8px;
}
.urh-track__n{
  font-size:10px;font-weight:800;letter-spacing:.16em;
  text-transform:uppercase;color:var(--fg-3);
}
.urh-track--next .urh-track__n{color:var(--g);}
.urh-track__date{
  font-size:13px;font-weight:800;color:var(--fg);
  font-variant-numeric:tabular-nums;
}
.urh-track__name{
  margin:0;
  font-size:14px;font-weight:700;line-height:1.4;
  color:var(--fg-2);overflow-wrap:anywhere;
}

/* ============================================================
   TYDZIEŃ
   ============================================================ */
.urh-week{display:grid;grid-template-columns:1fr;gap:var(--gap);}
@media (min-width:900px){.urh-week{grid-template-columns:1fr 1.15fr;}}

.urh-week__col{
  background:var(--panel);
  border:1px solid var(--line);
  padding:clamp(18px,2.4vw,26px);
}
.urh-week__col--race{border-top:2px solid var(--g);}
.urh-week__title{
  margin:0 0 18px;
  font-size:11px;font-weight:800;letter-spacing:.20em;
  text-transform:uppercase;color:var(--g);
}
.urh-week__list{list-style:none;margin:0;padding:0;display:grid;gap:1px;background:var(--line);}
.urh .urh-slot{
  display:block !important;
  margin:0 !important;
  padding:14px 15px !important;
  background:var(--panel-2);
  list-style:none !important;
}
.urh .urh-slot__row{
  display:flex !important;
  align-items:baseline;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:6px;
}
.urh .urh-slot__day{
  font-size:14.5px;font-weight:700;color:var(--fg);
}
.urh .urh-slot__time{
  font-size:14.5px;font-weight:800;color:var(--g);
  font-variant-numeric:tabular-nums;
}
.urh .urh-slot__note{
  display:block !important;
  font-size:13px;line-height:1.6;color:var(--fg-2);
}
.urh .urh-chip{
  display:inline-block;
  padding:3px 9px;
  border:1px solid currentColor;
  font-size:9.5px;font-weight:800;letter-spacing:.14em;
  text-transform:uppercase;
  vertical-align:middle;
  line-height:1.5;
}
.urh .urh-chip--wet{color:#7fb9e0;background:rgba(127,185,224,.10);}
.urh .urh-chip--dry{color:#6fc48c;background:rgba(111,196,140,.10);}
.urh .urh-chip--rand{color:var(--g-hi);background:rgba(173,154,29,.10);}
.urh .urh-slot--big{padding:17px 15px !important;}
.urh .urh-slot--big .urh-slot__day{font-size:15.5px;}

/* ============================================================
   KROKI
   ============================================================ */
.urh-steps{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:1fr;gap:var(--gap);
}
@media (min-width:700px){.urh-steps{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (min-width:1060px){.urh-steps{grid-template-columns:repeat(4,minmax(0,1fr));}}

.urh-step{
  background:var(--panel);
  border:1px solid var(--line);
  padding:clamp(20px,2.6vw,26px);
  transition:border-color .35s var(--ease),transform .35s var(--ease);
}
.urh-step:hover{border-color:var(--g-soft);transform:translateY(-5px);}
.urh-step__n{
  display:flex;align-items:center;justify-content:center;
  width:36px;height:36px;margin-bottom:16px;
  border:1px solid var(--g);
  font-size:14px;font-weight:800;color:var(--g);
}
.urh-step__text{margin:0;font-size:14px;line-height:1.7;color:var(--fg-2);}

/* ============================================================
   PRZYCISKI
   ============================================================ */
.urh-btn{
  position:relative;
  display:inline-flex;align-items:center;justify-content:center;
  padding:16px 32px;
  border:1px solid var(--line-2);
  background:transparent;color:var(--fg);
  font-size:12px;font-weight:800;letter-spacing:.16em;
  text-transform:uppercase;text-decoration:none;line-height:1;
  overflow:hidden;isolation:isolate;
  transition:border-color .25s,color .25s,transform .2s;
}
.urh-btn::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:var(--g);
  transform:translateY(101%);
  transition:transform .36s var(--ease);
}
.urh-btn:hover{border-color:var(--g);color:#000;}
.urh-btn:hover::after{transform:translateY(0);}
.urh-btn:active{transform:translateY(1px);}
.urh-btn:focus-visible{outline:2px solid var(--g);outline-offset:3px;}
.urh-btn--primary{background:var(--g);border-color:var(--g);color:#000;}
.urh-btn--primary::after{background:var(--g-hi);}
.urh-btn--primary:hover{color:#000;border-color:var(--g-hi);}
.urh-btn--full{width:100%;}

/* ============================================================
   CTA
   ============================================================ */
.urh-cta-wrap{background:var(--bg-alt);border-top:1px solid var(--line);}
.urh-cta{
  position:relative;overflow:hidden;
  padding:clamp(36px,5.5vw,72px) clamp(20px,4vw,54px);
  background:var(--panel);
  border:1px solid var(--line);
  border-top:2px solid var(--g);
  text-align:center;
}
.urh-cta__flag{
  position:absolute;inset:0 0 auto 0;height:120px;
  opacity:.05;
  background-image:
    linear-gradient(45deg,#fff 25%,transparent 25%,transparent 75%,#fff 75%),
    linear-gradient(45deg,#fff 25%,transparent 25%,transparent 75%,#fff 75%);
  background-size:36px 36px;
  background-position:0 0,18px 18px;
  -webkit-mask-image:linear-gradient(to bottom,#000,transparent);
          mask-image:linear-gradient(to bottom,#000,transparent);
}
.urh-cta__title{
  position:relative;margin:0 0 14px;
  font-size:clamp(25px,3.8vw,42px);
  font-weight:800;line-height:1.1;letter-spacing:-.02em;
}
.urh-cta__text{
  position:relative;
  max-width:52ch;margin:0 auto 30px;
  font-size:15px;line-height:1.7;color:var(--fg-2);
}

/* ============================================================
   DOSTĘPNOŚĆ
   ============================================================ */
@media (prefers-reduced-motion:reduce){
  .urh [data-reveal],
  .urh [data-stagger]{opacity:1 !important;transform:none !important;transition:none !important;}
  .urh-line,.urh-badge,.urh-hero__lead,.urh-actions--center,
  .urh-next,.urh-scroll{animation:none !important;opacity:1 !important;transform:none !important;}
  .urh-hero__glow,.urh-scroll__mouse span,.urh-badge__dot{animation:none !important;}
  .urh-track,.urh-step,.urh-btn,.urh-btn::after,
  .urh-progress span,.urh-track__media img{transition:none !important;}
  .urh-readbar{display:none;}
}

/* ============================================================
   ODPORNOŚĆ NA STYLE MOTYWU
   Oxygen i motyw nadpisują układ list, span-ów i pozycjonowania.
   Poniższe reguły przywracają strukturę bez zmiany wyglądu.
   ============================================================ */

/* warstwy tła hero muszą być pozycjonowane */
.urh .urh-hero{position:relative !important;overflow:hidden !important;}
.urh .urh-hero__media{
  position:absolute !important;
  inset:-8% 0 !important;
  z-index:0 !important;
  pointer-events:none;
}
.urh .urh-hero__media > *{
  position:absolute !important;
  display:block !important;
}
.urh .urh-hero__img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  object-fit:cover !important;
}
.urh .urh-hero__veil,
.urh .urh-hero__asphalt{inset:0 !important;}
.urh .urh-hero__dots{inset:-6% !important;}
.urh .urh-hero__x{inset:-14% !important;}
.urh .urh-hero__glow{
  inset:auto !important;
  left:50% !important;
  top:46% !important;
}
.urh .urh-hero__inner{
  position:relative !important;
  z-index:2 !important;
}

/* tło zapasowe, gdy nie ustawiono obrazu hero */
.urh .urh-hero{
  background-color:#070707;
  background-image:
    radial-gradient(ellipse 70% 60% at 50% 38%,rgba(173,154,29,.09),transparent 62%),
    linear-gradient(180deg,#0b0b0c 0%,#070707 70%);
}

/* listy bez marginesów i punktorów, niezależnie od motywu */
.urh ul,
.urh ol{list-style:none !important;margin:0 !important;padding:0 !important;}
.urh li{list-style:none !important;margin:0 !important;}
.urh li::marker{content:"" !important;}

/* siatki, które motyw potrafi rozłożyć */
.urh .urh-week__list{display:grid !important;gap:1px !important;background:var(--line);}
.urh .urh-tracks{display:grid !important;}
.urh .urh-steps{display:grid !important;}
.urh .urh-podium{display:grid !important;gap:1px !important;}
.urh .urh-specs{display:grid !important;}
.urh .urh-cd{display:grid !important;}
.urh .urh-strip__list{display:grid !important;}
.urh .urh-liga{display:grid !important;}
.urh .urh-week{display:grid !important;}
.urh .urh-actions{display:flex !important;}

/* podium: nazwisko, numer i punkty w osobnych liniach */
.urh .urh-pod{display:flex !important;align-items:center;gap:14px;}
.urh .urh-pod__name,
.urh .urh-pod__num{display:block !important;}
.urh .urh-pod__pts{margin-left:auto !important;}

/* obrazy w kartach nie mogą dziedziczyć szerokości z motywu */
.urh img{max-width:100%;height:auto;}
.urh .urh-track__media img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
}

/* nagłówki sekcji: motyw dodaje własne marginesy */
.urh .urh-h2,
.urh .urh-eyebrow,
.urh .urh-hero__title{margin-block:0;}
.urh .urh-eyebrow{margin-bottom:10px;}
.urh .urh-h2{margin-bottom:0;}

/* linki w kartach nie mogą mieć podkreślenia motywu */
.urh .urh-btn,
.urh .urh-more{text-decoration:none !important;}

/* ============================================================
   TŁO WYŚCIGOWE
   Cztery warstwy zamiast płaskiej czerni. Wszystko w CSS,
   zero dodatkowych plików do pobrania.
   ============================================================ */

/* 1. baza — ciepły, ciemny gradient zamiast #000 */
.urh{
  background:
    radial-gradient(ellipse 120% 60% at 50% 0%,#101012 0%,transparent 55%),
    radial-gradient(ellipse 90% 50% at 50% 100%,#0d0d0f 0%,transparent 50%),
    #08080a;
}

/* 2. włókno węglowe — bardzo subtelny splot */
.urh::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.5;
  background-image:
    repeating-linear-gradient(45deg,
      rgba(255,255,255,.016) 0 2px,
      transparent 2px 4px),
    repeating-linear-gradient(-45deg,
      rgba(0,0,0,.22) 0 2px,
      transparent 2px 4px);
  background-size:6px 6px,6px 6px;
}

/* 3. smugi prędkości — ukośne pasma światła */
.urh::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.55;
  background-image:
    linear-gradient(103deg,
      transparent 12%,
      rgba(173,154,29,.035) 13%,
      rgba(173,154,29,.035) 13.5%,
      transparent 14.5%,
      transparent 34%,
      rgba(255,255,255,.014) 34.6%,
      transparent 35.4%,
      transparent 61%,
      rgba(173,154,29,.028) 61.6%,
      transparent 62.6%,
      transparent 84%,
      rgba(255,255,255,.012) 84.5%,
      transparent 85.4%);
}

/* 4. sekcje: naprzemienne tinty zamiast jednego czarnego bloku */
.urh-section{
  background:linear-gradient(180deg,rgba(255,255,255,.012),transparent 40%);
}
.urh-section--alt{
  background:
    linear-gradient(180deg,rgba(173,154,29,.028),transparent 34%),
    linear-gradient(180deg,#0c0c0e,#0a0a0c);
}

/* poświata przy krawędzi sekcji wyróżnionych */
.urh-section--alt::after{
  content:"";
  position:absolute;
  left:0;right:0;top:0;
  height:180px;
  pointer-events:none;
  background:radial-gradient(ellipse 60% 100% at 50% 0%,rgba(173,154,29,.05),transparent 70%);
}

/* panele: delikatny gradient zamiast płaskiego wypełnienia */
.urh-panel,
.urh-step,
.urh-track,
.urh-week__col,
.urh-cta{
  background-image:linear-gradient(160deg,rgba(255,255,255,.035),transparent 42%);
}

/* karty torów: podświetlenie krawędzi przy najechaniu */
.urh-track{position:relative;}
.urh-track::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:0;
  transition:opacity .35s var(--ease);
  background:linear-gradient(160deg,rgba(173,154,29,.10),transparent 46%);
}
.urh-track:hover::after{opacity:1;}

/* pasek liczb: ciemniejszy niż sekcje, z nitką na dole */
.urh-strip{
  background:
    linear-gradient(180deg,rgba(173,154,29,.03),transparent 60%),
    linear-gradient(180deg,#0c0c0e,#09090b);
}

/* CTA: szachownica plus poświata */
.urh-cta{
  background-image:
    linear-gradient(160deg,rgba(173,154,29,.07),transparent 48%),
    radial-gradient(ellipse 70% 90% at 50% 0%,rgba(173,154,29,.06),transparent 62%);
}

@media (prefers-reduced-motion:reduce){
  .urh-track::after{transition:none;}
}

/* ============================================================
   DLACZEGO MY
   ============================================================ */
.urh .urh-why{
  display:grid !important;
  grid-template-columns:1fr;
  gap:var(--gap);
}
@media (min-width:860px){
  .urh .urh-why{grid-template-columns:repeat(3,minmax(0,1fr));}
}

.urh-why__item{
  position:relative;
  overflow:hidden;
  padding:clamp(24px,3vw,32px) clamp(20px,2.6vw,28px) clamp(24px,3vw,30px);
  background:var(--panel);
  background-image:linear-gradient(160deg,rgba(255,255,255,.035),transparent 44%);
  border:1px solid var(--line);
  border-top:2px solid var(--g);
  transition:border-color .35s var(--ease),transform .35s var(--ease);
}
.urh-why__item:hover{
  border-color:var(--g-soft);
  border-top-color:var(--g-hi);
  transform:translateY(-4px);
}

/* duża, przygaszona cyfra w tle */
.urh-why__num{
  position:absolute;
  top:-14px;right:6px;
  font-size:clamp(74px,9vw,104px);
  font-weight:800;
  font-style:italic;
  line-height:1;
  letter-spacing:-.04em;
  color:rgba(255,255,255,.035);
  pointer-events:none;
  transition:color .4s var(--ease);
}
.urh-why__item:hover .urh-why__num{color:rgba(173,154,29,.11);}

.urh-why__title{
  position:relative;
  margin:0 0 12px;
  font-size:clamp(16px,1.9vw,19px);
  font-weight:800;
  line-height:1.3;
  letter-spacing:-.01em;
  color:var(--fg);
}
.urh-why__text{
  position:relative;
  margin:0;
  font-size:14.5px;
  line-height:1.8;
  color:var(--fg-2);
}

@media (prefers-reduced-motion:reduce){
  .urh-why__item,.urh-why__num{transition:none !important;}
}

/* ============================================================
   TŁO — WARSTWA DYNAMICZNA
   Powolny ruch świateł w tle. Zero obrazów, jedna warstwa,
   animacja tylko na transformacji, więc nie obciąża rysowania.
   ============================================================ */

.urh-aura{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
  pointer-events:none;
}
.urh-aura span{
  position:absolute;
  display:block;
  border-radius:50%;
  filter:blur(90px);
  will-change:transform;
}
.urh-aura__a{
  width:52vw;height:52vw;
  left:-14vw;top:8%;
  background:radial-gradient(circle,rgba(173,154,29,.14),transparent 68%);
  animation:urh-drift-a 34s ease-in-out infinite;
}
.urh-aura__b{
  width:44vw;height:44vw;
  right:-12vw;top:38%;
  background:radial-gradient(circle,rgba(120,160,200,.075),transparent 68%);
  animation:urh-drift-b 44s ease-in-out infinite;
}
.urh-aura__c{
  width:60vw;height:60vw;
  left:22%;bottom:-16%;
  background:radial-gradient(circle,rgba(173,154,29,.09),transparent 70%);
  animation:urh-drift-c 52s ease-in-out infinite;
}
@keyframes urh-drift-a{
  0%,100%{transform:translate3d(0,0,0) scale(1);}
  50%{transform:translate3d(7vw,5vh,0) scale(1.14);}
}
@keyframes urh-drift-b{
  0%,100%{transform:translate3d(0,0,0) scale(1.06);}
  50%{transform:translate3d(-6vw,-7vh,0) scale(1);}
}
@keyframes urh-drift-c{
  0%,100%{transform:translate3d(0,0,0) scale(1);}
  50%{transform:translate3d(-8vw,-4vh,0) scale(1.12);}
}

/* ============================================================
   PŁYNNE PRZEJŚCIA MIĘDZY SEKCJAMI
   ============================================================ */

/* hero rozpływa się w pasek liczb zamiast kończyć krawędzią */
.urh-hero::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:clamp(120px,18vh,240px);
  z-index:1;
  pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(9,9,11,.65) 55%,#09090b 100%);
}

/* każda sekcja: rozjaśnienie u góry, wygaszenie u dołu */
.urh-section{
  background:
    linear-gradient(180deg,
      rgba(255,255,255,.030) 0%,
      rgba(255,255,255,.010) 18%,
      transparent 46%,
      rgba(0,0,0,.22) 100%);
}
.urh-section--alt{
  background:
    linear-gradient(180deg,
      rgba(173,154,29,.055) 0%,
      rgba(173,154,29,.012) 20%,
      transparent 48%,
      rgba(0,0,0,.30) 100%),
    linear-gradient(180deg,#0d0d10,#0a0a0c);
}

/* poświata u góry sekcji wyróżnionych — szersza i wyraźniejsza */
.urh-section--alt::after{
  height:260px;
  background:radial-gradient(ellipse 70% 100% at 50% 0%,rgba(173,154,29,.085),transparent 72%);
}

/* pasek liczb wtapia się w sekcje po obu stronach */
.urh-strip{
  background:
    linear-gradient(180deg,rgba(173,154,29,.05),transparent 55%),
    linear-gradient(180deg,#0d0d10 0%,#0a0a0c 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}

/* smugi prędkości: mocniejsze i szersze */
.urh::after{
  opacity:.9;
  background-image:
    linear-gradient(103deg,
      transparent 10%,
      rgba(173,154,29,.055) 11%,
      rgba(173,154,29,.055) 11.6%,
      transparent 12.6%,
      transparent 31%,
      rgba(255,255,255,.022) 31.6%,
      transparent 32.6%,
      transparent 57%,
      rgba(173,154,29,.045) 57.6%,
      transparent 58.8%,
      transparent 79%,
      rgba(255,255,255,.018) 79.6%,
      transparent 80.6%);
}

/* winieta — kadruje stronę i podbija kontrast treści */
.urh-vignette{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:radial-gradient(ellipse 90% 70% at 50% 45%,transparent 42%,rgba(0,0,0,.42) 100%);
}

@media (prefers-reduced-motion:reduce){
  .urh-aura span{animation:none !important;}
}

/* aura i winieta zawsze pod treścią */
.urh > .urh-aura,
.urh > .urh-vignette{z-index:0 !important;}
.urh > section{z-index:1;}
.urh > .urh-readbar{z-index:9999 !important;}

/* ============================================================
   KIM JESTEŚMY
   Zdjęcie wtapia się w tło od lewej, treść po prawej.
   Inny rytm niż karty i panele — świadomie bez ramek.
   ============================================================ */

.urh-about-sect{
  position:relative;
  overflow:hidden;
  padding-block:var(--sect);
  background:linear-gradient(180deg,rgba(255,255,255,.022),transparent 40%,rgba(0,0,0,.24) 100%);
}

/* zdjęcie: lewa połowa, rozpływa się w prawo i w krawędzie */
.urh-about__photo{
  position:absolute;
  inset:0 auto 0 0;
  width:min(58%,760px);
  z-index:0;
  pointer-events:none;
}
.urh-about__photo img{
  width:100% !important;
  height:100% !important;
  object-fit:cover;
  object-position:center;
  filter:saturate(.72) contrast(1.05) brightness(.72);
}
.urh-about__fade{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(8,8,10,.55) 0%,rgba(8,8,10,.18) 26%,rgba(8,8,10,.86) 74%,#08080a 100%),
    linear-gradient(180deg,#08080a 0%,transparent 22%,transparent 76%,#08080a 100%);
}
@media (max-width:900px){
  .urh-about__photo{width:100%;}
  .urh-about__fade{
    background:
      linear-gradient(180deg,rgba(8,8,10,.72) 0%,rgba(8,8,10,.55) 30%,rgba(8,8,10,.92) 78%,#08080a 100%);
  }
}

.urh-about__inner{position:relative;z-index:1;}

/* treść trzyma się prawej połowy na szerokich ekranach */
.urh-about__col{
  max-width:min(620px,100%);
  margin-left:auto;
}
@media (max-width:900px){
  .urh-about__col{margin-left:0;max-width:100%;}
}

.urh-about__title{
  position:relative;
  display:inline-block;
  margin:0 0 20px;
  padding-bottom:12px;
  font-size:clamp(26px,3.6vw,42px);
  font-weight:800;
  line-height:1.1;
  letter-spacing:-.02em;
  color:var(--fg);
}
.urh-about__title::after{
  content:"";
  position:absolute;
  left:0;bottom:0;
  width:64px;height:3px;
  background:var(--g);
}

.urh-about__text p{
  margin:0 0 16px;
  font-size:clamp(15px,1.6vw,17px);
  line-height:1.82;
  color:var(--fg-2);
}
.urh-about__text p:last-child{margin-bottom:0;}
.urh-about__text a{
  color:var(--g);
  text-decoration:none;
  border-bottom:1px solid var(--g-soft);
  transition:color .2s,border-color .2s;
}
.urh-about__text a:hover{color:var(--g-hi);border-color:var(--g-hi);}

/* liczby z ikonami — bez ramek, bez tła, sam rytm */
.urh .urh-facts{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(14px,2.4vw,28px);
  margin-top:clamp(28px,3.6vw,40px) !important;
  padding-top:clamp(24px,3vw,30px) !important;
  border-top:1px solid var(--line);
}
.urh .urh-fact{
  display:grid !important;
  grid-template-columns:auto 1fr;
  grid-template-areas:
    "icon value"
    "icon label";
  align-items:center;
  column-gap:14px;
  row-gap:2px;
}
.urh .urh-fact__icon{
  grid-area:icon;
  width:clamp(38px,4vw,48px) !important;
  height:auto !important;
  margin:0 !important;
  opacity:.95;
}
.urh .urh-fact__v{
  grid-area:value;
  align-self:end;
  font-size:clamp(21px,2.6vw,28px);
  font-weight:800;
  line-height:1;
  letter-spacing:-.02em;
  color:var(--g);
  font-variant-numeric:tabular-nums;
}
.urh .urh-fact__l{
  grid-area:label;
  align-self:start;
  margin-top:4px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--fg-3);
  white-space:nowrap;
}

@media (max-width:560px){
  .urh .urh-facts{grid-template-columns:1fr;gap:16px;}
  .urh .urh-fact__icon{width:34px !important;}
}

/* ============================================================
   PRZEJŚCIA MIĘDZY SEKCJAMI — WERSJA KOŃCOWA
   Sekcje wyróżnione nie mają już własnego, nieprzezroczystego
   tła. Zamiast tego są rozjaśnieniem nałożonym na wspólne tło
   strony, więc granice nie tworzą widocznych pasów.
   ============================================================ */

.urh-section--alt{
  background:transparent;
  border-block:0;
}
.urh-section--alt::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    linear-gradient(180deg,
      transparent 0%,
      rgba(255,255,255,.020) 14%,
      rgba(255,255,255,.026) 50%,
      rgba(255,255,255,.014) 86%,
      transparent 100%);
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 12%,#000 88%,transparent);
          mask-image:linear-gradient(180deg,transparent,#000 12%,#000 88%,transparent);
}
/* złota nitka rozdzielająca: krótsza i bardziej wygaszona */
.urh-section--alt::after{
  content:"";
  position:absolute;
  left:50%;top:0;
  width:min(340px,50vw);
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(173,154,29,.55),transparent);
  z-index:1;
}
.urh-section--alt > .urh-wrap{position:relative;z-index:2;}

/* zwykłe sekcje: tylko delikatne wygaszenie u dołu */
.urh-section{
  background:linear-gradient(180deg,transparent 62%,rgba(0,0,0,.16) 100%);
}

/* pasek liczb wtapia się bez krawędzi */
.urh-strip{
  background:linear-gradient(180deg,rgba(255,255,255,.030),rgba(255,255,255,.008) 70%,transparent);
  border-bottom:0;
  box-shadow:none;
}
.urh-strip::after{
  content:"";
  position:absolute;
  left:50%;bottom:0;
  width:min(420px,60vw);height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.10),transparent);
}

/* sekcja o nas: bez własnego tła, żeby zdjęcie miało w co wtopić */
.urh-about-sect{background:transparent;}

/* CTA: szachownica ledwo widoczna, bez twardego kadru */
.urh-cta-wrap{background:transparent;border-top:0;}
.urh-cta__flag{
  opacity:.028;
  height:150px;
  background-size:44px 44px;
  background-position:0 0,22px 22px;
}
.urh-cta{
  border:1px solid var(--line);
  border-top:2px solid var(--g);
  background-image:
    linear-gradient(160deg,rgba(173,154,29,.055),transparent 52%),
    radial-gradient(ellipse 80% 100% at 50% 0%,rgba(173,154,29,.05),transparent 66%);
}

/* zdjęcie w sekcji o nas: mocniejsze przyciemnienie i miękka krawędź */
.urh-about__photo img{
  filter:saturate(.62) contrast(1.04) brightness(.58);
}
.urh-about__fade{
  background:
    linear-gradient(90deg,
      rgba(8,8,10,.62) 0%,
      rgba(8,8,10,.30) 22%,
      rgba(8,8,10,.72) 58%,
      rgba(8,8,10,.94) 82%,
      #08080a 100%),
    linear-gradient(180deg,#08080a 0%,transparent 20%,transparent 78%,#08080a 100%);
}
@media (max-width:900px){
  .urh-about__photo img{filter:saturate(.6) contrast(1.04) brightness(.42);}
  .urh-about__fade{
    background:linear-gradient(180deg,rgba(8,8,10,.80) 0%,rgba(8,8,10,.62) 28%,rgba(8,8,10,.94) 74%,#08080a 100%);
  }
}
