/* Pracownia / ruch. Warstwa czysto wizualna: bez zmian HTML, tresci i JS.
   Wejscie konczy sie przed 5 s. Pozniejszy ruch wynika z gestu przewijania
   lub wskazania. Brak zapetlen, przejmowania scrolla i ukrywania formularzy. */
body .k-head{position:sticky;top:0;z-index:40;background:var(--paper)}
body .k-head:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;pointer-events:none}
body [id],body .sec{scroll-margin-top:124px}
body .hero{padding-top:62px;padding-bottom:80px}
body .hero-g{gap:64px}
body .hero .kick{display:flex;align-items:center;gap:12px}
body .hero .kick:before{content:'';width:26px;height:1px;background:var(--accent);flex:none}
body .hero-g>.rys,body .hero-rys .rys{overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 12% 0%,color-mix(in srgb,var(--stage-accent) 26%,transparent),transparent 62%),linear-gradient(155deg,var(--stage),var(--stage-deep));border:1px solid var(--stage);box-shadow:0 28px 48px -24px var(--shadow)}
body .hero-g>.rys{padding:40px;align-self:stretch;display:flex;align-items:center;min-height:340px}
body .hero-g>.rys:before{content:'';position:absolute;inset:9%;border:1px solid color-mix(in srgb,var(--stage-accent) 25%,transparent);pointer-events:none}
body .hero-g>.rys svg{position:relative;z-index:1}
body .hero-g>.rys :is(.o,.t,.n){stroke:var(--stage-accent);stroke-width:1.7}
body .hero-g>.rys .f{fill:var(--stage);stroke:var(--stage-accent)}
body .hero-g>.rys :is(.napis,.napis-t){fill:var(--stage-ink)}
body .hero-rys{padding-top:0}
/* Przestrzenna bryla: geometria CSS tego samego SVG, bez zmian HTML/tekstu.
   Przy braku obslugi d:path pozostaje rysunek bazowy. */
