html{scroll-padding-top:100px}header{display:contents}.navigation{position:sticky;top:0;z-index:50;box-shadow:0 2px 6px #00345b14}.brand img,.footer-logo img{width:100%;height:auto!important;aspect-ratio:1;object-fit:contain}.brand{width:126px;top:2px}.footer-logo{width:126px}.national-emblem{width:37px;height:46px;object-fit:contain;margin-left:151px}.footer-emblems{display:flex;align-items:center;gap:25px;height:116px}.footer-emblems>img{height:98px;width:auto}.footer-emblems a img{height:98px;width:auto}.hero-copy,html.enlarged .hero-copy,html.contrast .hero-copy{clip-path:none;visibility:visible;width:33%;height:auto;overflow:visible;left:4.9%;top:17%;padding:0;background:none}.hero-copy h1,html.enlarged .hero-copy h1{font-family:'Segoe Print',cursive;font-size:clamp(22px,2.8vw,52px);line-height:1.1;margin:0 0 23px;letter-spacing:-1px;font-weight:600}.hero-copy h1 span,html.enlarged .hero-copy h1 span{font-size:clamp(38px,4.8vw,88px);color:#69ae36}.hero-copy p,html.enlarged .hero-copy p{font-size:clamp(15px,1.6vw,29px);line-height:1.2;margin:0}.hero-button{z-index:2}.virtual-tour{position:absolute;right:24px;bottom:24px;padding:12px 18px;background:#00345eea;color:white;border:1px solid white;border-radius:8px;font-weight:700}.boxes-toggle{display:block;text-align:left;font-size:.85rem;color:#355273;padding-block:8px;margin-top:2px}.shortcuts{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));align-items:stretch;margin-top:0}.cms-box{border-radius:8px;overflow:hidden;color:white;min-width:0}.cms-box.light{color:#062566}.box-main{display:flex;flex-direction:column;align-items:center;justify-content:space-between;min-height:130px;padding:14px 9px 10px;text-align:center;gap:7px;line-height:1.2}.box-main img{height:41px;width:45px;object-fit:contain}.box-main i{font-style:normal;border-radius:50%;background:white;color:#073462;width:24px;height:24px;line-height:24px}.box-body{padding:3px 10px 12px;font-size:.82rem;line-height:1.4;text-align:center}.box-body p{margin:6px 0}.box-body a{display:inline-block;padding:5px 8px;border:1px solid currentColor;border-radius:5px}.red-border{outline:3px solid #f00010;outline-offset:-3px}.single-box{display:block;padding:15px;border:1px solid #d8e7f2;border-radius:10px}.single-box .cms-box{display:inline-block;vertical-align:top;width:calc(33.33% - 14px);margin:7px}.single-box .box-main{min-height:100px}.album-card{flex-basis:calc((100% - 34px)/3)}.rich-content{overflow-wrap:anywhere}.rich-content img,.page-view figure img{max-width:100%;height:auto}.rich-content table{border-collapse:collapse;width:100%}.rich-content th,.rich-content td{border:1px solid #c7d9e8;padding:9px}.rich-content figure,.page-view figure{margin:18px 0}.rich-content a{text-decoration:underline}.quote{border-left:4px solid #4b9d32;background:#eef6fa;padding:12px 20px}.content-button{display:inline-block;padding:10px 16px;background:#e8f3fb;border-radius:6px;max-width:100%;overflow-wrap:anywhere}.content-gallery,.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.content-gallery img,.photo-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}.photo-grid button{text-align:left;background:#eff6fa;border-radius:8px;padding:0;overflow:hidden}.photo-grid span{display:block;padding:9px}.photo-controls{display:flex;justify-content:space-between;gap:20px;margin-top:20px}.photo-controls button{background:#eef6fa;border-radius:6px;padding:10px 16px}.gallery-archive{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.gallery-archive .album-card{min-width:0}.archive-search{display:block;max-width:500px;margin:20px 0}.archive-search input{display:block;width:100%;padding:12px;border:1px solid #bbcede;border-radius:6px;font:inherit}.contact-anchors{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.contact-anchors a{background:#eaf4fb;padding:9px 14px;border-radius:6px}.contact-columns{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-block:30px}.contact-columns h2{font-size:1.3rem}#school-map{background:#eff6fa;padding:20px;border-radius:10px;min-width:0}#school-map iframe{width:100%;height:280px;border:0}#contact-form{max-width:650px}#contact-form label{display:block;margin-block:15px}#contact-form input,#contact-form textarea{display:block;width:100%;padding:12px;font:inherit;border:1px solid #bbcede;border-radius:6px}#contact-form textarea{min-height:160px}#contact-form .honey{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.article-date{color:#5d718d;font-size:.9rem}.cms-preview [data-site-key]:hover,.cms-preview [data-field]:hover,.cms-preview [data-block]:hover{outline:2px dashed #e59016;outline-offset:3px;cursor:crosshair}html.contrast .cms-box,html.contrast .content-button,html.contrast .contact-anchors a,html.contrast #school-map,html.contrast .photo-grid button{background:#000;color:#ffee00;border:1px solid #ffee00}html.contrast .hero-copy h1 span{color:#ffee00}html.contrast .photo-controls button{background:#ffee00;color:#000}
@media(min-width:1300px){.shortcuts{grid-template-columns:repeat(9,minmax(0,1fr))}}
@media(max-width:1000px){.brand{width:96px}.national-emblem{margin-left:120px;width:32px;height:42px}.hero-copy{top:12%}.hero-copy h1{margin-bottom:15px}.hero-copy p{font-size:1rem}.shortcuts{grid-template-columns:repeat(3,minmax(0,1fr))}.footer-emblems{height:100px}.footer-emblems>img,.footer-emblems a img{height:85px}.single-box .cms-box{width:calc(50% - 14px)}}
@media(max-width:760px){.hero-copy,html.enlarged .hero-copy,html.contrast .hero-copy{left:24px;top:24px;width:80%}.hero-copy h1,html.enlarged .hero-copy h1{font-size:1.8rem;margin-bottom:16px}.hero-copy h1 span,html.enlarged .hero-copy h1 span{font-size:2.9rem}.hero-copy p,html.enlarged .hero-copy p{font-size:1rem}.virtual-tour{font-size:.75rem;right:12px;bottom:12px;padding:7px;max-width:40%}.contact-columns{grid-template-columns:1fr}.gallery-archive,.photo-grid,.content-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.album-card{flex-basis:calc((100% - 12px)/2)}.hero-button{max-width:55%}.footer-logo{width:100px}}
@media(max-width:480px){.shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}.single-box .cms-box{display:block;width:auto}.gallery-archive{grid-template-columns:1fr}.photo-grid,.content-gallery{gap:9px}.box-main{min-height:125px}.album-card{flex-basis:85%}.footer-logo{width:110px}.hero-button{left:20px;padding:10px 12px}.virtual-tour{right:8px;font-size:.7rem}}

