/* Podstrona „Strony internetowe” — pokaz możliwości. Wymaga site.css (tokeny, .hero, .btn, .shot, .quotes, .qa, .steps, .cta). */
.sw-hero .hero__sub{max-width:52ch}
.sw-lead{display:grid;gap:clamp(1.5rem,3vw,3rem);grid-template-columns:1fr;align-items:end}
@media (min-width:900px){.sw-lead{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}}
.sw-lead p{max-width:none}

/* --- makieta strony (używana w demo i anatomii) --- */
.smock{position:relative;width:100%;border-radius:14px;border:1px solid rgb(255 255 255 / .14);background:#0d0e12;overflow:hidden;box-shadow:0 40px 80px -40px rgb(0 0 0 / .8);font-size:10px;line-height:1.3;color:rgb(250 250 250 / .8)}
.smock__bar{display:flex;gap:6px;padding:9px 12px;background:rgb(255 255 255 / .05);border-bottom:1px solid rgb(255 255 255 / .08)}
.smock__bar i{width:8px;height:8px;border-radius:50%;background:rgb(255 255 255 / .18)}
.smock__bar span{margin-left:8px;flex:1;height:8px;border-radius:4px;background:rgb(255 255 255 / .06)}
.smock__page{padding:14px 18px 16px;display:grid;gap:12px}
.smock__sec{position:relative;border-radius:8px;transition:opacity 360ms var(--ease-out),outline-color 360ms var(--ease-out),box-shadow 360ms var(--ease-out);outline:1px solid transparent;outline-offset:6px}
.smock__head{display:flex;align-items:center;justify-content:space-between}
.smock__logo{font-weight:500;font-size:11px;letter-spacing:-.01em;color:var(--fg)}
.smock__nav{display:flex;gap:10px;color:rgb(250 250 250 / .55)}
.smock__nav b{width:36px;height:6px;border-radius:3px;background:rgb(255 255 255 / .14);display:block}
.smock__btn{height:18px;padding:0 9px;border-radius:999px;background:var(--accent);color:#fff;display:inline-flex;align-items:center;font-size:9px;font-weight:500}
.smock__hero{display:grid;grid-template-columns:1.2fr 1fr;gap:12px;align-items:center;padding:10px 0 4px}
.smock__h1{font-size:19px;line-height:1.05;letter-spacing:-.03em;font-weight:500;color:var(--fg);max-width:16ch}
.smock__sub{margin-top:6px;color:rgb(250 250 250 / .6);max-width:30ch}
.smock__img{aspect-ratio:4/3;border-radius:8px;background:linear-gradient(135deg,rgb(115 96 223 / .35),rgb(255 255 255 / .06))}
.smock__cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.smock__card{padding:9px;border-radius:8px;border:1px solid rgb(255 255 255 / .1);background:rgb(255 255 255 / .03)}
.smock__card b{display:block;font-weight:500;color:var(--fg);margin-bottom:3px}
.smock__proof{display:flex;gap:8px;align-items:center;padding:8px 10px;border-radius:8px;background:rgb(255 255 255 / .03);border:1px solid rgb(255 255 255 / .08)}
.smock__proof i{width:16px;height:16px;border-radius:50%;background:rgb(255 255 255 / .16);flex:none}
.smock__form{display:grid;grid-template-columns:1fr 1fr auto;gap:6px;padding:10px;border-radius:8px;border:1px solid rgb(255 255 255 / .12);background:rgb(255 255 255 / .03)}
.smock__form span{height:20px;border-radius:5px;background:rgb(8 9 10 / .8);border:1px solid rgb(255 255 255 / .12);display:flex;align-items:center;padding:0 7px;color:rgb(250 250 250 / .45)}
.smock__form .smock__btn{height:20px}
.smock__foot{display:flex;justify-content:space-between;color:rgb(250 250 250 / .45);padding-top:8px;border-top:1px solid rgb(255 255 255 / .08)}
/* stan szkieletu (demo) */
.smock.is-skel .smock__sec>*{visibility:hidden}
.smock.is-skel .smock__sec{background:repeating-linear-gradient(90deg,rgb(255 255 255 / .05) 0 60%,rgb(255 255 255 / .02) 60% 100%);min-height:22px}
.smock[data-focus] .smock__sec{opacity:.32}
.smock[data-focus="hero"] .smock__sec[data-part="hero"],.smock[data-focus="oferta"] .smock__sec[data-part="oferta"],.smock[data-focus="dowody"] .smock__sec[data-part="dowody"],.smock[data-focus="formularz"] .smock__sec[data-part="formularz"],.smock[data-focus="stopka"] .smock__sec[data-part="stopka"],.smock[data-focus="naglowek"] .smock__sec[data-part="naglowek"]{opacity:1;outline-color:var(--accent);box-shadow:0 0 0 6px rgb(115 96 223 / .12)}
/* demo: pokazywanie kolejnych sekund */
.smock.is-demo .smock__sec{opacity:0;translate:0 6px;transition:opacity 420ms var(--ease-out),translate 420ms var(--ease-out)}
.smock.is-demo.s1 .smock__sec[data-part="naglowek"],.smock.is-demo.s1 .smock__sec[data-part="hero"]{opacity:1;translate:0 0}
.smock.is-demo.s2 .smock__sec[data-part="oferta"],.smock.is-demo.s2 .smock__sec[data-part="dowody"]{opacity:1;translate:0 0}
.smock.is-demo.s3 .smock__sec[data-part="formularz"],.smock.is-demo.s3 .smock__sec[data-part="stopka"]{opacity:1;translate:0 0}

/* --- demo 3 sekund --- */
.demo{display:grid;gap:clamp(2rem,4vw,4rem);grid-template-columns:1fr;align-items:center;margin-top:clamp(3rem,5vw,4.5rem)}
@media (min-width:1024px){.demo{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}}
.timer{display:flex;align-items:center;gap:1.25rem}
.timer__ring{width:96px;height:96px;flex:none}
.timer__ring circle{fill:none;stroke-width:3}
.timer__ring .bg{stroke:rgb(255 255 255 / .12)}
.timer__ring .fg{stroke:var(--fg);stroke-linecap:round;stroke-dasharray:283;stroke-dashoffset:283;transform:rotate(-90deg);transform-origin:50% 50%}
.timer__num{font-size:clamp(2.5rem,4vw,3.5rem);font-weight:500;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.timer__num small{font-size:.5em;color:var(--fg-faint);margin-left:.2em;letter-spacing:0}
.beats{margin:1.75rem 0 0;padding:0;list-style:none;display:grid;gap:0}
.beat{display:grid;grid-template-columns:3.25rem 1fr;gap:1rem;padding:.9rem 0;border-top:1px solid var(--hairline);color:var(--fg-faint);transition:color 300ms var(--ease-soft)}
.beat:last-child{border-bottom:1px solid var(--hairline)}
.beat b{font-weight:500;font-variant-numeric:tabular-nums;color:inherit}
.beat span{color:inherit}
.beat.is-on{color:var(--fg)}
.beat.is-on span{color:var(--fg-muted)}
.demo__actions{margin-top:1.5rem;display:flex;gap:1rem;align-items:center}

/* --- anatomia --- */
.anat{display:grid;gap:clamp(2rem,4vw,4rem);grid-template-columns:1fr;margin-top:clamp(3rem,5vw,4.5rem)}
@media (min-width:1024px){.anat{grid-template-columns:minmax(0,6fr) minmax(0,6fr);align-items:start}.anat__mock{position:sticky;top:calc(16px + 62px + 1.5rem)}}
.anat__steps{display:grid;gap:0}
.anat__step{padding:clamp(1.25rem,2.4vh,2rem) 0;border-top:1px solid var(--hairline);opacity:.45;transition:opacity 320ms var(--ease-soft)}
.anat__step.is-on{opacity:1}
.anat__step:last-child{border-bottom:1px solid var(--hairline)}
.anat__n{font-size:var(--t-label);color:var(--fg-faint);letter-spacing:var(--tr-label);font-variant-numeric:tabular-nums}
.anat__step h3{margin-top:.4rem;font-size:1.375rem;letter-spacing:-.018em}
.anat__step p{margin-top:.5rem;font-size:.9375rem;max-width:46ch}
@media (min-width:1024px){.anat__step{min-height:34vh;display:grid;align-content:center}}

/* --- warstwy (WebGL) --- */
.layers{position:relative;height:320svh}
.layers__stage{position:sticky;top:0;height:100svh;overflow:hidden;background:var(--bg)}
.layers__stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.layers__ui{position:absolute;inset:0;z-index:2;display:grid;align-content:center;padding-inline:var(--gutter);pointer-events:none}
.layers__inner{width:100%;max-width:var(--container);margin-inline:auto;display:grid;grid-template-columns:minmax(0,1fr);gap:1.5rem}
@media (min-width:900px){.layers__inner{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}
.layers__h{align-self:start}
.layers__list{list-style:none;margin:0;padding:0;display:grid;gap:0;justify-self:end;width:min(100%,22rem)}
.layer{padding:.85rem 0;border-top:1px solid var(--hairline);color:var(--fg-faint);transition:color 320ms var(--ease-soft)}
.layer:last-child{border-bottom:1px solid var(--hairline)}
.layer b{display:block;font-weight:500;font-size:1.125rem;letter-spacing:-.015em;color:inherit}
.layer span{display:block;margin-top:.2rem;font-size:.875rem}
.layer.is-on{color:var(--fg)}
.layer.is-on span{color:var(--fg-muted)}
.layers__fallback{position:absolute;inset:0;display:none;place-items:center}
.layers.no-gl .layers__fallback{display:grid}
.layers.no-gl canvas{display:none}
.fallback-stack{position:relative;width:min(70vw,520px);aspect-ratio:16/10}
.fallback-stack i{position:absolute;inset:0;border-radius:16px;border:1px solid rgb(255 255 255 / .18);background:rgb(255 255 255 / .04);box-shadow:0 30px 60px -30px rgb(0 0 0 / .8)}
.fallback-stack i:nth-child(2){translate:0 -18px;scale:.96}.fallback-stack i:nth-child(3){translate:0 -36px;scale:.92}.fallback-stack i:nth-child(4){translate:0 -54px;scale:.88}
@media (max-width:899px){.layers{height:260svh}.layers__ui{align-content:end;padding-bottom:3rem;padding-top:40svh;background:linear-gradient(to top,#08090A 0%,#08090A 48%,rgb(8 9 10 / .7) 62%,transparent 80%)}.layers__list{justify-self:start;width:100%}.layer{padding:.6rem 0}.layer span{font-size:.8125rem}.layers__h .h2{font-size:clamp(1.75rem,8vw,2.25rem)}.layers__h p{display:none}}

/* --- rodzaje stron --- */
.types{display:grid;gap:clamp(1rem,2vw,1.5rem);margin-top:clamp(3rem,5vw,4.5rem);grid-template-columns:1fr}
@media (min-width:900px){.types{grid-template-columns:repeat(3,1fr)}}
.type{display:flex;flex-direction:column;gap:1rem;padding:clamp(1.5rem,2.4vw,2rem);border:1px solid var(--hairline);border-radius:var(--r-md);background:var(--surface)}
.type h3{font-size:1.375rem;letter-spacing:-.018em}
.type>p{font-size:.9375rem;max-width:none}
.type ul{margin:0;padding:0;list-style:none;display:grid;gap:.45rem;font-size:.9375rem;color:var(--fg-muted)}
.type li{padding-left:1rem;position:relative}
.type li::before{content:"";position:absolute;left:0;top:.6em;width:5px;height:5px;border-radius:50%;background:var(--accent)}
.type__ex{margin-top:auto;padding-top:1rem;border-top:1px solid var(--hairline);display:flex;flex-wrap:wrap;gap:.4rem}
.type__ex a{font-size:.75rem;letter-spacing:.02em;padding:4px 9px;border-radius:999px;border:1px solid rgb(255 255 255 / .14);color:var(--fg-muted);transition:border-color var(--d-hover) var(--ease-soft),color var(--d-hover) var(--ease-soft)}
.type__ex a:hover{border-color:rgb(255 255 255 / .35);color:var(--fg)}
.type__ex span{font-size:.75rem;letter-spacing:.02em;padding:4px 9px;border-radius:999px;border:1px dashed rgb(255 255 255 / .12);color:var(--fg-faint)}

/* --- szybkość --- */
.speed{display:grid;gap:clamp(2rem,4vw,4rem);grid-template-columns:1fr;margin-top:clamp(3rem,5vw,4.5rem);align-items:center}
@media (min-width:1024px){.speed{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}}
.race{display:grid;gap:1.25rem}
.race__row{display:grid;gap:.5rem}
.race__label{display:flex;justify-content:space-between;font-size:.9375rem}
.race__label b{font-weight:500}
.race__label span{font-variant-numeric:tabular-nums;color:var(--fg-faint)}
.race__bar{height:10px;border-radius:5px;background:rgb(255 255 255 / .08);overflow:hidden}
.race__bar i{display:block;height:100%;width:100%;transform-origin:left;transform:scaleX(0);background:rgb(250 250 250 / .35)}
.race__row--after .race__bar i{background:var(--accent)}
.race.is-run .race__row--before .race__bar i{transition:transform 7s linear;transform:scaleX(1)}
.race.is-run .race__row--after .race__bar i{transition:transform 2.5s linear;transform:scaleX(1)}
.race__note{font-size:.8125rem;color:var(--fg-faint)}
.practices{margin:0;padding:0;list-style:none;display:grid;gap:0}
.practices li{padding:.85rem 0;border-top:1px solid var(--hairline);font-size:.9375rem;color:var(--fg-muted)}
.practices li:last-child{border-bottom:1px solid var(--hairline)}
.practices b{display:block;font-weight:500;color:var(--fg)}

/* --- co dostajesz --- */
.scope{display:grid;gap:1px;margin-top:clamp(3rem,5vw,4.5rem);grid-template-columns:1fr;background:var(--hairline);border:1px solid var(--hairline);border-radius:var(--r-md);overflow:hidden}
@media (min-width:640px){.scope{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.scope{grid-template-columns:repeat(4,1fr)}}
.scope div{background:var(--bg);padding:1.35rem 1.35rem 1.5rem}
.scope b{display:block;font-weight:500;letter-spacing:-.012em}
.scope p{margin-top:.4rem;font-size:.875rem;max-width:none}

/* --- galeria pozioma --- */
.gal{position:relative;height:260svh}
.gal__stage{position:sticky;top:0;height:100svh;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr);align-content:center}
.gal__head{padding-inline:var(--gutter);max-width:var(--container);margin-inline:auto;width:100%;margin-bottom:2rem}
.gal__track{display:flex;gap:clamp(1.25rem,2.5vw,2.5rem);padding-inline:var(--gutter);will-change:transform;min-width:0;width:max-content}
.gal__item{flex:0 0 min(72vw,760px)}
.gal__item .shot{max-width:none;width:100%;margin:0}
.gal__cap{display:flex;justify-content:space-between;gap:1rem;margin-top:.85rem;font-size:.9375rem}
.gal__cap b{font-weight:500}
.gal__cap span{color:var(--fg-faint)}
.gal__cap a{color:var(--fg-muted);text-decoration:underline;text-underline-offset:3px}
@media (max-width:899px){.gal{height:auto;padding-block:var(--section-y) 0}.gal__stage{position:static;height:auto;display:block;overflow:visible}.gal__track{flex-direction:column;transform:none!important;width:auto;min-width:0;gap:2rem}.gal__item{flex-basis:auto;width:100%;max-width:100%}.gal__item .shot{max-width:100%}.gal__item .shot img{width:100%;height:auto}}
@media (prefers-reduced-motion:reduce){.gal{height:auto}.gal__stage{position:static;height:auto}.gal__track{flex-wrap:wrap;transform:none!important}.smock.is-demo .smock__sec{opacity:1;translate:0 0}.race__bar i{transform:scaleX(1)}}