body .hero-rys .rys{height:470px;display:grid;place-items:center;padding:10px}
body .hero-rys .rys svg{height:auto;max-height:100%;z-index:3;pointer-events:none;overflow:visible}
body .hero-rys .rys svg :is(path,line,rect,polygon,polyline,circle,ellipse){opacity:1}
body .hero-rys .rys svg .o{stroke:color-mix(in srgb,var(--stage-ink) 70%,var(--stage));stroke-width:1.4}
body .hero-rys .rys svg .o:nth-child(2){fill:var(--house-front)}
body .hero-rys .rys svg .t{stroke:var(--heat);stroke-width:3;filter:drop-shadow(0 0 6px var(--heat-glow));stroke-dasharray:12 8}
body .hero-rys .rys svg .n{stroke:var(--stage-accent);stroke-width:1.2;opacity:.8}
body .hero-rys .rys svg :is(.napis,.napis-t){fill:var(--stage-ink);font:italic 23px var(--display)}
body .hero-rys .rys:before{content:'';inset:auto -10% 3%;width:120%;height:38%;border:0;border-radius:50%;opacity:.7;background:radial-gradient(ellipse at 50% 48%,var(--stage-deep) 0 18%,transparent 58%),repeating-linear-gradient(90deg,transparent 0,transparent 47px,color-mix(in srgb,var(--stage-accent) 22%,transparent) 47px,color-mix(in srgb,var(--stage-accent) 22%,transparent) 48px),repeating-linear-gradient(0deg,transparent 0,transparent 47px,color-mix(in srgb,var(--stage-accent) 22%,transparent) 47px,color-mix(in srgb,var(--stage-accent) 22%,transparent) 48px);transform:perspective(350px) rotateX(58deg) rotateZ(-24deg);pointer-events:none}
body .hero-rys .rys:after{content:'';position:absolute;inset:15% 9% 26% 37%;width:auto;border:0;border-radius:50%;background:radial-gradient(ellipse at 55% 40%,var(--heat-haze),transparent 65%);box-shadow:none;filter:blur(12px);pointer-events:none}
@supports(d:path("M0 0 L1 1")){
 body .hero-rys .rys svg>.o:nth-child(1){d:path("M248 286 L411 206 V290 L248 370 Z M248 370 L411 290 V299 L248 379 Z");fill:var(--house-side)}
 body .hero-rys .rys svg>.o:nth-child(2){d:path("M112 232 L177 151 L248 286 V370 L112 316 Z M112 316 L248 370 V379 L112 325 Z");fill:var(--house-front)}
 body .hero-rys .rys svg>.o:nth-child(3){d:path("M104 224 L174 137 L338 57 L422 201 L248 286 L177 151 L112 232 Z M177 151 L338 71 M248 286 L422 201 M201 195 L363 115 M224 239 L389 160");fill:var(--house-roof)}
 body .hero-rys .rys svg>rect:nth-child(4),body .hero-rys .rys svg>path:nth-child(5){transform:matrix(.72,.36,0,.83,25.56,3);fill:var(--house-glass);stroke:var(--stage-accent);stroke-width:2}
 body .hero-rys .rys svg>rect:nth-child(6),body .hero-rys .rys svg>path:nth-child(7){transform:matrix(.85,-.415,0,.83,36.5,197.7);fill:var(--house-glass);stroke:var(--stage-accent);stroke-width:2;filter:drop-shadow(0 0 9px var(--heat-haze))}
 body .hero-rys .rys svg>path:nth-child(5),body .hero-rys .rys svg>path:nth-child(7){fill:none;stroke-width:1.3}
 body .hero-rys .rys svg>.o:nth-child(8){d:path("M201 346 V285 L230 299 V360 Z M222 326 V331");fill:var(--stage)}
 body .hero-rys .rys svg>.o:nth-child(9){d:path("M326 152 V118 L348 107 L361 113 V146 L339 157 Z M326 118 L339 124 L361 113 M339 124 V157");fill:var(--house-side)}
 body .hero-rys .rys svg>.t:nth-child(10){d:path("M264 161 C241 143 281 123 261 103 S257 75 270 57");--heat-y:8px}
 body .hero-rys .rys svg>.t:nth-child(11){d:path("M303 153 C281 132 321 113 300 91 S301 57 313 35");--heat-y:12px}
 body .hero-rys .rys svg>.t:nth-child(12){d:path("M351 182 C330 162 370 143 350 122 S351 91 364 72");--heat-y:16px}
 body .hero-rys .rys svg>.t:nth-child(13){d:path("M357 261 C383 246 390 267 417 249 S448 242 467 221 M358 276 C383 261 400 278 427 260");--heat-x:-12px;--heat-y:0px;stroke-width:2.7}
 body .hero-rys .rys svg>.n{d:path("M151 88 C179 108 215 111 248 102 M238 99 L248 102 L242 110")}
 body .hero-rys .rys svg>.napis{transform:translate(-250px,12px)}
}
body .naklejka{padding:24px 0;position:relative;gap:24px}
body .naklejka:after{content:'';position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left}
body .tak-to{position:relative;overflow:hidden;margin-top:0;padding:35px 30px 28px;background:var(--stage);color:var(--stage-ink);border:1px solid var(--stage);box-shadow:0 28px 48px -24px var(--shadow)}
body .tak-to:after{content:'';position:absolute;width:140px;height:240px;right:-48px;top:-85px;border:1px solid color-mix(in srgb,var(--stage-accent) 28%,transparent);border-radius:90px 90px 0 0;transform:rotate(27deg);pointer-events:none}
body .tak-to>.reka{position:relative;z-index:1;color:var(--stage-ink);font-size:32px;margin-bottom:26px}
body .tak-to li{color:var(--stage-ink);border-color:color-mix(in srgb,var(--stage-accent) 28%,transparent);padding-top:22px;padding-bottom:22px}
body .tak-to li:before{color:var(--stage-accent)}
body .tak-to strong{color:inherit}
body .sec{position:relative}
body .sec-head h2{max-width:22ch}
body .cols .card{position:relative;isolation:isolate}
body .cols .card:after{content:'';position:absolute;left:0;top:-2px;right:0;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:left}
body .duza .tile{position:relative;padding-left:12px;padding-right:12px;margin-left:-12px;margin-right:-12px}
body .kroki li:before{font-size:54px;letter-spacing:-2px}
body .kontakt-p{background:var(--stage);color:var(--stage-ink);border-color:var(--stage);position:relative}
body .kontakt-p .reka,body .kontakt-p .hint{color:var(--stage-ink)}
body .kontakt-p .btn{background:var(--stage-ink);color:var(--stage);border-color:var(--stage-ink)}
body .kontakt-p .btn-ghost{background:transparent;color:var(--stage-ink);border-color:var(--stage-accent)}
body .kontakt-p .btn:hover{background:var(--stage-accent);color:var(--stage)}
body .kontakt-p .btn-ghost:hover{background:var(--stage);color:var(--stage-ink)}
body .k-nav a{position:relative}
body .k-nav a:after{content:'';position:absolute;left:0;right:0;bottom:5px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:right}
body .k-nav a:hover:after,body .k-nav a:focus-visible:after{transform:scaleX(1);transform-origin:left}
body main summary:after{transform-origin:center}
body .f :is(input,select,textarea):focus-visible{background:var(--surface)}