.archive-pagination{display:flex;gap:18px;align-items:center;justify-content:center;margin-top:28px;flex-wrap:wrap}.archive-pagination a{padding:10px 15px;background:#eaf3fa;border-radius:5px}.rich-content{overflow:auto}.rich-content img{object-fit:contain}.news-photo>img,.photo-grid img,.album-card>img{object-fit:cover}.cms-box{scroll-margin-top:110px}.page-view{overflow-wrap:anywhere}#server-content img{max-width:100%;height:auto}#server-content h1{font-size:2rem}@media(max-width:480px){.rich-content table{display:block;overflow:auto;max-width:100%}.archive-pagination{font-size:.8rem}}

/* Compact homepage layout, matching the supplied seven-tile design. */
.shortcuts{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin-top:10px;margin-bottom:10px;align-items:stretch}
.box-main{height:128px;min-height:128px;padding:13px 8px 10px;gap:6px;justify-content:space-between}
.box-main img{width:43px;height:39px;flex-shrink:0}.box-main strong{display:flex;align-items:center;justify-content:center;max-width:112px;min-height:34px;font-size:1rem;line-height:1.1}.box-main i{flex-shrink:0;width:23px;height:23px;line-height:23px}
.main-grid{align-items:start}.quick-info{align-self:start;padding-bottom:8px}.news-content p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;line-height:1.4;margin-bottom:12px}.news-content h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}.news-content{min-height:145px}.footer-emblems img,.footer-emblems>img,.footer-emblems a img{object-fit:contain;width:auto;height:98px;max-width:100%}.brand img,.footer-logo img{aspect-ratio:1;object-fit:contain}
@media(max-width:1000px){.shortcuts{grid-template-columns:repeat(4,minmax(0,1fr))}.footer-emblems>img,.footer-emblems a img{height:85px}}
@media(max-width:480px){.shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}.box-main{height:128px;min-height:128px}.shortcuts .cms-box:last-child{grid-column:auto}.box-main strong{font-size:.95rem}.news-content{min-height:0}.footer-emblems{gap:20px}}
@media(min-width:761px){.dropdown{max-height:calc(100dvh - 160px);overflow-y:auto;overscroll-behavior:contain}}

