:root{
  --sir-bg:#f4f0e8;
  --sir-ink:#393e46;
  --sir-dark:#393e46;
  --sir-gold:#c6a145;
  --sir-gold-light:#f3dc6b;
  --sir-shell:min(92vw,1680px);
  --sir-reading:min(86vw,1500px);
}
*{box-sizing:border-box}
.sir-page{overflow:hidden;background:var(--sir-bg);color:#111;font-family:Raleway,Arial,sans-serif}
.sir-page h1,.sir-page h2{margin:0 0 .42em;color:var(--sir-ink);font-family:Forum,"Libre Baskerville",serif;font-weight:400;line-height:1.04;letter-spacing:.015em}
.sir-page h1{font-size:clamp(2.25rem,3.1vw,4.15rem)}
.sir-page h2{font-size:clamp(2rem,2.65vw,3.45rem)}
.sir-page p,.sir-page li{font-size:clamp(1rem,1.08vw,1.24rem);line-height:1.14}
.sir-page p{margin:.3em 0 1em}.sir-page ul{margin:.3em 0 1em;padding-left:1.45em}
.sir-shell{width:var(--sir-shell);margin-inline:auto}.sir-gold{color:var(--sir-gold)}
.sir-top-banner{display:block;width:100%;height:auto;min-height:150px;object-fit:cover;object-position:center top}
.sir-hero__shell{padding:clamp(2rem,4vw,4.8rem) 0 clamp(2.5rem,5vw,6rem)}
.sir-ribbon{position:relative;width:min(40vw,650px);min-width:390px;display:grid;place-items:center;isolation:isolate}
.sir-ribbon img{width:100%;height:auto;grid-area:1/1}.sir-ribbon span{grid-area:1/1;z-index:1;color:var(--sir-ink);font-family:Forum,serif;font-size:clamp(1.65rem,2.25vw,3rem);transform:translateX(-2%)}
.sir-kicker{max-width:980px;color:var(--sir-gold);font-family:Forum,serif!important;font-size:clamp(1.35rem,1.8vw,2.3rem)!important;line-height:1.35!important;text-transform:uppercase;margin:1rem 0 2.2rem!important}
.sir-intro-layout{display:grid;grid-template-columns:minmax(0,1fr) clamp(300px,31vw,560px);gap:clamp(1.5rem,4vw,5rem);align-items:stretch}
.sir-intro-copy{display:grid;gap:clamp(2.5rem,4vw,5rem);max-width:1120px}.sir-copy-block{max-width:1050px}
.sir-program-visual{width:100%;height:100%;max-height:1030px;object-fit:cover;object-position:left center;align-self:stretch;margin-right:calc((100vw - var(--sir-shell))/ -2)}
.sir-two-column{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,5vw,7rem);padding:clamp(3rem,5vw,6rem) 0}
.sir-panel{position:relative;min-width:0}.sir-panel--mirror{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,38%);align-items:center}.sir-panel--mirror img{width:135%;max-width:540px;transform:translateX(-10%)}
.sir-panel--audience{display:flex;flex-direction:column}.sir-panel--audience .sir-btn{align-self:center;margin-top:auto}
.sir-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.85rem;min-width:240px;padding:1rem 2.2rem;border:1px solid rgba(198,161,69,.85);border-radius:12px;text-decoration:none;font-family:Forum,serif;font-size:1.15rem;overflow:hidden;box-shadow:0 16px 22px rgba(0,0,0,.25);transition:.28s ease}
.sir-btn--dark{background:var(--sir-dark);color:var(--sir-gold-light)}.sir-btn--dark:hover{background:linear-gradient(100deg,#c49727,#fff2a5,#d5a62f);color:var(--sir-dark);transform:translateY(-3px)}
.sir-btn--gold{background:linear-gradient(100deg,#b88517,#fff2a5,#d3a127);color:#252a31}.sir-btn--gold:hover{background:var(--sir-dark);color:var(--sir-gold-light)}
.sir-shine:after{content:"";position:absolute;inset:-35% auto -35% -45%;width:28%;transform:skewX(-22deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.75),transparent);animation:sirShine 3.8s ease-in-out infinite;pointer-events:none}
@keyframes sirShine{0%,48%{left:-45%}70%,100%{left:125%}}
.sir-transformation,.sir-solving{padding:clamp(2.5rem,4vw,5rem) 0}
.sir-gold-card{position:relative;overflow:hidden;border-radius:18px;background:linear-gradient(105deg,#c4a34e 0%,#f1df8b 44%,#fff8bd 72%,#e5c65a 100%);box-shadow:0 22px 20px -14px rgba(0,0,0,.28);padding:clamp(1.6rem,2.6vw,3rem) clamp(2rem,5vw,6rem);margin:1rem 0 2.4rem;min-height:300px}
.sir-gold-card__text{text-align:center;font-family:Forum,serif}.sir-gold-card__text p{font-size:clamp(1.3rem,1.7vw,2rem);margin:.3em 0;line-height:1.15}
.sir-chaos-ribbon{position:absolute;right:0;top:0;width:clamp(170px,18vw,300px);transform-origin:100% 0;z-index:2;filter:drop-shadow(-8px 12px 10px rgba(0,0,0,.18));transition:transform .45s cubic-bezier(.2,.75,.2,1),filter .45s ease}
.sir-gold-card:hover .sir-chaos-ribbon{transform:scale(1.13);filter:drop-shadow(-14px 18px 13px rgba(0,0,0,.28))}
.sir-solving__grid{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(2rem,5vw,6rem)}
.sir-method{position:relative;background:var(--sir-dark);color:white;padding:clamp(5rem,8vw,9rem) 0 clamp(6rem,9vw,10rem);isolation:isolate}
.sir-method h2{color:white}.sir-method p,.sir-method li{font-size:clamp(1rem,1.18vw,1.35rem);line-height:1.08}
.sir-method__inner{position:relative;z-index:2}.sir-method__corner{position:absolute;z-index:1;pointer-events:none}.sir-method__corner--top{right:0;top:0;width:min(52vw,800px)}.sir-method__corner--bottom{left:0;bottom:0;width:min(36vw,560px)}
.sir-method__header{display:grid;grid-template-columns:270px 1fr;gap:clamp(2rem,5vw,6rem);align-items:center;margin-bottom:4rem}
.sir-method__medal--placeholder{width:210px;height:210px;border-radius:50%;display:grid;place-items:center;text-align:center;color:#343941;font-weight:700;line-height:1.4;background:radial-gradient(circle,#fff2a5 0 32%,#d2a929 35% 45%,#fff1a0 48% 52%,#b57b09 55% 100%);box-shadow:0 12px 25px rgba(0,0,0,.3)}
.sir-method__eyebrow{color:var(--sir-gold-light);font-weight:700;letter-spacing:.35em}.sir-method__title-wrap h2{font-size:clamp(2.5rem,3.4vw,4.5rem);margin:.55rem 0 .15rem}.sir-method__title-wrap>p{color:var(--sir-gold-light);font-size:clamp(1.55rem,2.1vw,2.8rem)}
.sir-puzzle-placeholder{display:inline-grid;place-items:center;width:44px;height:44px;border:1px solid var(--sir-gold-light);border-radius:50%;margin-right:1rem}
.sir-step{display:grid;grid-template-columns:340px minmax(0,760px);gap:clamp(2.5rem,6vw,7rem);justify-content:center;align-items:center;min-height:350px}
.sir-step__rail{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.sir-step__badge{position:relative;width:290px;display:grid;place-items:center;overflow:hidden}.sir-step__badge img{grid-area:1/1;width:100%}.sir-step__badge span{grid-area:1/1;z-index:1;color:var(--sir-dark);text-align:center;letter-spacing:.26em;line-height:1.05}.sir-step__badge b{display:block;font-family:Forum,serif;font-weight:400;font-size:2.25rem;letter-spacing:.2em;margin-right:-.2em}
.sir-step__arrow{position:relative;width:75px;height:118px;margin-top:2rem;overflow:hidden;animation:sirFloat 2.5s ease-in-out infinite}.sir-step__arrow img{width:100%;height:100%;object-fit:contain}@keyframes sirFloat{0%,100%{transform:translateX(-50%) translateY(-6px)}50%{transform:translateX(-50%) translateY(8px)}}
.sir-method__cta{text-align:center;margin-top:4rem}
.sir-details{padding:clamp(4rem,7vw,8rem) 0}.sir-details__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,6vw,7rem) clamp(3rem,7vw,8rem)}
.sir-detail-card--reading{display:grid;grid-template-columns:minmax(0,1fr) 220px;align-items:start}.sir-detail-card--reading img{width:150%;max-width:350px;transform:translate(-22%,-12%)}
.sir-reveal{opacity:0;transform:translateY(30px);transition:opacity .75s ease,transform .75s ease}.sir-reveal.is-visible{opacity:1;transform:none}
@media(max-width:980px){
 .sir-ribbon{width:min(74vw,650px);min-width:0}.sir-intro-layout{grid-template-columns:1fr}.sir-program-visual{width:min(65vw,520px);max-height:720px;margin:0 -4vw 0 auto;object-fit:contain}.sir-two-column,.sir-solving__grid,.sir-details__grid{grid-template-columns:1fr}.sir-panel--mirror{grid-template-columns:1fr minmax(170px,32%)}
 .sir-method__header{grid-template-columns:190px 1fr}.sir-method__medal--placeholder{width:165px;height:165px}.sir-step{grid-template-columns:230px 1fr;gap:2rem}.sir-method__corner--top{width:65vw}.sir-method__corner--bottom{width:48vw}
}
@media(max-width:700px){
 .sir-shell{width:min(90vw,620px)}.sir-page p,.sir-page li{line-height:1.28}.sir-top-banner{min-height:105px}.sir-ribbon{width:100%}.sir-ribbon span{font-size:clamp(1.25rem,6vw,2rem)}.sir-kicker{font-size:1.2rem!important}.sir-program-visual{width:80vw;margin-right:-12vw}
 .sir-panel--mirror{grid-template-columns:1fr}.sir-panel--mirror img{width:min(85vw,430px);margin:auto;transform:none}.sir-gold-card{padding:7rem 1.25rem 1.8rem}.sir-chaos-ribbon{width:190px}.sir-gold-card__text p{text-align:left}
 .sir-method__header{grid-template-columns:1fr;text-align:center}.sir-method__medal--placeholder{margin:auto}.sir-step{grid-template-columns:1fr;min-height:0;margin:4rem 0}.sir-step__copy{max-width:560px;margin:auto}.sir-step__arrow{height:90px}.sir-details__grid{gap:4rem}.sir-detail-card--reading{grid-template-columns:1fr}.sir-detail-card--reading img{width:min(70vw,330px);margin:auto;transform:none}.sir-method__corner--top{width:90vw}.sir-method__corner--bottom{width:75vw}.sir-btn{min-width:220px}
}
@media(prefers-reduced-motion:reduce){.sir-shine:after,.sir-step__arrow{animation:none}.sir-reveal{opacity:1;transform:none;transition:none}}

/* Etap 1.1 — korekty układu */
@media (min-width:981px){
  .sir-kicker{
    max-width:900px;
    font-size:clamp(1.15rem,1.48vw,1.85rem)!important;
    line-height:1.3!important;
  }
  .sir-copy-block--intro{
    padding-left:clamp(42px,4.2vw,78px);
    max-width:1120px;
  }
  .sir-intro-layout{
    grid-template-columns:minmax(0,1fr) clamp(340px,32vw,590px);
  }
  .sir-program-visual{
    width:calc(100% + ((100vw - var(--sir-shell))/2));
    max-width:none;
    margin-right:calc((100vw - var(--sir-shell))/ -2);
    justify-self:end;
    object-position:left center;
  }
}

.sir-gold-card{
  max-width:calc(100% - clamp(40px,6vw,110px));
  margin-inline:auto;
  min-height:0;
  padding:clamp(1rem,1.55vw,1.65rem) clamp(1.5rem,4vw,4.5rem);
  overflow:visible;
}
.sir-gold-card__text{
  padding-right:clamp(120px,15vw,250px);
}
.sir-gold-card__text p{
  margin:.12em 0;
  line-height:1.03;
  font-size:clamp(1.16rem,1.52vw,1.75rem);
}
.sir-chaos-ribbon{
  right:-15px;
  top:-15px;
  width:clamp(145px,15vw,245px);
}
.sir-gold-card:hover .sir-chaos-ribbon{
  transform:translate(-7px,7px) scale(1.12);
}
.sir-transformation>p:last-child{
  width:calc(100% - clamp(40px,6vw,110px));
  margin-inline:auto;
}
.sir-solving__left{
  padding-left:clamp(32px,3.2vw,60px);
}

.sir-method__medal{
  display:block;
  width:clamp(180px,17vw,245px);
  height:auto;
  filter:drop-shadow(0 12px 18px rgba(0,0,0,.28));
}
.sir-method__eyebrow{
  display:flex;
  align-items:center;
  gap:1rem;
}
.sir-method__puzzle{
  width:clamp(42px,4vw,62px);
  height:auto;
  flex:0 0 auto;
}
.sir-puzzle-placeholder,.sir-method__medal--placeholder{display:none!important}
.sir-step{
  position:relative;
  align-items:center;
  min-height:350px;
  padding-block:clamp(1.5rem,2.8vw,3rem);
  margin-block:clamp(.8rem,1.8vw,1.8rem);
}
.sir-step__rail{
  align-self:stretch;
  justify-content:center;
  position:relative;
}
.sir-step__badge span{
  font-weight:700;
  text-shadow:0 1px 0 rgba(255,255,255,.4);
}
.sir-step__badge b{
  font-weight:700;
}
.sir-step__copy{
  padding-block:clamp(1rem,2vw,2.2rem);
}
.sir-step__copy p{
  margin-bottom:1.15em;
}
.sir-step__copy ul{
  margin-block:.75em 1.2em;
}
.sir-step__arrow{
  position:absolute;
  left:50%;
  bottom:calc(clamp(.8rem,1.8vw,1.8rem) * -1 - 48px);
  transform:translateX(-50%);
  width:70px;
  height:105px;
  margin:0;
  overflow:visible;
  animation:sirFloat 2.5s ease-in-out infinite;
  z-index:3;
}
.sir-step__arrow img{
  filter:drop-shadow(0 5px 6px rgba(0,0,0,.25));
}
.sir-method__cta .sir-btn{
  font-weight:700;
  letter-spacing:.045em;
  text-shadow:0 1px 0 rgba(255,255,255,.24);
}

@media(max-width:980px){
  .sir-copy-block--intro{padding-left:0}
  .sir-gold-card{max-width:100%}
  .sir-transformation>p:last-child{width:100%}
  .sir-solving__left{padding-left:0}
  .sir-method__medal{width:170px}
}
@media(max-width:700px){
  .sir-gold-card{padding:6.2rem 1.25rem 1.5rem}
  .sir-gold-card__text{padding-right:0}
  .sir-chaos-ribbon{right:-10px;top:-11px;width:165px}
  .sir-step{margin-block:3rem;padding-block:2rem}
  .sir-step__arrow{position:relative;left:auto;bottom:auto;transform:none;margin:2.2rem auto -1rem}
  .sir-method__eyebrow{justify-content:center}
}

/* Etap 2 — końcowe bloki strony */
.sir-boundaries{
  padding:clamp(1.8rem,3vw,3rem) 0 clamp(2.5rem,4vw,4.5rem);
}
.sir-boundaries p:last-child{margin-top:1.2rem}

.sir-join{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(340px,.85fr);
  gap:clamp(2.5rem,6vw,7rem);
  align-items:end;
  padding:clamp(2rem,4vw,4rem) 0 clamp(4rem,7vw,7rem);
}
.sir-join__copy h2+ol{margin-top:.8rem}
.sir-join__copy h2:nth-of-type(2),
.sir-join__copy h2:nth-of-type(2)+ol{
  margin-left:clamp(2.5rem,5vw,5.5rem);
}
.sir-join__copy ol{padding-left:1.5rem}
.sir-contact-card{
  position:relative;
  width:min(100%,600px);
  justify-self:end;
  align-self:end;
}
.sir-contact-card>img{
  display:block;
  width:100%;
  height:auto;
}
.sir-contact-card__copy{
  position:absolute;
  left:12%;
  bottom:9%;
  width:58%;
  transform:translateY(-0.6em);
  color:#111;
  z-index:2;
}
.sir-contact-card__copy p{
  margin:.2rem 0 1rem;
  font-size:clamp(1rem,1.15vw,1.3rem);
  line-height:1.05;
}
.sir-contact-card__copy a{
  color:#111;
  font-weight:800;
  text-decoration:none;
  word-break:break-word;
}

.sir-payment{
  display:grid;
  grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr);
  gap:clamp(3.5rem,7vw,9rem);
  align-items:start;
  padding:clamp(2.5rem,5vw,5.5rem) 0 clamp(5rem,8vw,8rem);
}
.sir-payment__options{
  margin-left:clamp(3rem,6vw,7rem);
}
.sir-payment__banner{
  position:relative;
  width:min(100%,370px);
  margin-bottom:1.2rem;
}
.sir-payment__banner img{
  display:block;
  width:100%;
  height:auto;
  transform:scaleY(1.2);
  transform-origin:center bottom;
}
.sir-payment__banner h2{
  position:absolute;
  inset:50% 0 auto;
  transform:translateY(-54%);
  text-align:center;
  margin:0;
  color:#3d424a;
}
.sir-payment__options ul{margin-bottom:2rem}
.sir-payment__cta{
  min-width:min(100%,335px);
  font-weight:700;
}
.sir-payment__message h2{max-width:760px}
.sir-payment__message p{max-width:720px}

@media(max-width:980px){
  .sir-join,.sir-payment{grid-template-columns:1fr}
  .sir-contact-card{justify-self:start;width:min(92vw,620px)}
  .sir-payment__options{margin-left:clamp(1.5rem,5vw,3.5rem)}
  .sir-payment__banner{width:min(78vw,370px)}
  .sir-payment{gap:3rem}
}
@media(max-width:700px){
  .sir-boundaries{padding-top:3rem}
  .sir-join{padding-bottom:4rem}
  .sir-contact-card{width:100%}
  .sir-contact-card__copy{left:11%;bottom:7%;width:60%}
  .sir-contact-card__copy p{font-size:.92rem}
  .sir-payment{padding-top:2rem}
  .sir-payment__options{margin-left:0}
  .sir-payment__banner{width:min(86vw,350px)}
  .sir-payment__banner h2{font-size:clamp(1.8rem,9vw,2.8rem)}
}