@keyframes pracownia-enter{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}
@keyframes pracownia-title{from{clip-path:inset(0 0 100% 0);transform:translateY(20px)}to{clip-path:inset(0);transform:translateY(0)}}
@keyframes pracownia-draw{from{stroke-dashoffset:1200}to{stroke-dashoffset:0}}
@keyframes pracownia-heat{from{opacity:.25;stroke-dashoffset:100;translate:var(--heat-x,0) var(--heat-y,16px)}to{opacity:1;stroke-dashoffset:0;translate:0 0}}
@keyframes pracownia-reveal{from{opacity:.15;translate:0 36px}to{opacity:1;translate:0 0}}
@keyframes pracownia-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes pracownia-parallax{from{translate:0 0}to{translate:0 -30px}}
@keyframes pracownia-detail{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}

@media(prefers-reduced-motion:no-preference){
 html{scroll-behavior:smooth}
 body .hero .kick{animation:pracownia-enter .7s .05s both}
 body .hero h1{animation:pracownia-title 1.1s .12s cubic-bezier(.2,.75,.2,1) both}
 body .hero :is(.lead,.hero-termin,.cta-row){animation:pracownia-enter .85s .35s both}
 body .hero .cta-row{animation-delay:.5s}
 body .hero-g>.rys,body .hero .tak-to{animation:pracownia-enter 1.15s .2s cubic-bezier(.2,.75,.2,1) both}
 body .hero .tak-to li{animation:pracownia-enter .75s .35s both}
 body .hero .tak-to li:nth-child(2){animation-delay:.48s}
 body .hero .tak-to li:nth-child(3){animation-delay:.61s}
 body .hero .tak-to li:nth-child(4){animation-delay:.74s}
 body .hero .tak-to li:nth-child(5){animation-delay:.87s}
 body .hero-g>.rys svg :is(path,line,polyline,polygon,rect):not(.f){stroke-dasharray:1200;animation:pracownia-draw 2.4s .5s cubic-bezier(.2,.65,.3,1) both}
 body .hero-rys .rys svg .o{stroke-dasharray:1200;animation:pracownia-draw 2.4s .2s cubic-bezier(.2,.65,.3,1) both}
 body .hero-rys .rys svg .t{animation:pracownia-heat 3.5s .8s linear both}
 body .hero-rys .rys svg .t:nth-last-child(3){--heat-x:-16px;--heat-y:0px}
 body :is(.btn,.btn-s,.k-cta){transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease,color .25s ease}
 body :is(.card,.fiszka,.cta-k){transition:translate .4s cubic-bezier(.2,.75,.2,1),box-shadow .4s ease}
 body .duza .tile{transition:background-color .25s ease,translate .3s ease}
 body .w-strz,body .k-logo:before{transition:transform .35s cubic-bezier(.2,.75,.2,1)}
 body .k-nav a:after,body .naklejka:after,body .card:after{transition:transform .4s cubic-bezier(.2,.75,.2,1)}
 body .f :is(input,select,textarea){transition:background-color .2s ease,border-color .2s ease}
 body main summary:after{transition:transform .3s ease}
 body main details[open]>p{animation:pracownia-detail .25s ease both}
 body :is(.k-drop-menu,.k-menu[open] .k-menu-panel){animation:pracownia-detail .2s ease both}
 @media(hover:hover) and (pointer:fine){
  body :is(.btn,.btn-s,.k-cta):hover{transform:translateY(-3px);box-shadow:0 9px 20px -9px var(--shadow)}
  body :is(.cols .card,.fiszka,.cta-k):hover{translate:0 -6px}
  body .cols .card:hover:after,body .naklejka:hover:after{transform:scaleX(1)}
  body .duza .tile:hover{background:var(--wash);translate:5px 0}
  body :is(.tile,.naklejka):hover .w-strz{transform:translateX(6px)}
  body .k-logo:hover:before{transform:perspective(120px) rotateY(-18deg)}
  body main summary:hover:after{transform:rotate(90deg)}
 }
 @supports(animation-timeline:view()){
  /* Natywny scroll: poza wspierajacymi przegladarkami calosc jest statyczna. */
  body .sec:not(:has(.regulamin,.zam,.lead-form)) :is(.sec-head,.glowa,.fiszka,.kroki>li,.powody>li){animation:pracownia-reveal linear both;animation-timeline:view();animation-range:entry 5% entry 95%}
  body .kroki>li:nth-child(2),body .kroki>li:nth-child(4){animation-range:entry 5% entry 120%}
  body .hero-rys{animation:pracownia-parallax linear both;animation-timeline:scroll(root block);animation-range:0px 750px}
  body .k-head:after{animation:pracownia-progress linear both;animation-timeline:scroll(root block)}
 }
}
@media(max-width:800px){
 body .hero{padding-top:38px;padding-bottom:45px}
 body .hero-g{gap:32px}
 body .hero-g>.rys{align-self:auto;min-height:0;max-width:none;padding:40px}
 body .hero-rys .rys{height:350px}
 body .hero-rys{animation:none!important}
 body [id],body .sec{scroll-margin-top:104px}
}
@media(max-width:560px){
 body .hero-rys .rys{height:330px}
 body .tak-to{padding:28px 22px 20px}
 body .tak-to>.reka{font-size:29px}
 body .hero-g>.rys{padding:30px}
 body .kroki li:before{font-size:37px}
}
/* CSS bez ruchu pozostawia wszystkie teksty i kontrolki widoczne.
   Klasa motion-off pochodzi tylko z kontrolki zewnetrznego panelu podgladu. */
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 body *,body *:before,body *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
html.motion-off{scroll-behavior:auto!important}
html.motion-off body *,html.motion-off body *:before,html.motion-off body *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media print{body .k-head{display:none}body .tak-to,body .kontakt-p{background:var(--paper);color:var(--ink);box-shadow:none}body .tak-to *{color:var(--ink)!important}body *,body *:before,body *:after{animation:none!important;transition:none!important}}
/* Na telefonie scena jest nizej: rysuje sie dopiero przy jej przewijaniu. */
@media(max-width:800px) and (prefers-reduced-motion:no-preference){
 @supports(animation-timeline:view()){
  body .hero-rys .rys,body .hero-g>.rys{view-timeline-name:--pracownia-art;view-timeline-axis:block}
  body .hero-rys .rys svg .t{animation:pracownia-heat linear both;animation-timeline:--pracownia-art;animation-range:entry 25% entry 100%}
  body .hero-rys .rys svg .o,body .hero-g>.rys svg :is(path,line,polyline,polygon,rect):not(.f){animation:pracownia-draw linear both;animation-timeline:--pracownia-art;animation-range:entry 0% entry 100%}
 }
}
/* Bardzo waski panel aplikacji: zachowanie pelnych slow i mieszczenie menu. */
@media(max-width:360px){
 body h1{font-size:clamp(30px,10vw,34px);letter-spacing:-1px}
 body .k-head-in{padding-left:16px;padding-right:16px;gap:8px}
 body .k-logo{gap:7px}
 body .k-logo:before{width:22px;height:31px}
 body .k-logo-t>span{font-size:17px}
 body .k-logo small{font-size:7px;letter-spacing:.35px}
 body .k-menu summary{padding:8px;font-size:11px;min-width:44px;justify-content:center}
}