/* Matterport loads only after the visitor opens the tour. */
.tour-dialog{box-sizing:border-box;width:min(1240px,calc(100vw - 40px));max-width:none;max-height:calc(100dvh - 40px);padding:0;border:1px solid #c9dce8;border-radius:16px;background:#073462;color:white;overflow:hidden;box-shadow:0 24px 100px #001b3970}.tour-dialog::backdrop{background:#001c35b8;backdrop-filter:blur(4px)}.tour-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 18px}.tour-dialog h2{margin:0;font-size:1.2rem;line-height:1.3;color:white}.tour-dialog-actions{display:flex;align-items:center;gap:16px;flex-shrink:0}.tour-new-tab{font-size:.9rem;color:white;text-decoration:underline;text-underline-offset:3px}.tour-dialog .dialog-close{position:static;display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid #ffffff66;border-radius:50%;background:#ffffff14;color:white;font-size:28px;line-height:1;cursor:pointer}.tour-player{height:min(72dvh,740px);min-height:280px;background:#061c2b}.tour-player iframe{display:block;width:100%;height:100%;border:0}.tour-open{overflow:hidden}html.contrast .tour-dialog,html.contrast .tour-dialog-header{background:black;color:#ffed00}html.contrast .tour-dialog h2,html.contrast .tour-new-tab,html.contrast .tour-dialog .dialog-close{color:#ffed00}@media(max-width:640px){.tour-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:12px}.tour-dialog-header{align-items:flex-start;padding:12px;gap:10px}.tour-dialog h2{font-size:1rem;max-width:48%}.tour-dialog-actions{gap:10px}.tour-new-tab{font-size:.75rem;max-width:100px}.tour-player{height:calc(80dvh - 70px);min-height:230px}}@media(max-height:450px){.tour-player{height:calc(100dvh - 90px);min-height:150px}}

/* Preserve intrinsic proportions in article bodies and standalone cover photos. */
.page-view .article-image{display:block;width:auto;max-width:min(100%,960px);height:auto!important;object-fit:contain;margin:0 0 20px}.page-view .rich-content img,.page-view figure img{max-width:100%;height:auto!important;object-fit:contain}

/* Image-only news cards use the excerpt space for their photo. */
.news-card--image-only .news-photo{flex:1 0 auto;aspect-ratio:2.27;min-height:0;overflow:hidden}
.news-card--image-only .news-photo>img{position:absolute;inset:0;display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover}
.news-card--image-only .news-content{flex:0 0 auto;min-height:0}
.news-card--image-only .read-more{margin-top:8px}

/* Polish emblem beside the school logo, also in the sticky header. */
.national-emblem{display:block;margin-left:148px;width:48px;height:58px;flex:0 0 auto;object-fit:contain;align-self:center}@media(max-width:1000px){.national-emblem{margin-left:112px;width:38px;height:46px}}

/* Actual school photograph, with a separate readable text panel. */
.hero{height:auto;aspect-ratio:1122/340;background:#073462;isolation:isolate}.hero .hero-art{display:block;position:absolute;right:0;top:0;width:76%;height:100%;max-height:none;object-fit:cover;object-position:center 38%;z-index:0}.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#073462 0%,#073462 27%,#073462f2 31%,#07346270 41%,transparent 53%);pointer-events:none;z-index:1}.hero-copy,html.enlarged .hero-copy,html.contrast .hero-copy{z-index:2}.hero .hero-button{z-index:2}.hero .virtual-tour{z-index:3}
@media(max-width:760px){.hero{height:410px;aspect-ratio:auto;background:#073462}.hero .hero-art{width:100%;height:100%;object-position:45% 20%}.hero::after{background:linear-gradient(90deg,#073462ed,#073462b0 60%,#07346255)}.hero .hero-button{top:auto;bottom:24px;height:auto;width:auto}.hero .virtual-tour{bottom:24px;max-width:42%}}

/* Both tour links are grouped in the lower-right corner of the school banner. */
.hero .hero-tours{position:absolute;right:24px;bottom:24px;z-index:3;display:flex;flex-direction:column;align-items:stretch;gap:8px}.hero .hero-tours .virtual-tour,.hero .hero-tours .drone-panorama{position:static!important;max-width:none;width:auto;display:block;text-align:center;padding:12px 18px;background:#073462ed;color:white;border:1px solid #ffffffb0;border-radius:8px;font-size:.9rem;font-weight:700;line-height:1.3;text-decoration:none}.hero-tours a:hover{background:#125a86!important}.drone-dialog .drone-close{display:grid;place-items:center;width:38px;height:38px;border:1px solid #ffffff66;border-radius:50%;background:#ffffff14;color:white;font-size:28px;line-height:1;cursor:pointer;flex-shrink:0}.drone-help{padding:10px 16px;font-size:.8rem;line-height:1.35;color:#e0ecf5}.drone-status:not(:empty){display:block;margin-top:6px;color:#ffe1a6}.drone-viewer:focus-visible{outline:3px solid #ffe168;outline-offset:-3px}html.contrast .hero-tours a{background:#000;color:#ffed00;border-color:#ffed00}
@media(max-width:760px){.hero .hero-tours{right:12px;bottom:16px;max-width:46%;gap:6px}.hero .hero-tours .virtual-tour,.hero .hero-tours .drone-panorama{padding:9px 10px;font-size:.75rem}.hero .hero-button{left:16px;bottom:24px;width:42%;max-width:45%;min-width:0;padding:12px 8px}.drone-help{font-size:.72rem}.drone-dialog .tour-dialog h2{font-size:.9rem}}@media(max-height:450px){}

/* Use the exact same responsive player stage for Matterport and drone panorama. */
.drone-stage{position:relative;overflow:hidden}
.drone-stage>.drone-viewer{position:absolute;inset:0;display:block;width:100%;height:100%;min-height:0;background:#061c2b}
.drone-stage .drone-help{position:absolute;left:0;right:0;bottom:0;z-index:2;box-sizing:border-box;padding:8px 12px;background:linear-gradient(transparent,#00213be8);color:white;pointer-events:none;text-shadow:0 1px 3px #000;line-height:1.4}
.drone-stage .drone-status:empty{display:none}
@media(max-width:640px){.drone-stage .drone-help{padding:7px 10px;font-size:.7rem}}

/* The homepage carousel contains more albums than fit on one page. */
.album-grid{overscroll-behavior-x:contain}.carousel-arrow:disabled{opacity:.35;cursor:default}.album-grid .album-card{flex-shrink:0}@media(prefers-reduced-motion:reduce){.album-grid{scroll-behavior:auto}}

/* Nagłówek podstron, miniatury galerii i autor strony. */
.navigation{box-shadow:none;border:0;border-bottom:1px solid transparent}
html.header-stuck .navigation{border-bottom-color:var(--line,#dcebf7);box-shadow:none}
.brand{transition:width .2s ease,top .2s ease}
html.is-subpage.header-stuck .navigation .brand{width:61px;top:6px}
html.is-subpage.header-stuck .navigation .brand img{width:100%;height:auto!important}
#page-body .photo-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:14px}
#page-body .photo-grid button{display:block;width:100%;min-width:0;align-self:start;border:1px solid var(--line);cursor:zoom-in}
#page-body .photo-grid button img{display:block;width:100%!important;height:auto!important;aspect-ratio:4/3;object-fit:cover;max-height:none}
#page-body .photo-grid button:focus-visible{outline:3px solid #e39800;outline-offset:3px}
#album-dialog{width:min(1100px,94vw);max-width:94vw;max-height:94dvh;overflow:auto}
#album-dialog img{display:block;width:auto!important;height:auto!important;max-width:100%;max-height:70dvh;object-fit:contain;margin-inline:auto}
.footer-bottom .site-credit{display:inline-flex;align-items:center;gap:8px;margin-left:auto;padding-right:0;border:0;white-space:nowrap}
.site-credit img{width:120px;height:auto;max-width:none}
@media(max-width:1000px){#page-body .photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}html.is-subpage.header-stuck .navigation .brand{width:64px}}
@media(max-width:760px){#page-body .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.footer-bottom .site-credit{margin-left:0;flex-basis:100%;padding-left:0;margin-top:8px}}
@media(prefers-reduced-motion:reduce){.brand{transition:none}}

/* Breadcrumb clearance below the large school logo. */
.page-view{padding-top:76px}
@media(max-width:1000px){.page-view{padding-top:52px}}

/* Korekty dostępności po pomiarze Lighthouse. */
.announcement h2{color:#c50000}.announcement .red-button{background:#c50000;color:#fff}
.accessibility button{min-width:26px;min-height:28px;display:inline-flex;align-items:center;justify-content:center}
.footer-links a{display:block;min-height:26px;padding-block:3px}
html.contrast .announcement h2{color:#ff0}html.contrast .announcement .red-button{background:#000;color:#ff0;border:1px solid #ff0}