/* Pracownia: wspolna rodzina ilustracji. Tylko CSS, te same SVG i podpisy.
   Materialy i swiatlo pochodza z tokens.css. Bez nowych tresci/zasobow. */
body .hero-g>.rys{height:470px;min-height:0;padding:18px;align-self:start;display:grid;place-items:center;max-width:none;overflow:hidden;isolation:isolate}
body .hero-g>.rys svg{width:100%;height:100%;max-height:100%;z-index:2}
body .hero-g>.rys:before{inset:auto -10% 3%;width:120%;height:38%;border:0;border-radius:50%;background:radial-gradient(ellipse at 50% 48%,var(--stage-deep) 0 18%,transparent 58%),repeating-linear-gradient(90deg,transparent 0,transparent 47px,color-mix(in srgb,var(--stage-accent) 22%,transparent) 47px,color-mix(in srgb,var(--stage-accent) 22%,transparent) 48px),repeating-linear-gradient(0deg,transparent 0,transparent 47px,color-mix(in srgb,var(--stage-accent) 22%,transparent) 47px,color-mix(in srgb,var(--stage-accent) 22%,transparent) 48px);opacity:.7;transform:perspective(350px) rotateX(58deg) rotateZ(-24deg)}
body .hero-g>.rys:after{content:'';position:absolute;inset:12% 4% 20% 24%;border-radius:50%;background:radial-gradient(ellipse at 55% 40%,var(--heat-haze),transparent 65%);filter:blur(12px);pointer-events:none}
body .hero-g>.rys svg :is(.o,.t,.n){stroke-width:1.4;stroke:color-mix(in srgb,var(--stage-ink) 70%,var(--stage));stroke-linejoin:round;stroke-linecap:round}
body .hero-g>.rys svg .t{stroke:var(--stage-accent)}
body .b404 .rys{background:radial-gradient(ellipse at 12% 0%,color-mix(in srgb,var(--stage-accent) 26%,transparent),transparent 62%),linear-gradient(155deg,var(--stage),var(--stage-deep));border:1px solid var(--stage);box-shadow:0 28px 48px -24px var(--shadow);transform:none}
body .b404 .rys .napis-d{fill:var(--stage-ink)}
@supports(d:path("M0 0 L1 1")){
 /* Budynki */
 body .hero-g>.rys:has(svg>path[d="M92 382 V114 L232 62 V382"]) svg>path:nth-child(1){d:path("M70 316 L273 218 L460 312 L310 390 Z M70 316 V325 L310 400 L460 322 V312 M310 390 V400");fill:var(--stage)}
 body .hero-g>.rys:has(svg>path[d="M92 382 V114 L232 62 V382"]) svg>path:nth-child(2){d:path("M100 120 L200 170 V350 L100 300 Z M200 240 L310 295 V375 L200 320 Z");fill:var(--house-front)}
 body .hero-g>.rys:has(svg>path[d="M92 382 V114 L232 62 V382"]) svg>path:nth-child(3){d:path("M200 170 L300 120 V190 L200 240 Z M310 295 L430 235 V315 L310 375 Z");fill:var(--house-side)}
 body .hero-g>.rys:has(svg>path[d="M92 382 V114 L232 62 V382"]) svg>path:nth-child(4){d:path("M100 120 L200 70 L300 120 L200 170 Z M200 240 L320 180 L430 235 L310 295 Z M220 240 L320 192 L406 235");fill:var(--house-roof)}
 body .hero-g>.rys:has(svg>path[d="M92 382 V114 L232 62 V382"]) svg>path:nth-child(5){d:path("M120 155 L145 167 V192 L120 180 Z M120 200 L145 212 V237 L120 225 Z M120 245 L145 257 V282 L120 270 Z M160 175 L183 187 V212 L160 200 Z M160 220 L183 232 V257 L160 245 Z M160 265 L183 277 V302 L160 290 Z M222 180 L248 167 V192 L222 205 Z M222 220 L248 207 V232 L222 245 Z M260 161 L282 150 V175 L260 186 Z M260 201 L282 190 V215 L260 226 Z M220 265 L246 278 V299 L220 286 Z M336 300 L362 287 V310 L336 323 Z M382 277 L410 263 V287 L382 301 Z");fill:var(--house-glass);stroke:var(--stage-accent)}
 body .hero-g>.rys:has(svg>path[d="M92 382 V114 L232 62 V382"]) svg>path:nth-child(6){d:path("M268 354 V313 L291 325 V366 Z M284 343 V348");fill:var(--stage)}
 body .hero-g>.rys:has(svg>path[d="M92 382 V114 L232 62 V382"]) svg>path:nth-child(7){d:path("M86 342 L309 414 L476 329");fill:none;stroke:var(--stage-accent);stroke-dasharray:3 6;opacity:.5}
 /* Dokument i monety */
 body .hero-g>.rys:has(svg>ellipse) svg>path:nth-child(1){d:path("M102 70 L292 36 L345 80 L382 310 L144 352 Z");fill:var(--house-front)}
 body .hero-g>.rys:has(svg>ellipse) svg>path:nth-child(2){d:path("M292 36 L300 88 L345 80 Z");fill:var(--house-side)}
 body .hero-g>.rys:has(svg>ellipse) svg>path:nth-child(3){d:path("M145 137 L307 109 M152 176 L314 148 M160 215 L280 194 M174 279 L252 265");stroke:var(--stage);stroke-width:2.2}
 body .hero-g>.rys:has(svg>ellipse) svg>ellipse:nth-child(4){cx:390px;cy:356px;rx:66px;ry:23px;fill:var(--house-glass)}
 body .hero-g>.rys:has(svg>ellipse) svg>path:nth-child(5){d:path("M324 326 V356 C324 387 456 387 456 356 V326 Z");fill:var(--house-glass);stroke:var(--stage-accent)}
 body .hero-g>.rys:has(svg>ellipse) svg>ellipse:nth-child(6){cx:390px;cy:326px;rx:66px;ry:23px;fill:var(--stage-accent)}
 body .hero-g>.rys:has(svg>ellipse) svg>path:nth-child(7){d:path("M324 296 V326 C324 357 456 357 456 326 V296 Z");fill:var(--house-glass);stroke:var(--stage-accent)}
 body .hero-g>.rys:has(svg>ellipse) svg>ellipse:nth-child(8){cx:390px;cy:296px;rx:66px;ry:23px;fill:var(--heat);stroke:var(--stage-ink)}
 body .hero-g>.rys:has(svg>ellipse) svg>path:nth-child(9){d:path("M144 352 L320 321 L321 332 L149 363 Z M382 280 L345 80 L355 89 L390 277 Z");fill:var(--house-side);stroke-dasharray:none;opacity:1}
 /* Regulaminy */
 body .hero-g>.rys:has(svg>circle) svg>path:nth-child(1){d:path("M110 64 L310 44 L370 92 L390 344 L148 374 Z");fill:var(--house-front)}
 body .hero-g>.rys:has(svg>circle) svg>path:nth-child(2){d:path("M310 44 L318 103 L370 92 Z");fill:var(--house-side)}
 body .hero-g>.rys:has(svg>circle) svg>path:nth-child(3){d:path("M152 155 L329 124 M158 193 L335 162 M164 230 L289 207");stroke:var(--stage);stroke-width:2.2}
 body .hero-g>.rys:has(svg>circle) svg>path:nth-child(4){d:path("M210 296 L236 315 L281 264");stroke:var(--stage);stroke-width:5}
 body .hero-g>.rys:has(svg>circle) svg>circle:nth-child(5){cx:245px;cy:291px;r:50px;stroke:var(--stage);stroke-width:1.5;stroke-dasharray:3 5;opacity:.85;fill:none}
 body .hero-g>.rys:has(svg>circle) svg>path:nth-child(6){d:path("M148 374 L390 344 L397 355 L155 386 Z M390 344 L370 92 L379 101 L397 355 Z");fill:var(--house-side)}
 /* Zamowienie - koperta i olowek */
 body .hero-g>.rys:has(svg>rect) svg>rect:nth-child(1){transform:matrix(.9,.16,-.1,.9,40,-4);fill:var(--house-side)}
 body .hero-g>.rys:has(svg>rect) svg>path:nth-child(2){d:path("M74 130 L246 254 L418 130 Z");transform:matrix(.9,.16,-.1,.9,40,-4);fill:var(--house-front)}
 body .hero-g>.rys:has(svg>rect) svg>path:nth-child(3){d:path("M74 346 L196 230 L246 264 L296 230 L418 346 Z");transform:matrix(.9,.16,-.1,.9,40,-4);fill:var(--house-front)}
 body .hero-g>.rys:has(svg>rect) svg>path:nth-child(4){d:path("M290 89 L310 69 L458 217 L470 264 L422 251 L274 105 Z");fill:var(--stage-accent);stroke:var(--stage-ink);filter:drop-shadow(4px 7px 3px var(--shadow))}
 body .hero-g>.rys:has(svg>rect) svg>path:nth-child(5){d:path("M422 251 L458 217 L470 264 Z M290 89 L310 69 L458 217 L448 228 Z");fill:var(--house-glass)}
 body .hero-g>.rys:has(svg>rect) svg>path:nth-child(6){d:path("M74 346 L418 346 L426 356 L74 356 Z");transform:matrix(.9,.16,-.1,.9,40,-4);fill:var(--house-roof);stroke-dasharray:none;opacity:1}
 /* 404 */
 body .b404 .rys svg>path:nth-child(1){d:path("M79 28 L310 63 L277 278 L48 242 Z");fill:var(--house-front)}
 body .b404 .rys svg>path:nth-child(2){d:path("M48 242 L277 278 L287 290 L48 254 Z M277 278 L310 63 L321 75 L287 290 Z");fill:var(--house-side)}
 body .b404 .rys svg>path:nth-child(3){d:path("M100 92 L276 119 M94 121 L270 148 M76 215 L253 242");stroke:var(--stage);stroke-dasharray:3 5;opacity:.4}
 body .b404 .rys svg>text.napis-d{font:400 94px var(--display);fill:var(--stage);transform:matrix(.9,.15,-.15,.9,-12,-5)}
}
/* Zasieg zachowuje okregi i wszystkie podpisy; glebie daje powierzchnia dysku. */
body .mapa .rys{height:420px;display:grid;place-items:center;padding:18px;background:radial-gradient(ellipse at 12% 0%,color-mix(in srgb,var(--stage-accent) 26%,transparent),transparent 62%),linear-gradient(155deg,var(--stage),var(--stage-deep));border:1px solid var(--stage);box-shadow:0 28px 48px -24px var(--shadow)}
body .mapa .rys svg{height:100%;width:100%;max-height:100%;overflow:visible}
body .mapa .rys .n{stroke:var(--stage-accent);stroke-width:1.3;opacity:.65;stroke-dasharray:3 7}
body .mapa .rys .f{fill:var(--house-roof);stroke:var(--stage-accent);stroke-width:1.5;filter:drop-shadow(0 14px 0 var(--stage-deep))}
body .mapa .rys .o{stroke:var(--stage-accent);stroke-width:1.6}
body .mapa .rys .o:nth-child(3){fill:var(--heat);stroke:var(--heat);filter:drop-shadow(0 0 7px var(--heat-glow))}
body .mapa .rys :is(.napis,.napis-t){fill:var(--stage-ink);font-family:var(--display);font-size:23px}
@media(max-width:800px){body .hero-g>.rys{height:350px;padding:18px}body .mapa .rys{height:390px}}
@media(max-width:560px){body .hero-g>.rys{height:330px;padding:12px}body .mapa .rys{height:330px;padding:10px}}
