:root{--navy:#081852;--blue:#0069e3;--sky:#e8f7ff;--line:#d7eafb;--text:#33467d}*{box-sizing:border-box}body{font-family:var(--site-font-body,Manrope,Arial,sans-serif);color:var(--text);overflow-x:hidden}.main-nav{background:#fffffff2;backdrop-filter:blur(16px);border-bottom:1px solid #eef7ff}.navbar{--bs-navbar-padding-y:.8rem}.wordmark{color:#070707!important;font:900 2.2rem/1 var(--site-font-heading,'Nunito Sans',sans-serif);letter-spacing:-.049rem;display:inline-block;position:relative}.wordmark:before{content:'';display:inline-block;width:1.65rem;height:1.65rem;border:.48rem solid #080808;border-radius:50%;vertical-align:-.18rem;margin-right:-.45rem}.wordmark span{color:#078cff}.wordmark small{font:800 .44rem var(--site-font-body,Manrope,Arial,sans-serif);letter-spacing:.22rem;display:block;margin:.26rem 0 0 .18rem}.nav-link{font-size:.85rem;font-weight:800;color:var(--navy)!important;padding:.75rem!important}.nav-link.active,.nav-link:hover{color:var(--blue)!important}.navbar-toggler{font-size:1.8rem;color:var(--navy)}.btn{font-weight:800;border-width:2px}.btn-primary{background:linear-gradient(120deg,#0b78d0,#0068f0);border:0;box-shadow:0 10px 22px #087cff2b}.btn-primary:hover{background:#006ee8;transform:translateY(-1px)}.btn-outline-primary{border-color:#0071ef;color:#0069e3}.cta-nav{padding:.85rem 1.35rem;font-size:.87rem}.hero{background:radial-gradient(circle at 92% 12%,#b9eeff,transparent 24%),linear-gradient(110deg,#fff 15%,#f4fcff 61%,#ddf5ff);position:relative;overflow:hidden}.hero:after{content:'';position:absolute;inset:auto -8% -20rem auto;width:52rem;height:52rem;border-radius:50%;border:3rem solid #99e1ff24}.min-vh-hero{min-height:535px}.hero-copy{position:relative;z-index:1;padding-block:3.5rem}.badge-pill,.eyebrow{color:var(--blue);background:#e4f5ff;border-radius:999px;font-size:.8rem;font-weight:900;letter-spacing:.05em;padding:.48rem .8rem;text-transform:uppercase;display:inline-block}.hero h1,.section-heading h2,.why h2,.alley h2,.cta-block h2{font:900 clamp(2.75rem,5vw,4.65rem)/.98 var(--site-font-heading,'Nunito Sans',sans-serif);color:var(--navy);letter-spacing:-.035em;margin:1.15rem 0}.hero h1 strong,.section-heading h2 span,.why h2 span,.alley h2 span,.cta-block h2 span{color:var(--blue)}.hero .lead{font-size:1.05rem;line-height:1.65;margin-bottom:1.7rem}.hero-stats{max-width:490px;margin-top:2.2rem}.hero-stats>div>div{background:#ffffffdb;border:1px solid #e5f3ff;border-radius:.85rem;padding:.65rem .85rem;height:100%;box-shadow:0 10px 30px #1877b30d}.hero-stats b{color:var(--blue);display:block;font-size:1.1rem}.hero-stats span{font-size:.8rem;font-weight:800;line-height:1.2;display:block}.hero-art{align-self:stretch;display:flex;align-items:end;position:relative;z-index:1}.hero-art img{display:block;width:123%;max-width:none;transform:translateX(-6%);min-height:440px;object-fit:cover;object-position:center;border-radius:5rem 0 0 0;mix-blend-mode:multiply}.section-pad{padding:5.5rem 0}.section-heading h2,.why h2,.alley h2,.cta-block h2{font-size:clamp(2.25rem,3.7vw,3.35rem);letter-spacing:-.026em;margin:.65rem 0}.section-heading p{margin:0;font-size:.98rem}.more-link{font-size:.87rem;font-weight:900;color:var(--blue);white-space:nowrap}.subject-card{min-height:157px;border:1px solid var(--line);border-radius:1.1rem;display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--navy);gap:.85rem;text-align:center;transition:.2s;background:#fff;padding:.5rem}.subject-card i{font-size:2.8rem;line-height:1;color:var(--blue)}.subject-card b{font-size:.85rem}.subject-card.green i{color:#1b9f56}.subject-card:hover{transform:translateY(-5px);box-shadow:0 16px 35px #087cff20;color:var(--blue)}.why{background:linear-gradient(100deg,#f9fdff,#eaf8ff)}.why-intro{height:100%;padding:1rem .5rem}.why-intro p{font-size:1rem;max-width:320px;margin-bottom:1.6rem}.feature-card{height:100%;border:1px solid var(--line);border-radius:1rem;background:#fff;padding:1.3rem;display:flex;gap:1rem}.feature-card>span{width:3.1rem;height:3.1rem;flex:0 0 3.1rem;border-radius:50%;display:grid;place-items:center;color:var(--blue);background:#e7f7ff;font-size:1.45rem}.feature-card h3{font:900 1.05rem var(--site-font-heading,'Nunito Sans',sans-serif);color:var(--navy);margin:.1rem 0 .3rem}.feature-card p{font-size:.85rem;margin:0;line-height:1.55}.teacher-card{height:100%;border:1px solid var(--line);border-radius:1.1rem;overflow:hidden;background:#fff;transition:.2s}.teacher-card:hover{box-shadow:0 15px 35px #087cff22;transform:translateY(-5px)}.portrait,.mini{background:linear-gradient(140deg,#d7f3ff,#e8efff 60%,#fff);position:relative;overflow:hidden}.portrait{height:212px}.portrait:after,.mini:after{content:'✦';position:absolute;right:1rem;top:.6rem;color:#0682ff;font-size:2.2rem}.portrait:before{content:'';position:absolute;width:9.5rem;height:9.5rem;border-radius:50% 50% 35% 35%;left:calc(50% - 4.75rem);bottom:-2rem;background:linear-gradient(140deg,#213d83,#77b6e9)}.p1:before{background:radial-gradient(circle at 50% 25%,#f8d1b7 0 26%,transparent 27%),linear-gradient(140deg,#7e4732 0 22%,#fff 23% 35%,#2d76ad 36%)}.p2:before{background:radial-gradient(circle at 50% 25%,#efc5a4 0 26%,transparent 27%),linear-gradient(140deg,#593d2d 0 24%,#98b9e8 25%)}.p3:before{background:radial-gradient(circle at 50% 25%,#f3c9b3 0 26%,transparent 27%),linear-gradient(140deg,#785144 0 25%,#e6eef9 26%)}.p4:before{background:radial-gradient(circle at 50% 25%,#efc29c 0 26%,transparent 27%),linear-gradient(140deg,#422b22 0 25%,#3d71a4 26%)}.teacher-card small{font-weight:900;font-size:.8rem;color:var(--blue)}.teacher-card h3{font:900 1.2rem var(--site-font-heading,'Nunito Sans',sans-serif);color:var(--navy);margin:.35rem 0}.teacher-card p{font-size:.87rem;line-height:1.55;margin:0 0 1rem}.teacher-card a{font-size:.87rem;font-weight:900;color:var(--blue)}.alley{background:linear-gradient(110deg,#effaff,#dff5ff)}.alley p{max-width:350px}.alumni-card{height:100%;background:#fff;padding:.65rem;border:1px solid #d5ebfa;border-radius:1rem;box-shadow:0 10px 20px #087cff0b}.mini{height:110px;border-radius:.7rem;margin-bottom:.65rem}.mini:before{content:'';position:absolute;width:4.6rem;height:4.6rem;background:linear-gradient(135deg,#f2c6ac 0 35%,#315ca5 36%);border-radius:50% 50% 35% 35%;bottom:-1.1rem;left:calc(50% - 2.3rem)}.m2:before{background:linear-gradient(135deg,#deb18d 0 35%,#474b8a 36%)}.m3:before{background:linear-gradient(135deg,#f0c9ae 0 35%,#935b49 36%)}.m4:before{background:linear-gradient(135deg,#e3b286 0 35%,#426f9c 36%)}.alumni-card b{font:900 .78rem var(--site-font-heading,'Nunito Sans',sans-serif);color:var(--navy);display:block}.alumni-card span{font-size:.8rem;color:#52709b;display:block}.testimonial blockquote{margin:0;background:#f4fbff;border:1px solid var(--line);border-radius:1.3rem;padding:2.5rem 2.3rem;text-align:center;color:var(--navy);font:700 clamp(1.1rem,2vw,1.55rem)/1.55 var(--site-font-heading,'Nunito Sans',sans-serif);position:relative}.testimonial blockquote:before{content:'“';color:#54c2ff;font-size:5rem;position:absolute;left:1.1rem;top:.1rem}.testimonial footer{font:600 .75rem var(--site-font-body,Manrope,Arial,sans-serif);color:#57709a;margin-top:1rem}.testimonial footer b{color:var(--navy)}.testimonial footer span{color:#ffb000;margin-left:1rem;letter-spacing:.1rem}.carousel-indicators [data-bs-target]{background-color:var(--blue);width:.55rem;height:.55rem;border-radius:50%}.cta-block{padding:3.4rem clamp(1.7rem,6vw,4.5rem);border-radius:1.7rem;background:radial-gradient(circle at 80% 50%,#1ea5ff,#0570e6 55%,#005ac9);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:2rem;position:relative;overflow:hidden}.cta-block:after{content:'✦';position:absolute;font-size:15rem;right:8%;top:-5rem;color:#fff1}.cta-block>*{position:relative;z-index:1}.cta-block h2{color:#fff}.cta-block h2 span{color:#bceeff}.cta-block p{margin:0}.light{background:#ffffff20;color:#fff}footer{border-top:1px solid var(--line);background:#fff}footer b{font:900 .8rem var(--site-font-heading,'Nunito Sans',sans-serif);color:var(--navy);display:block;margin-bottom:.7rem}footer a{display:block;font-size:.82rem;color:#48638c;margin:.32rem 0}.footer-copy{font-weight:800;color:var(--blue)}.socials{display:flex;gap:.55rem}.socials a{width:2rem;height:2rem;display:grid;place-items:center;border-radius:.55rem;background:var(--blue);color:white;font-size:1rem}.footer-bottom{padding:.8rem 0;background:#f3fbff;color:#587398;font-size:.8rem}@media(max-width:991.98px){.hero-art img{width:100%;transform:none;border-radius:1.7rem;min-height:0;margin-bottom:2.5rem}.hero-copy{padding-bottom:1.5rem}.min-vh-hero{min-height:0}.navbar-collapse{padding-block:1rem}.cta-nav{margin-top:.5rem;display:inline-block}.section-pad{padding:4rem 0}}@media(max-width:575.98px){.wordmark{font-size:1.8rem}.wordmark:before{width:1.4rem;height:1.4rem;border-width:.4rem}.hero h1{font-size:2.75rem}.hero .lead{font-size:.98rem}.hero-stats{margin-top:1.6rem}.hero-stats>div>div{padding:.55rem}.section-pad{padding:3.6rem 0}.subject-card{min-height:130px}.feature-card{padding:1rem}.cta-block{display:block}.cta-block .btn{margin-top:1.4rem}.testimonial blockquote{padding:2.5rem 1.5rem 1.8rem}.testimonial blockquote:before{left:.5rem}.alley .col-lg-8{margin-top:1.2rem}}
/* podstrony */
.page-hero{padding:5.5rem 0 3rem;background:radial-gradient(circle at 86% 20%,#bdefff,transparent 27%),linear-gradient(120deg,#fff,#e7f8ff)}.page-hero h1{font:900 clamp(2.8rem,6vw,5rem)/.95 var(--site-font-heading,'Nunito Sans',sans-serif);letter-spacing:-.035em;color:var(--navy);margin:.8rem 0}.page-hero h1 span{color:var(--blue)}.page-hero p{font-size:1.05rem;max-width:620px}.crumb{font-size:.85rem;font-weight:800;color:#53719e}.page-banner{border-radius:1.5rem;min-height:230px;background:linear-gradient(110deg,#0065d8,#1bb3fc);padding:2.4rem;color:#fff;overflow:hidden;position:relative}.page-banner:after{content:'✦';position:absolute;right:7%;top:-4rem;font-size:14rem;color:#ffffff22}.page-banner h2{color:#fff;font-size:2.15rem}.course-card{border:1px solid var(--line);height:100%;border-radius:1.15rem;padding:1.7rem;background:#fff;transition:.2s}.course-card:hover{transform:translateY(-5px);box-shadow:0 15px 35px #087cff1c}.course-card .icon{width:3rem;height:3rem;border-radius:.85rem;display:grid;place-items:center;background:#e5f6ff;color:var(--blue);font-size:1.5rem}.course-card h3{font:900 1.35rem var(--site-font-heading,'Nunito Sans',sans-serif);color:var(--navy);margin:1.1rem 0 .5rem}.course-card p{font-size:.86rem;min-height:65px}.filter-bar{display:flex;gap:.65rem;overflow:auto;padding-bottom:.5rem}.filter-bar button{white-space:nowrap;border:1px solid var(--line);background:#fff;color:var(--navy);border-radius:999px;padding:.6rem 1rem;font:800 .75rem var(--site-font-body,Manrope,Arial,sans-serif)}.filter-bar button:first-child{background:var(--blue);border-color:var(--blue);color:#fff}.story-card{background:#fff;border:1px solid var(--line);border-radius:1rem;overflow:hidden;height:100%}.story-card .story-img{height:180px;background:linear-gradient(135deg,#bcecff,#fff)}.story-card .story-img:after{content:'★';color:#087cff;float:right;padding:1rem;font-size:1.7rem}.story-card .p-3{font-size:.85rem}.blog-card{border-bottom:1px solid var(--line);padding:1.4rem 0}.blog-card h3{font-size:1.35rem}.contact-panel{border:1px solid var(--line);border-radius:1.2rem;padding:2rem;background:#fff}.form-control,.form-select{min-height:3rem;border-color:#cfe6f6}.form-control:focus,.form-select:focus{border-color:#087cff;box-shadow:0 0 0 .2rem #087cff20}@media(max-width:575px){.page-hero{padding:3.5rem 0 2.5rem}.page-banner{padding:1.8rem}}
/* Wariant bliższy projektom referencyjnym: panoramiczne banery, panele i gęstszy rytm treści */
.page-hero{min-height:365px;display:flex;align-items:center;background-color:#ecf9ff;background-repeat:no-repeat;background-size:cover;background-position:center right;position:relative;isolation:isolate;overflow:hidden}.page-hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#fff 0%,#fffffff7 35%,#ffffffba 53%,#ffffff0d 78%)}.page-hero .container{padding-block:2rem}.page-hero h1{max-width:700px}.page-hero p{max-width:540px;color:#172d68;font-weight:500}.page-offer .page-hero{background-image:url('img/banner-oferta.webp')}.page-subjects .page-hero{background-image:url('img/banner-przedmioty.webp')}.page-staff .page-hero{background-image:url('img/banner-kadra.webp')}.page-alley .page-hero{background-image:url('img/banner-aleja.webp')}.page-about .page-hero{background-image:url('img/banner-onas.webp')}.page-blog .page-hero{background-image:url('img/banner-blog.webp')}.page-contact .page-hero{background-image:url('img/banner-kontakt.webp')}.main-nav{box-shadow:0 1px 0 #e4f1fb}.main-nav .container{max-width:1320px}.hero{border-bottom:1px solid #d7ecfa}.hero-copy{padding-left:1rem}.hero-copy:after{content:'✦';position:absolute;color:#1187ff18;right:4%;top:0;font-size:9rem;font-family:serif}.hero-art img{border-radius:0;mix-blend-mode:normal;filter:saturate(1.07) contrast(1.02)}.subjects{padding-top:1rem}.subjects .container{background:#fff;border:1px solid #dceefa;border-radius:1rem;padding:1.3rem 1.5rem 1.55rem;box-shadow:0 11px 28px #0b72ac0c}.subjects .section-heading h2{font-size:2rem}.section-pad{padding:4.3rem 0}.why{padding-top:3.6rem}.feature-card,.course-card,.teacher-card,.story-card,.contact-panel{border-color:#d8edfb;box-shadow:0 5px 15px #087cff08}.feature-card{border-radius:.75rem}.teacher-card{border-radius:.75rem}.teacher-card .portrait{height:210px}.alley{padding:3.6rem 0}.alley h2{font-size:2.6rem}.page-banner{background:linear-gradient(96deg,#006adb,#039eff 63%,#c5efff);min-height:220px}.page-banner:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 48%,#fff1);pointer-events:none}.cta-block{border-radius:.85rem}.footer-bottom{border-top:1px solid #d4ebfa}.filter-bar{border-bottom:1px solid #deeffa;padding-bottom:1rem}.filter-bar button{border-radius:.65rem}.story-card{border-radius:.7rem}.story-card .story-img{height:145px}.story-card .p-3{min-height:205px}.story-card h3{font-size:1.08rem}.page-offer .course-card:nth-child(5n),.page-staff .teacher-card:nth-child(5n){position:relative}@media(min-width:992px){.page-hero{min-height:400px}.page-hero .container{padding-left:3rem}.page-alley .page-hero:before,.page-staff .page-hero:before{background:linear-gradient(90deg,#fff 0%,#fffffff4 39%,#ffffff8f 58%,#ffffff00 82%)}}@media(max-width:767.98px){.page-hero{min-height:390px;background-position:67% center}.page-hero:before{background:linear-gradient(90deg,#fffffff9,#ffffffdc 56%,#ffffff5c)}.page-hero h1{font-size:2.75rem}.subjects .container{border-radius:0;border-inline:0}.hero-art img{border-radius:1rem}.story-card .p-3{min-height:0}}
.real-photo{object-fit:cover;object-position:center 27%;display:block}.portrait.real-photo{width:100%;height:210px}.mini.real-photo{width:100%;height:110px}.story-img.real-photo{display:block;width:100%;height:145px;object-fit:cover;object-position:center 25%}.story-img.real-photo:after{display:none}@media(max-width:575.98px){.portrait.real-photo{height:240px}.story-img.real-photo{height:170px}}
.proof-section{background:#fff}.proof-title{display:flex;align-items:center;gap:.7rem;margin-bottom:1rem}.proof-title h2{font:900 1.8rem var(--site-font-heading,'Nunito Sans',sans-serif);color:var(--navy);margin:0}.proof-title span{width:2rem;height:4px;background:var(--blue);border-radius:99px}.proof-tile{height:100%;border:1px solid #d7ebfa;border-radius:.7rem;padding:1rem;background:#fff}.proof-tile i{display:block;color:var(--blue);font-size:2.15rem;margin-bottom:.55rem}.proof-tile b{display:block;color:var(--navy);font:900 .88rem/1.1 var(--site-font-heading,'Nunito Sans',sans-serif)}.proof-tile small{font-size:.8rem;line-height:1.3;display:block;margin-top:.45rem}.student-highlight{height:100%;border:1px solid #d8edfb;border-radius:.8rem;overflow:hidden;background:#e8f8ff;position:relative}.student-highlight img{width:100%;height:275px;object-fit:cover;object-position:center}.student-highlight div{background:#f0fbff;padding:1rem 1.3rem}.student-highlight i{color:#0d8cff;font-size:2rem;float:left;margin-right:.6rem}.student-highlight p{font:800 .9rem/1.35 var(--site-font-heading,'Nunito Sans',sans-serif);font-style:italic;color:var(--navy);margin:0}.student-highlight b{color:var(--blue);font-size:.8rem;float:right;margin-top:.35rem}.testimonial-list{display:grid;gap:.7rem}.testimonial-list article{display:grid;grid-template-columns:3.1rem 1fr auto;gap:.7rem;align-items:center;border:1px solid #d8edfb;background:#fff;border-radius:.7rem;padding:.65rem}.testimonial-list p{font-size:.81rem;line-height:1.3;margin:0;color:#314477}.testimonial-list b,.testimonial-list small{display:block;font-size:.8rem}.testimonial-list b{color:var(--navy);margin-top:.25rem}.testimonial-list small{color:#527198}.testimonial-list strong{font-size:.8rem;color:#ffb000;letter-spacing:-.035rem}.avatar{width:3rem;height:3rem;border-radius:50%;background:#d7f0ff url('img/alumni-kasia.png') center/cover}.avatar.av2{background-image:url('img/alumni-mikolaj.png')}.avatar.av3{background-image:url('img/alumni-zuzia.png')}@media(max-width:991.98px){.proof-section{padding-top:1.2rem}.student-highlight img{height:340px}}@media(max-width:575.98px){.proof-title h2{font-size:1.55rem}.student-highlight img{height:250px}.testimonial-list article{grid-template-columns:2.8rem 1fr}.testimonial-list strong{grid-column:2}}
.cta-block{background-image:linear-gradient(92deg,#0063dceb 0%,#087ce0df 48%,#0686df40 100%),url('img/banner-cta-wide.webp');background-size:cover;background-position:center right}.cta-block:after{display:none}
/* Powierzchnie społecznościowe i banerowe */
.home-media-space{background:linear-gradient(180deg,#fff 0%,#f4fbff 100%);padding-top:1.2rem}.home-image-banner{height:100%;min-height:470px;display:block;position:relative;overflow:hidden;border-radius:1rem;background:#067ee8}.home-image-banner:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#00379fba,#055cb234 67%,transparent)}.home-image-banner img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center}.home-image-banner>.home-image-banner-copy{position:absolute;inset:auto auto 2.2rem 2.2rem;z-index:1;color:#fff;max-width:380px}.home-image-banner small{font-size:.80rem;font-weight:900;letter-spacing:.08em;display:block;margin-bottom:.5rem}.home-image-banner b{display:block;font:900 clamp(1.8rem,3vw,2.8rem)/.98 var(--site-font-heading,'Nunito Sans',sans-serif);letter-spacing:-.021em}.home-image-banner em{font-style:normal;font-size:.90rem;font-weight:900;display:inline-block;margin-top:1.15rem;padding:.7rem 1.1rem;border-radius:999px;background:#fff;color:var(--blue)}.facebook-rail{height:100%;min-height:470px;border:1px solid #d5ebfa;background:#fff;border-radius:1rem;padding:1.2rem;box-shadow:0 10px 30px #087cff0e;display:flex;flex-direction:column}.facebook-rail header{display:flex;gap:.8rem;align-items:center;border-bottom:1px solid #e2eff9;padding-bottom:1rem}.facebook-rail header>span{width:2.8rem;height:2.8rem;border-radius:.7rem;display:grid;place-items:center;background:#1877f2;color:#fff;font-size:1.45rem}.facebook-rail header small{color:#527198;font-size:.8rem;font-weight:800}.facebook-rail header h2{font:900 1.1rem var(--site-font-heading,'Nunito Sans',sans-serif);color:var(--navy);margin:0}.facebook-rail article{padding:1rem 0;border-bottom:1px solid #e9f3fa}.facebook-rail article b{font:900 .84rem var(--site-font-heading,'Nunito Sans',sans-serif);color:var(--navy)}.facebook-rail article p{font-size:.81rem;line-height:1.4;margin:.3rem 0}.facebook-rail article small{font-size:.8rem;color:#6783a8}.facebook-rail .btn{margin-top:auto;font-size:.87rem}.social-note{font-size:.8rem;color:#527198;text-align:center;margin:.8rem 0 0}.instagram-zone{margin-top:2rem;background:#fff;border:1px solid #d9edf9;border-radius:1rem;padding:1.3rem 1.45rem 1.65rem}.instagram-head{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.1rem}.instagram-head h2{color:var(--navy);font:900 1.55rem var(--site-font-heading,'Nunito Sans',sans-serif);margin:.35rem 0 0}.insta-card{display:block;height:170px;position:relative;border-radius:.65rem;overflow:hidden;background:#dff4ff}.insta-card:after{content:'';inset:0;position:absolute;background:linear-gradient(0deg,#001e723b,transparent 50%)}.insta-card img{width:100%;height:100%;object-fit:cover;object-position:center}.insta-card i{position:absolute;right:.65rem;bottom:.55rem;color:#fff;z-index:1;font-size:1.15rem}.instagram-zone .carousel-control-prev,.instagram-zone .carousel-control-next{width:2.35rem;height:2.35rem;top:50%;transform:translateY(-50%);background:#fff;border:1px solid #d3eafa;border-radius:50%;color:var(--blue);opacity:1}.instagram-zone .carousel-control-prev{left:-1rem}.instagram-zone .carousel-control-next{right:-1rem}.page-ad-zone{padding:2rem 0 0;background:#fff}.vertical-promo{display:flex;height:100%;min-height:278px;border-radius:.8rem;padding:1.25rem;position:relative;overflow:hidden;flex-direction:column;justify-content:flex-end;color:#fff;background:linear-gradient(160deg,#087dfbe5,#003b9ce6),url('img/hero-qrsor.webp') center/cover}.vertical-promo:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#007ce915, #002a8bcc)}.vertical-promo>*{position:relative;z-index:1}.vertical-promo span{font-size:.8rem;letter-spacing:.18em;font-weight:900;position:absolute;top:1.1rem;left:1.2rem}.vertical-promo strong{font:900 1.55rem/1 var(--site-font-heading,'Nunito Sans',sans-serif);letter-spacing:-.021em}.vertical-promo em{font-size:.8rem;font-style:normal;font-weight:900;margin-top:.75rem}.top-promo-copy{height:100%;min-height:278px;padding:2rem 2.25rem;border:1px solid #d8ebfa;border-radius:.8rem;background:linear-gradient(110deg,#effaff,#fff 60%,#e3f6ff)}.top-promo-copy h2{font:900 2rem/1.02 var(--site-font-heading,'Nunito Sans',sans-serif);letter-spacing:-.021em;color:var(--navy);margin:.8rem 0}.top-promo-copy h2 span{color:var(--blue)}.top-promo-copy p{max-width:620px;font-size:.89rem;margin-bottom:1.2rem}.top-promo-facts{display:flex;flex-wrap:wrap;gap:.8rem 1.3rem}.top-promo-facts span{font-size:.81rem;font-weight:800;color:var(--navy)}.top-promo-facts i{color:var(--blue);font-size:1rem;margin-right:.25rem}.page-mid-promo{padding:0 0 3.8rem;background:#fff}.horizontal-promo{min-height:215px;border-radius:.9rem;padding:2rem 3rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;color:#fff;position:relative;overflow:hidden;background:linear-gradient(95deg,#0061dbdc,#068ee5d9 55%,#006ac041),url('img/banner-home-secondary.webp') center/cover}.horizontal-promo:after{content:'✦';position:absolute;right:7%;top:-4rem;font-size:13rem;color:#fff2}.horizontal-promo>*,.horizontal-promo b{position:relative;z-index:1}.horizontal-promo h2{font:900 clamp(1.6rem,3vw,2.6rem)/1 var(--site-font-heading,'Nunito Sans',sans-serif);letter-spacing:-.021em;color:#fff;margin:.55rem 0}.horizontal-promo p{font-size:.85rem;margin:0}.horizontal-promo>b{white-space:nowrap;border-radius:999px;background:#fff;color:var(--blue);padding:.8rem 1.15rem;font-size:.87rem}.page-ad-zone+.section-pad{padding-top:3.25rem}@media(max-width:1199.98px){.home-image-banner{min-height:370px}.facebook-rail{min-height:0}.insta-card{height:145px}}@media(max-width:991.98px){.page-ad-zone{padding-top:1.5rem}.vertical-promo{min-height:260px}.top-promo-copy{min-height:0}.instagram-zone .carousel-control-prev{left:.25rem}.instagram-zone .carousel-control-next{right:.25rem}}@media(max-width:575.98px){.home-image-banner{min-height:320px}.home-image-banner>.home-image-banner-copy{left:1.35rem;bottom:1.45rem}.home-image-banner b{font-size:1.75rem}.instagram-zone{padding:1rem}.instagram-head h2{font-size:1.3rem}.insta-card{height:125px}.vertical-promo{min-height:240px}.top-promo-copy{padding:1.45rem}.top-promo-copy h2{font-size:1.65rem}.top-promo-facts{display:grid;gap:.5rem}.horizontal-promo{display:block;padding:1.6rem;min-height:250px}.horizontal-promo b{display:inline-block;margin-top:1rem}.page-ad-zone+.section-pad{padding-top:2rem}}
/* Delikatniejsze ikony — mniejsza skala, mniej nasycone tła i lżejszy akcent */
.subject-card{gap:.62rem}.subject-card i{font-size:2.18rem;color:#1685ef;opacity:.94}.subject-card.green i{color:#269b63}.subject-card b{font-size:.81rem}.icon{width:2.55rem;height:2.55rem;border-radius:.7rem;background:#f0f9ff;color:#1788ef;font-size:1.3rem;margin-bottom:.85rem}.feature-card>span{width:2.55rem;height:2.55rem;flex-basis:2.55rem;border-radius:.7rem;background:#f0f9ff;color:#1788ef;font-size:1.15rem}.feature-card{gap:.8rem}.proof-tile i{font-size:1.68rem;color:#1688f0;margin-bottom:.45rem}.top-promo-facts i{font-size:.91rem;opacity:.9}.facebook-rail header>span{width:2.35rem;height:2.35rem;border-radius:.55rem;font-size:1.15rem}.insta-card i{font-size:.95rem;opacity:.88}.socials a{width:1.75rem;height:1.75rem;border-radius:.45rem;font-size:.87rem}.home-image-banner i,.horizontal-promo i,.vertical-promo i{font-size:.9em}@media(max-width:575.98px){.subject-card i{font-size:1.95rem}.proof-tile i{font-size:1.5rem}}
/* Responsywne kadrowanie obrazów: desktop, tablet i telefon */
.hero-art{overflow:hidden;align-self:stretch}.hero-art img{width:100%;height:100%;min-height:0;object-fit:cover;object-position:72% center;transform:none}.home-image-banner img{object-position:72% center}.student-highlight img{object-position:center 34%}.portrait.real-photo{height:clamp(210px,20vw,290px);object-fit:cover;object-position:center 22%}.mini.real-photo{height:clamp(100px,11vw,145px);object-fit:cover;object-position:center 25%}.story-img.real-photo{height:clamp(145px,14vw,205px);object-fit:cover;object-position:center 25%}.insta-card{height:auto;aspect-ratio:1/1}.insta-card img{object-position:center 26%}.page-hero{background-size:cover;background-position:center right}.page-staff .page-hero,.page-alley .page-hero{background-position:72% center}.page-offer .page-hero,.page-subjects .page-hero{background-position:70% center}@media(max-width:991.98px){.hero-art{height:clamp(270px,48vw,420px);min-height:0;border-radius:1rem}.hero-art img{height:100%;width:100%;object-position:70% center}.page-hero{min-height:430px;background-size:auto 72%;background-position:right bottom;align-items:flex-start}.page-hero:before{background:linear-gradient(180deg,#fff 0%,#fffffffa 45%,#ffffffcf 62%,#ffffff20 100%)}.page-hero .container{padding-top:2.5rem;padding-bottom:15rem}.page-hero p{max-width:600px}.page-staff .page-hero,.page-alley .page-hero,.page-offer .page-hero,.page-subjects .page-hero{background-position:75% bottom}.home-image-banner img{object-position:68% center}.student-highlight img{height:clamp(260px,46vw,350px)}}@media(max-width:575.98px){.hero-art{height:280px;margin:0 0 1.8rem}.hero-art img{object-position:74% center}.hero-copy{padding:2.8rem 0 1rem}.hero-copy:after{font-size:5rem;right:0}.hero-stats{margin-top:1.2rem}.hero-stats span{font-size:.8rem}.page-hero{min-height:0;background-size:auto 255px;background-position:78% bottom;display:block}.page-hero .container{padding-top:2.2rem;padding-bottom:285px}.page-hero h1{font-size:clamp(2.4rem,11vw,3.1rem);line-height:.98}.page-hero p{font-size:.91rem;line-height:1.5}.page-hero:before{background:linear-gradient(180deg,#fff 0%,#fffffffb 48%,#ffffffdc 62%,#ffffff2b 100%)}.home-image-banner{min-height:325px}.home-image-banner img{object-position:76% center}.student-highlight img{height:245px;object-position:center 25%}.portrait.real-photo{height:285px;object-position:center 18%}.mini.real-photo{height:125px}.story-img.real-photo{height:185px;object-position:center 20%}.insta-card{aspect-ratio:1/1}.vertical-promo{background-position:73% center}.horizontal-promo{background-position:70% center}}
/* Liniowe ikony SVG dla kafelków przedmiotów */
.subject-card .line-icon,.subject-card svg.lucide{width:2.28rem;height:2.28rem;stroke:currentColor;stroke-width:1.85;fill:none;stroke-linecap:round;stroke-linejoin:round}.subject-card .line-icon{display:block;color:#0069e3}.subject-card.green .line-icon,.subject-card.green svg.lucide{color:#249c5d}.subject-card{min-height:112px;padding:.72rem .4rem;border-radius:.45rem;gap:.5rem;box-shadow:0 5px 13px #0c78b00a}.subject-card b{font-size:.81rem;line-height:1.1}.subject-card i:not(.line-icon){font-size:inherit}@media(max-width:575.98px){.subject-card{min-height:105px}.subject-card .line-icon,.subject-card svg.lucide{width:1.92rem;height:1.92rem;stroke-width:1.75}}
/* Jedna linia małych kafelków przedmiotów */
.subject-row{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:.48rem}.subject-cell{min-width:0}.subject-row .subject-card{height:96px;min-height:96px;padding:.52rem .25rem;border-radius:.38rem}.subject-row .subject-card .line-icon,.subject-row .subject-card svg.lucide{width:1.95rem;height:1.95rem;stroke-width:1.8}.subject-row .subject-card b{font-size:.8rem;white-space:normal}@media(max-width:767.98px){.subject-row{display:flex;overflow-x:auto;gap:.55rem;padding:.15rem .05rem .65rem;scroll-snap-type:x mandatory;scrollbar-width:thin}.subject-row .subject-cell{flex:0 0 92px;scroll-snap-align:start}.subject-row .subject-card{height:92px;min-height:92px}.subject-row .subject-card .line-icon,.subject-row .subject-card svg.lucide{width:1.78rem;height:1.78rem}.subject-row::-webkit-scrollbar{height:4px}.subject-row::-webkit-scrollbar-thumb{background:#bfe4fb;border-radius:99px}}
/* Grafiki mobilne z CMS: osobne pliki mogą być wskazane dla bannerów. */
.hero-art picture{display:block;width:100%;height:100%}.home-image-banner picture{position:absolute;inset:0;display:block;width:100%;height:100%}.page-hero[style*="--cms-desktop-bg"]{background-image:var(--cms-desktop-bg)!important}.vertical-promo[style*="--cms-desktop-bg"]{background-image:linear-gradient(160deg,#087dfbe5,#003b9ce6),var(--cms-desktop-bg)!important}.top-promo-copy[style*="--cms-desktop-bg"]{background-image:linear-gradient(110deg,#effaffdd,#fffdf0 60%,#e3f6ff99),var(--cms-desktop-bg)!important;background-size:cover;background-position:center}.horizontal-promo[style*="--cms-desktop-bg"]{background-image:linear-gradient(95deg,#0061dbdc,#068ee5d9 55%,#006ac041),var(--cms-desktop-bg)!important}@media(max-width:767.98px){.page-hero[style*="--cms-desktop-bg"]{background-image:var(--cms-mobile-bg,var(--cms-desktop-bg))!important}.vertical-promo[style*="--cms-desktop-bg"]{background-image:linear-gradient(160deg,#087dfbe5,#003b9ce6),var(--cms-mobile-bg,var(--cms-desktop-bg))!important}.top-promo-copy[style*="--cms-desktop-bg"]{background-image:linear-gradient(110deg,#effaffdd,#fffdf0 60%,#e3f6ff99),var(--cms-mobile-bg,var(--cms-desktop-bg))!important}.horizontal-promo[style*="--cms-desktop-bg"]{background-image:linear-gradient(95deg,#0061dbdc,#068ee5d9 55%,#006ac041),var(--cms-mobile-bg,var(--cms-desktop-bg))!important}}

/* Slider kadry na stronie głównej — Bootstrap, 3 / 2 / 1 karta zależnie od ekranu. */
.teacher-carousel{position:relative;padding:0 3.35rem .2rem}.teacher-carousel .carousel-inner{overflow:hidden;padding:.35rem}.teacher-carousel .carousel-item{padding:.2rem 0}.teacher-carousel .carousel-control-prev,.teacher-carousel .carousel-control-next{width:2.55rem;height:2.55rem;top:47%;bottom:auto;transform:translateY(-50%);border:1px solid #d1e9fb;border-radius:50%;background:#fff;color:var(--blue);opacity:1;box-shadow:0 7px 18px #087cff16}.teacher-carousel .carousel-control-prev{left:0}.teacher-carousel .carousel-control-next{right:0}.teacher-carousel .carousel-control-prev:hover,.teacher-carousel .carousel-control-next:hover{background:var(--blue);border-color:var(--blue);color:#fff}.teacher-carousel .carousel-control-prev i,.teacher-carousel .carousel-control-next i{font-size:1rem}.teacher-carousel .carousel-indicators{gap:.35rem;justify-content:center}.teacher-carousel .carousel-indicators [data-bs-target]{margin:0;border:0;opacity:.45}.teacher-carousel .carousel-indicators .active{opacity:1}.teacher-carousel .teacher-card{height:100%}@media(max-width:991.98px){.teacher-carousel{padding-inline:3.05rem}.teacher-carousel .portrait.real-photo{height:clamp(235px,35vw,330px)}}@media(max-width:575.98px){.teacher-carousel{padding-inline:2.75rem}.teacher-carousel .carousel-inner{padding:.2rem}.teacher-carousel .carousel-control-prev,.teacher-carousel .carousel-control-next{width:2.3rem;height:2.3rem}.teacher-carousel .portrait.real-photo{height:285px}.teacher-carousel .teacher-card .p-4{padding:1.35rem!important}}
/* Logo wybierane w CMS */
.wordmark.has-logo:before{display:none}.wordmark.has-logo{letter-spacing:0;line-height:1}.site-logo{display:block;width:auto;max-width:190px;height:auto;max-height:48px;object-fit:contain;object-position:left center}.wordmark.has-logo small{margin-left:0;margin-top:.24rem}.main-nav .wordmark.has-logo{min-width:142px}footer .site-logo{max-width:220px;max-height:58px}

/* Aktualności Meta i slider Instagram */
.facebook-embed-shell{flex:1;display:flex;align-items:center;min-height:300px;margin:1rem 0}.facebook-embed-placeholder{width:100%;border:1px dashed #c9e5f9;border-radius:.75rem;background:#f7fcff;padding:1.15rem;text-align:center}.facebook-embed-placeholder p{font-size:.85rem;line-height:1.45;margin:0 0 .9rem}.facebook-embed-shell iframe{width:100%;min-height:560px;border:0;overflow:hidden}.instagram-carousel{position:relative;padding:0 2.7rem}.instagram-carousel .carousel-inner{overflow:hidden}.instagram-carousel .carousel-item{padding:.1rem 0}.instagram-carousel .insta-card{box-shadow:0 6px 18px #087cff12}.instagram-carousel .insta-card:hover{transform:translateY(-3px)}
@media(max-width:767.98px){.site-logo{max-width:155px;max-height:42px}.main-nav .wordmark.has-logo{min-width:120px}.facebook-embed-shell iframe{min-height:520px}.instagram-carousel{padding:0 2.55rem}.instagram-carousel .insta-card{aspect-ratio:4/5}}
/* Automatyczny Facebook i responsywny slider Instagram */
.cms-public-empty {
  min-height: 150px;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.5rem;
  border: 1px dashed #b9ddfa;
  border-radius: 1.25rem;
  background: #f8fcff;
  color: #17355f;
}
.cms-public-empty > i { flex: 0 0 auto; font-size: 2rem; color: #097df0; }
.cms-public-empty h2, .cms-public-empty h3 { margin: 0 0 .25rem; color: #09245b; font-size: 1.15rem; }
.cms-public-empty p { margin: 0; color: #54708f; }
.facebook-embed-shell{display:block;flex:1;width:100%;min-width:0;min-height:0;margin:1rem 0;overflow:hidden;border:1px solid #e2eff9;border-radius:.78rem;background:#fff}.facebook-embed-shell .facebook-embed{display:block;width:100%!important;max-width:100%;height:560px;min-height:560px;border:0;overflow:hidden;background:#fff}.insta-card{height:auto;min-height:0;display:flex;flex-direction:column;border:1px solid #e0eff9;background:#fff;text-decoration:none;color:var(--navy);transition:transform .2s ease,box-shadow .2s ease}.insta-card:after{display:none}.instagram-post-image{display:block;position:relative;aspect-ratio:4/5;overflow:hidden;background:linear-gradient(145deg,#eaf8ff,#cfeeff)}.instagram-post-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#001e7229,transparent 52%)}.instagram-post-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.instagram-post-caption{display:-webkit-box;min-height:3.5em;padding:.7rem .75rem .78rem;overflow:hidden;color:#244271;font-size:.82rem;font-weight:700;line-height:1.25;-webkit-box-orient:vertical;-webkit-line-clamp:3}.insta-card .insta-mark{position:absolute;right:.65rem;top:calc(80% - 1.75rem);bottom:auto;color:#fff;z-index:2;font-size:1rem;text-shadow:0 1px 4px #001d75a8}.instagram-post-placeholder{position:absolute;inset:0;display:grid;place-content:center;gap:.4rem;text-align:center;color:#0069e3;z-index:1}.instagram-post-placeholder i{position:static!important;color:#0069e3!important;font-size:2.2rem!important}.instagram-post-placeholder b{font:900 .82rem var(--site-font-heading,'Nunito Sans',sans-serif)}.insta-card--placeholder .instagram-post-image:after{background:linear-gradient(145deg,#eaf8ff,#d6f1ff)}.insta-card--placeholder .insta-mark{color:#0069e3;text-shadow:none}.instagram-empty{display:flex;align-items:center;gap:1rem;border:1px dashed #b9def6;border-radius:.85rem;padding:1.35rem;background:#f7fcff}.instagram-empty>i{display:grid;flex:0 0 3.2rem;width:3.2rem;height:3.2rem;place-items:center;border-radius:.85rem;background:#e6f5ff;color:#0069e3;font-size:1.55rem}.instagram-empty h3{margin:0 0 .25rem;color:var(--navy);font:900 1rem var(--site-font-heading,'Nunito Sans',sans-serif)}.instagram-empty p{margin:0;color:#56769d;font-size:.85rem;line-height:1.4}.instagram-empty .btn{margin-left:auto;flex:0 0 auto;font-size:.85rem}
@media(max-width:767.98px){.facebook-embed-shell .facebook-embed{height:520px;min-height:520px}.instagram-empty{align-items:flex-start;flex-wrap:wrap}.instagram-empty>div{flex:1 1 190px}.instagram-empty .btn{margin-left:4.2rem}.instagram-post-caption{font-size:.8rem}}
@media(max-width:420px){.facebook-embed-shell .facebook-embed{height:500px;min-height:500px}.instagram-empty .btn{margin-left:0;width:100%}}
.facebook-embed-shell[data-fb-embed]:not([data-loaded]){display:flex;align-items:center;justify-content:center;padding:1rem;min-height:300px}.facebook-embed-shell[data-fb-embed]:not([data-loaded]) .facebook-embed-placeholder{border:0;background:transparent;padding:.5rem;max-width:22rem}

/* Nielimitowany pasek przedmiotów i języków w jednej linii. */
.subject-row{display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;gap:.48rem;padding:.15rem .05rem .65rem;scroll-snap-type:x mandatory;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.subject-row .subject-cell{flex:0 0 calc((100% - 3.36rem)/8);min-width:92px;scroll-snap-align:start}.subject-row::-webkit-scrollbar{height:4px}.subject-row::-webkit-scrollbar-thumb{background:#bfe4fb;border-radius:99px}@media(max-width:767.98px){.subject-row .subject-cell{flex-basis:92px}}
.story-university{display:flex;align-items:center;gap:.55rem;margin-top:.65rem}.story-university img{display:block;width:42px;height:42px;flex:0 0 42px;object-fit:contain;border:1px solid #d9ebf8;border-radius:.55rem;background:#fff;padding:.22rem}.story-university b{display:block;color:var(--navy);font-size:.85rem;line-height:1.2}.story-university small{color:#527198;font-size:.80rem;line-height:1.25}

/* Kompaktowa kadra, Aleja Sław, aktualności oraz font z CMS. */
.home-staff-preview{padding-block:3.25rem;background:linear-gradient(180deg,#fff,#f7fcff)}.home-preview-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem}.home-preview-heading>div{min-width:0}.home-preview-heading .more-link{margin-bottom:.45rem}.home-staff-preview .teacher-carousel{padding:0 2.85rem .15rem}.home-staff-preview .teacher-carousel .carousel-inner{padding:.25rem}.home-staff-preview .teacher-carousel .carousel-control-prev,.home-staff-preview .teacher-carousel .carousel-control-next{top:50%;width:2.25rem;height:2.25rem}.home-teacher-card{height:100%;min-height:104px;display:flex;align-items:center;gap:.78rem;border:1px solid #d8ebfa;border-radius:.85rem;background:#fff;padding:.72rem;box-shadow:0 7px 18px #087cff0b;transition:transform .2s ease,box-shadow .2s ease}.home-teacher-card:hover{transform:translateY(-3px);box-shadow:0 13px 26px #087cff1b}.home-teacher-photo{display:block;flex:0 0 76px;width:76px;height:76px;border-radius:50%;object-fit:cover;object-position:center 22%;border:3px solid #e8f7ff;background:#e6f5ff}.home-teacher-copy{min-width:0;display:flex;flex:1;flex-direction:column;align-items:flex-start}.home-teacher-subject{display:block;max-width:100%;overflow:hidden;color:#0069e3;font-size:.8rem;font-weight:900;letter-spacing:.035em;line-height:1.2;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.home-teacher-name{margin:.18rem 0 .26rem;color:var(--navy);font:900 1.02rem/1.05 var(--site-font-heading,'Nunito Sans',sans-serif)}.home-teacher-card a{color:var(--blue);font-size:.81rem;font-weight:900;text-decoration:none}.home-alley-preview{padding-block:3.25rem}.home-alumni-chip{min-height:94px;display:grid;grid-template-columns:62px minmax(0,1fr) auto;gap:.7rem;align-items:center;border:1px solid #d3eafa;border-radius:.82rem;background:#fff;padding:.65rem;text-decoration:none;box-shadow:0 7px 18px #087cff0a;transition:transform .2s ease,box-shadow .2s ease}.home-alumni-chip:hover{color:inherit;transform:translateY(-2px);box-shadow:0 12px 24px #087cff19}.home-alumni-chip img{display:block;width:62px;height:62px;border-radius:50%;object-fit:cover;object-position:center 24%;background:#e7f5ff}.home-alumni-chip span{min-width:0}.home-alumni-chip small{display:block;overflow:hidden;color:#0069e3;font-size:.8rem;font-weight:900;letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.home-alumni-chip b{display:block;overflow:hidden;margin:.15rem 0;color:var(--navy);font:900 .92rem/1.12 var(--site-font-heading,'Nunito Sans',sans-serif);text-overflow:ellipsis;white-space:nowrap}.home-alumni-chip em{display:block;overflow:hidden;color:#527198;font-size:.8rem;font-style:normal;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.home-alumni-chip>i{color:#0b83f6;font-size:.87rem}.home-news-zone{margin-top:2rem;border:1px solid #d8ecfa;border-radius:1rem;background:#fff;padding:1.35rem;box-shadow:0 9px 24px #087cff0a}.home-news-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.15rem}.home-news-heading h2{margin:.42rem 0 0;color:var(--navy);font:900 1.68rem/1 var(--site-font-heading,'Nunito Sans',sans-serif);letter-spacing:-.016em}.home-news-heading h2 span{color:var(--blue)}.home-news-card{height:100%;min-height:184px;display:flex;flex-direction:column;border:1px solid #e0eef9;border-radius:.8rem;background:#f9fdff;padding:1rem}.home-news-card>small{color:#0784f3;font-size:.8rem;font-weight:900;letter-spacing:.045em;text-transform:uppercase}.home-news-card h3{display:-webkit-box;overflow:hidden;margin:.45rem 0;color:var(--navy);font:900 1.04rem/1.18 var(--site-font-heading,'Nunito Sans',sans-serif);-webkit-box-orient:vertical;-webkit-line-clamp:2}.home-news-card p{display:-webkit-box;overflow:hidden;margin:0 0 .85rem;color:#516d96;font-size:.83rem;line-height:1.42;-webkit-box-orient:vertical;-webkit-line-clamp:3}.home-news-card a{margin-top:auto;color:var(--blue);font-size:.80rem;font-weight:900;text-decoration:none}.home-news-card--empty{min-height:120px;flex-direction:row;align-items:center;gap:.9rem}.home-news-card--empty>i{display:grid;flex:0 0 3rem;width:3rem;height:3rem;place-items:center;border-radius:.72rem;background:#e4f6ff;color:#0069e3;font-size:1.35rem}.home-news-card--empty h3{display:block;margin:0 0 .25rem}.home-news-card--empty p{display:block;margin:0}.home-news-cta{height:100%;min-height:184px;display:flex;flex-direction:column;border-radius:.82rem;background:linear-gradient(145deg,#0579ef,#069be9);padding:1.1rem;color:#fff;box-shadow:0 12px 26px #087cff28}.home-news-cta-icon{display:grid;place-items:center;width:2.35rem;height:2.35rem;margin-bottom:.55rem;border-radius:.65rem;background:#ffffff24;font-size:1.1rem}.home-news-cta>small{font-size:.8rem;font-weight:900;letter-spacing:.055em;text-transform:uppercase}.home-news-cta h3{margin:.4rem 0;color:#fff;font:900 1.2rem/1.1 var(--site-font-heading,'Nunito Sans',sans-serif)}.home-news-cta p{margin:0 0 1rem;color:#e5f7ff;font-size:.83rem;line-height:1.38}.home-news-cta .btn{margin-top:auto;color:#0875e8;font-size:.83rem}.home-news-cta .btn:hover{transform:none;background:#fff;color:#0066d4}

body.site-font-manrope{--site-font-body:Manrope,Arial,sans-serif;--site-font-heading:'Nunito Sans',Arial,sans-serif}body.site-font-inter{--site-font-body:Inter,Arial,sans-serif;--site-font-heading:Inter,Arial,sans-serif}body.site-font-poppins{--site-font-body:Poppins,Arial,sans-serif;--site-font-heading:Poppins,Arial,sans-serif}body.site-font-montserrat{--site-font-body:Montserrat,Arial,sans-serif;--site-font-heading:Montserrat,Arial,sans-serif}body.site-font-nunito{--site-font-body:'Nunito Sans',Arial,sans-serif;--site-font-heading:'Nunito Sans',Arial,sans-serif}body[class*="site-font-"]{font-family:var(--site-font-body)!important}body[class*="site-font-"] :where(:not(i):not(svg):not(.line-icon)){font-family:var(--site-font-body)}body[class*="site-font-"] :is(h1,h2,h3,h4,h5,h6,.wordmark,.home-alumni-chip b){font-family:var(--site-font-heading)!important}

@media(max-width:991.98px){.home-preview-heading{align-items:flex-start;flex-direction:column}.home-preview-heading .more-link{margin:0}.home-staff-preview .teacher-carousel{padding-inline:2.65rem}.home-news-zone{padding:1.1rem}.home-news-cta{min-height:160px}}@media(max-width:575.98px){.home-staff-preview,.home-alley-preview{padding-block:2.65rem}.home-staff-preview .teacher-carousel{padding-inline:2.35rem}.home-teacher-card{min-height:96px;padding:.62rem}.home-teacher-photo{flex-basis:68px;width:68px;height:68px}.home-teacher-name{font-size:.98rem}.home-alumni-chip{min-height:88px;grid-template-columns:54px minmax(0,1fr) auto;padding:.56rem}.home-alumni-chip img{width:54px;height:54px}.home-news-zone{margin-top:1.25rem;padding:1rem}.home-news-heading{align-items:flex-start;flex-direction:column;margin-bottom:1rem}.home-news-heading h2{font-size:1.45rem}.home-news-card{min-height:165px}.home-news-cta{min-height:190px;padding:1rem}}
/* Strony szczegółów kursów mają własne, responsywne hero z obrazem z CMS. */
.page-course-detail .page-hero,.page-category-detail .page-hero{background-image:linear-gradient(120deg,#fff,#e7f8ff)!important}.page-course-detail .page-hero:before,.page-category-detail .page-hero:before{background:linear-gradient(90deg,#fff 0%,#ffffffeb 70%,#ffffffb8 100%)}.page-course-detail .page-hero img,.page-category-detail .page-hero img{width:100%;max-height:370px;object-fit:cover;object-position:center;border:1px solid #d7ebfa}@media(max-width:991.98px){.page-course-detail .page-hero,.page-category-detail .page-hero{min-height:0;background-size:auto;background-position:center}.page-course-detail .page-hero .container,.page-category-detail .page-hero .container{padding-top:2.4rem;padding-bottom:2.4rem}.page-course-detail .page-hero img,.page-category-detail .page-hero img{max-height:420px}}@media(max-width:575.98px){.page-course-detail .page-hero .container,.page-category-detail .page-hero .container{padding-top:2rem;padding-bottom:2rem}.page-course-detail .page-hero img,.page-category-detail .page-hero img{max-height:300px}.page-course-detail .page-hero h1,.page-category-detail .page-hero h1{font-size:clamp(2.2rem,10vw,3rem)}}
/* Podstrona konkretnego przedmiotu — kursowy układ z CMS. */
.page-subject-detail .site-header{position:relative;z-index:5}
.subject-detail-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 88% 18%,#beeaff 0,transparent 26%),linear-gradient(124deg,#fff 0%,#f3fbff 56%,#d9f4ff 100%);border-bottom:1px solid #d9eefb}
.subject-detail-hero .container{padding-top:3.3rem;padding-bottom:3.3rem}
.subject-detail-hero .crumb{margin-bottom:1.15rem}
.subject-detail-hero h1{max-width:14ch;margin:.5rem 0 1.05rem;color:var(--navy);font:900 clamp(2.55rem,5.3vw,4.6rem)/.95 var(--site-font-heading,'Nunito Sans',sans-serif);letter-spacing:-.021em}
.subject-detail-hero h1 span,.subject-intro h2 span,.subject-detail-panel h3 span{color:var(--blue)}
.subject-detail-hero .lead{max-width:44rem;margin:0 0 1.5rem;color:#284775;font-size:1.04rem;line-height:1.6}
.subject-hero-media{position:relative;min-height:310px;overflow:hidden;border:1px solid #d8edf9;border-radius:1.2rem;background:#e8f7ff;box-shadow:0 18px 35px #087cff1f}
.subject-hero-media:after{content:'';position:absolute;inset:auto 0 0;height:32%;background:linear-gradient(0deg,#062d691c,transparent);pointer-events:none}
.subject-hero-media img{display:block;width:100%;height:100%;min-height:310px;object-fit:cover;object-position:center}
.subject-hero-facts{display:flex;flex-wrap:wrap;gap:.75rem 1.35rem;margin-top:1.55rem;color:#345987;font-size:.86rem;font-weight:800}
.subject-hero-facts span{display:inline-flex;align-items:center;gap:.42rem}
.subject-hero-facts i{color:var(--blue);font-size:1.02rem}
.subject-highlight-strip{border-bottom:1px solid #e0effa;background:#fff}
.subject-highlight-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0}
.subject-highlight-grid article{display:flex;min-width:0;align-items:center;gap:.7rem;padding:1.25rem 1rem;border-right:1px solid #dfedf8}
.subject-highlight-grid article:first-child{border-left:1px solid #dfedf8}
.subject-highlight-grid .line-icon,.subject-highlight-grid svg.lucide{flex:0 0 auto;width:1.55rem;height:1.55rem;color:var(--blue);stroke-width:1.9}
.subject-highlight-grid b,.subject-highlight-grid span{display:block}
.subject-highlight-grid b{color:var(--navy);font-size:.85rem;line-height:1.2}
.subject-highlight-grid span{margin-top:.14rem;color:#5c789f;font-size:.8rem;line-height:1.28}
.subject-intro h2{max-width:26ch;text-wrap:balance;color:var(--navy);font:900 clamp(1.95rem,3.2vw,3rem)/1 var(--site-font-heading,'Nunito Sans',sans-serif);letter-spacing:-.017em}
.subject-rich-copy{max-width:44rem;margin-top:1.1rem;color:#36537c;font-size:.96rem;line-height:1.65}
.subject-rich-copy p:last-child{margin-bottom:0}
.subject-rich-copy ul,.subject-rich-copy ol{padding-left:1.1rem}
.subject-rich-copy li+li{margin-top:.42rem}
.subject-rich-copy.compact{font-size:.85rem;line-height:1.5}
.subject-info-card,.subject-detail-panel,.subject-testimonial{height:100%;border:1px solid #d8ebf9;border-radius:1rem;background:#fff;box-shadow:0 10px 25px #087cff0c}
.subject-info-card{padding:1.45rem}
.subject-info-icon,.panel-icon{display:grid;width:3.05rem;height:3.05rem;place-items:center;border-radius:.82rem;background:#e6f6ff;color:var(--blue)}
.subject-info-icon .line-icon,.subject-info-icon svg,.panel-icon .line-icon,.panel-icon svg{width:1.6rem;height:1.6rem;stroke-width:1.9}
.subject-info-card h3{margin:1rem 0 .42rem;color:var(--navy);font:900 1.36rem/1.1 var(--site-font-heading,'Nunito Sans',sans-serif)}
.subject-info-card p{margin:0 0 1rem;color:#57759c;font-size:.88rem;line-height:1.5}
.subject-detail-panel{padding:1.35rem}
.subject-detail-panel h3{margin:.85rem 0 .3rem;color:var(--navy);font:900 1.2rem/1.1 var(--site-font-heading,'Nunito Sans',sans-serif)}
.subject-detail-panel h4{margin:.6rem 0 .28rem;color:var(--navy);font:900 1.08rem/1.1 var(--site-font-heading,'Nunito Sans',sans-serif)}
.subject-detail-panel p{color:#56739a;font-size:.85rem;line-height:1.48}
.subject-detail-panel .panel-lead{min-height:2.5em;margin-bottom:.85rem}
.subject-detail-panel dl{display:grid;grid-template-columns:minmax(78px,.58fr) minmax(0,1fr);gap:.43rem .65rem;margin:1rem 0;color:#365477;font-size:.85rem;line-height:1.36}
.subject-detail-panel dt{color:#527198;font-weight:800}
.subject-detail-panel dd{margin:0;color:#173d71;font-weight:700}
.subject-panel-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1rem}
.subject-panel-tags span,.subject-course-meta span,.subject-course-count{border-radius:99px;background:#e9f7ff;padding:.33rem .55rem;color:#0069e3;font-size:.8rem;font-weight:900}
.subject-teacher-photo{display:block;width:92px;height:92px;margin:.8rem 0 .7rem;border:3px solid #e4f5ff;border-radius:50%;object-fit:cover;object-position:center 20%}
.subject-course-card{position:relative;overflow:hidden}
.subject-course-card>small{color:#0069e3;font-size:.8rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.subject-course-card h3{margin-top:.42rem}
.subject-course-meta{display:flex;flex-wrap:wrap;gap:.35rem;margin:.9rem 0 1rem}
.subject-course-card .more-link{margin-top:auto}
.subject-testimonial{padding:1rem}
.subject-testimonial-top{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:.65rem}
.subject-testimonial-top img{display:block;width:46px;height:46px;border-radius:50%;object-fit:cover}
.subject-testimonial-top b,.subject-testimonial-top small{display:block}
.subject-testimonial-top b{overflow:hidden;color:var(--navy);font-size:.88rem;text-overflow:ellipsis;white-space:nowrap}
.subject-testimonial-top small{margin-top:.13rem;color:#6281a9;font-size:.8rem}
.subject-testimonial-top span{color:#f6a91a;font-size:.85rem;letter-spacing:.04em;white-space:nowrap}
.subject-testimonial p{margin:.9rem 0 0;color:#426188;font-size:.88rem;line-height:1.48}
@media(max-width:991.98px){.subject-detail-hero .container{padding-top:2.5rem;padding-bottom:2.6rem}.subject-detail-hero h1{max-width:18ch}.subject-hero-media{min-height:300px}.subject-highlight-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.subject-highlight-grid article:nth-child(4){border-left:1px solid #dfedf8}.subject-highlight-grid article:nth-child(n+4){border-top:1px solid #dfedf8}}
@media(max-width:767.98px){.subject-detail-hero .container{padding-top:2rem;padding-bottom:2.2rem}.subject-detail-hero h1{font-size:clamp(2.45rem,12vw,3.45rem)}.subject-detail-hero .lead{font-size:.96rem}.subject-hero-media,.subject-hero-media img{min-height:245px}.subject-highlight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.subject-highlight-grid article{padding:.9rem .75rem}.subject-highlight-grid article:nth-child(3),.subject-highlight-grid article:nth-child(5){border-left:1px solid #dfedf8}.subject-highlight-grid article:nth-child(n+3){border-top:1px solid #dfedf8}.subject-highlight-grid article:last-child{grid-column:1/-1}.subject-highlight-grid b{font-size:.81rem}.subject-highlight-grid span{font-size:.8rem}.subject-intro h2{font-size:2rem}.subject-detail-panel .panel-lead{min-height:0}.subject-testimonial-top{grid-template-columns:42px minmax(0,1fr)}.subject-testimonial-top img{width:42px;height:42px}.subject-testimonial-top span{grid-column:2;font-size:.81rem}}

/* Edytowalne bannery strony głównej — tekst oraz tło pochodzą z CMS. */
.home-image-banner .home-image-banner-copy b span{color:#c4efff}
.home-image-banner-description{max-width:355px;margin-top:.7rem;color:#f1fbff;font-size:.87rem;line-height:1.45}
.home-image-banner-description p,.home-image-banner-description ul,.home-image-banner-description ol{margin:0}
.home-image-banner-description a{color:#fff;text-decoration:underline}
.home-image-banner-cta{display:inline-block;margin-top:1.05rem;border-radius:999px;background:#fff;color:var(--blue);padding:.7rem 1.1rem;font-size:.90rem;font-style:normal;font-weight:900;text-decoration:none}
.home-image-banner-cta:hover{color:#005fc7;background:#eaf8ff}
.home-news-cta h3 span{color:#d8f5ff}
.home-news-cta-description{margin:0 0 1rem;color:#e5f7ff;font-size:.83rem;line-height:1.38}
.home-news-cta-description p,.home-news-cta-description ul,.home-news-cta-description ol{margin:0}
.home-news-cta-description a{color:#fff;text-decoration:underline}
.cta-block-description{margin:0;color:#fff}
.cta-block-description p,.cta-block-description ul,.cta-block-description ol{margin:0}
.cta-block-description a{color:#fff;text-decoration:underline}.cta-block--visual{min-height:280px;justify-content:center}
.cta-block[style*="--cms-desktop-bg"]{background-image:linear-gradient(92deg,#0063dceb 0%,#087ce0df 48%,#0686df40 100%),var(--cms-desktop-bg)!important;background-size:cover;background-position:center right}
.home-news-cta[style*="--cms-desktop-bg"]{background-image:linear-gradient(145deg,#0579efe8,#069be9c8),var(--cms-desktop-bg)!important;background-size:cover;background-position:center}
@media(max-width:767.98px){
  .cta-block[style*="--cms-desktop-bg"]{background-image:linear-gradient(92deg,#0063dceb 0%,#087ce0df 48%,#0686df40 100%),var(--cms-mobile-bg,var(--cms-desktop-bg))!important;background-position:68% center}
  .home-news-cta[style*="--cms-desktop-bg"]{background-image:linear-gradient(145deg,#0579efe8,#069be9c8),var(--cms-mobile-bg,var(--cms-desktop-bg))!important;background-position:center}
}
@media(max-width:575.98px){
  .home-image-banner>.home-image-banner-copy{left:1.35rem;bottom:1.45rem;right:1.2rem;max-width:none}
  .home-image-banner-description{max-width:290px;font-size:.85rem}
  .home-image-banner-cta{margin-top:.85rem;font-size:.87rem}
}
/* === Aktualizacja 2026-10: poprawki widoku na telefonie === */
@media (max-width:575.98px){.hero-copy{padding-left:calc(var(--bs-gutter-x,1.5rem)*.5)!important;padding-right:calc(var(--bs-gutter-x,1.5rem)*.5)!important}}
/* Artykuł bloga (/blog/{adres}) */
.post-body{font-size:1.04rem;line-height:1.75;color:var(--text);max-width:46rem;overflow-wrap:break-word}
.post-body h2{font-size:1.55rem;margin:2rem 0 .75rem;color:var(--navy)}
.post-body h3{font-size:1.2rem;margin:1.5rem 0 .6rem;color:var(--navy)}
.post-body img{max-width:100%;height:auto;border-radius:1rem}
.post-body blockquote{border-left:4px solid var(--blue);margin:1.4rem 0;padding:.35rem 0 .35rem 1rem;font-style:italic}
.post-body a{color:var(--blue);text-decoration:underline;text-underline-offset:2px}
.page-post-detail .page-hero h1{font-size:clamp(2rem,4vw,3.4rem);line-height:1.08}
.page-post-detail aside .course-card{height:auto;position:sticky;top:6.5rem}
/* Miejsce na ikony liniowe, zanim się doładują (bez przesuwania treści) */
i.line-icon{display:inline-block;width:1.5rem;height:1.5rem;vertical-align:-.3em}
.navbar-toggler .bi-list{display:inline-block;min-width:1em;min-height:1em}
/* Strona na telefonie jak aplikacja (assets/app.css) — na komputerze elementy aplikacji są ukryte. */
.m-bar,.m-tabs,.m-app,.m-sheet{display:none}
/* Czat Messenger — pływający przycisk na każdym ekranie. */
.m-msg{position:fixed;right:22px;bottom:22px;z-index:1050;display:inline-flex;align-items:center;gap:10px;height:54px;padding:0 20px 0 16px;border-radius:999px;background:linear-gradient(135deg,#00b2ff,#006aff 55%,#7a3cff);color:#fff!important;font-weight:800;font-size:15px;text-decoration:none;box-shadow:0 12px 30px rgba(0,80,200,.35);transition:transform .15s,box-shadow .15s}
.m-msg i{font-size:24px;line-height:1}.m-msg:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(0,80,200,.45)}.m-msg:focus-visible{outline:3px solid #9ad4ff;outline-offset:3px}

/* Baner główny: jedna szeroka grafika na całą szerokość — tło pod napisami (panel: Banery → Strona główna → Baner główny) */
.hero-wide-inner{z-index:2;min-height:clamp(520px,37.5vw,720px);display:flex;flex-direction:column;justify-content:center}
.hero-wide .hero-copy{max-width:640px;padding:3rem 0}
.hero-wide-media img{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:center right}
.hero-wide.has-image:after{display:none}
.hero-wide.has-image.is-text-all:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#fff 0%,#fffffff0 30%,#ffffffb0 47%,#ffffff00 66%)}
/* Grafika z własnymi napisami: cała, bez przycinania i rozjaśnienia */
.hero-wide.is-text-none,.hero-wide.is-text-buttons{background:#fff;border-bottom:0}
.hero-wide.is-text-none .hero-wide-media img,.hero-wide.is-text-buttons .hero-wide-media img{position:static;display:block;width:100%;height:auto}
.hero-wide.is-text-none .hero-wide-inner{min-height:0}
.hero-wide.is-text-buttons .hero-wide-inner{position:absolute!important;left:0;right:0;bottom:clamp(1rem,3.5vw,3rem);min-height:0}
.hero-wide-link{display:block}
.hero-wide-link:focus-visible{outline:3px solid #7cc0ff;outline-offset:-3px}
/* Napisy wyłączone w panelu („Na banerze pokaż”): grafika bez nakładki, cały baner jest linkiem */
.banner-link-cover{position:absolute;inset:0;z-index:3;border-radius:inherit}
.banner-link-cover:focus-visible{outline:3px solid #7cc0ff;outline-offset:-3px}
.home-news-cta,.top-promo-copy{position:relative}
.home-image-banner.is-text-none:after,.home-image-banner.is-text-buttons:after,.vertical-promo.is-text-none:before,.vertical-promo.is-text-buttons:before,.horizontal-promo.is-text-none:after,.horizontal-promo.is-text-buttons:after,.page-hero.is-text-none:before,.page-hero.is-text-buttons:before{display:none}
:is(.vertical-promo,.horizontal-promo,.top-promo-copy,.cta-block,.home-news-cta):is(.is-text-none,.is-text-buttons)[style*="--cms-desktop-bg"]{background-image:var(--cms-desktop-bg)!important}
.page-hero.is-text-none,.page-hero.is-text-buttons{min-height:0;aspect-ratio:var(--banner-ratio,1920/500);align-items:flex-end;background-position:center}
.page-hero.is-text-buttons .container{padding-bottom:2rem}
.horizontal-promo.is-text-buttons{justify-content:flex-end;align-items:flex-end}
.top-promo-copy.is-text-buttons{display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start}
.home-news-cta.is-text-buttons{justify-content:flex-end}
.cta-block.is-text-buttons{display:flex;justify-content:flex-end;align-items:flex-end}
@media(max-width:767.98px){
  :is(.vertical-promo,.horizontal-promo,.top-promo-copy,.cta-block,.home-news-cta):is(.is-text-none,.is-text-buttons)[style*="--cms-desktop-bg"]{background-image:var(--cms-mobile-bg,var(--cms-desktop-bg))!important}
}
.hero-wide-buttons .btn-light{background:#fff;border-color:#fff;color:var(--navy);box-shadow:0 10px 26px #0b3a8a26}
@media(max-width:767.98px){.page-hero.is-text-none,.page-hero.is-text-buttons{aspect-ratio:var(--banner-mobile-ratio,var(--banner-ratio,1920/500))}}
/* Baner na końcu strony bez napisów: cała grafika w jej proporcjach */
.cta-block.is-text-none,.cta-block.is-text-buttons{min-height:0;aspect-ratio:var(--banner-ratio,1920/360);background-size:cover;background-position:center}
.cta-block.is-text-none{padding:0}
@media(max-width:767.98px){.cta-block.is-text-none,.cta-block.is-text-buttons{aspect-ratio:var(--banner-mobile-ratio,var(--banner-ratio,1920/360))}}

/* „Nasza kadra”: karty nauczycieli z filtrem przedmiotów i animacją (panel: Strona WWW → Nasza kadra) */
.staff-section{padding-top:2.5rem}
.staff-filter{display:flex;flex-wrap:wrap;gap:.6rem;margin:0 0 2rem}
.staff-chip{display:inline-flex;align-items:center;gap:.45rem;min-height:44px;padding:.5rem 1rem;border:1px solid #cfe6fb;border-radius:999px;background:#fff;color:var(--navy);font-weight:800;font-size:.95rem;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s,transform .2s}
.staff-chip span{display:inline-grid;place-items:center;min-width:1.6rem;height:1.6rem;padding:0 .4rem;border-radius:999px;background:#e8f4ff;color:var(--blue);font-size:.85rem}
.staff-chip .line-icon{width:18px;height:18px}
.staff-chip:hover{border-color:var(--blue);transform:translateY(-2px)}
.staff-chip[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:#fff}
.staff-chip[aria-pressed=true] span{background:#ffffff26;color:#fff}
.staff-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.75rem}
.staff-card{position:relative;display:grid;grid-template-areas:"photo" "body";grid-template-rows:auto 1fr;border:1px solid #d8edfb;border-radius:1.25rem;background:#fff;overflow:hidden;box-shadow:0 10px 30px #0b3a8a12;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,opacity .26s}
.staff-card:hover{transform:translateY(-6px);box-shadow:0 22px 46px #087cff26}
.staff-photo{grid-area:photo;position:relative;aspect-ratio:4/5;overflow:hidden;background:#e8f4ff}
.staff-photo img{width:100%;height:100%;object-fit:cover;object-position:center 22%;display:block;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.staff-card:hover .staff-photo img{transform:scale(1.07)}
.staff-photo:after{content:"";position:absolute;inset:auto 0 0 0;height:55%;background:linear-gradient(180deg,#08185200,#081852d9);pointer-events:none}
.staff-shine{position:absolute;inset:0;z-index:1;background:linear-gradient(115deg,transparent 35%,#ffffff59 50%,transparent 65%);transform:translateX(-120%);pointer-events:none}
.staff-card:hover .staff-shine{transition:transform 1s ease;transform:translateX(120%)}
.staff-id{grid-area:photo;align-self:end;position:relative;z-index:2;padding:1.1rem 1.25rem 1.15rem;color:#fff}
.staff-id h3{margin:0;font:800 1.45rem/1.15 var(--site-font-heading,'Nunito Sans',sans-serif);letter-spacing:-.003em;color:#fff;text-shadow:0 2px 12px #0006}
.staff-id p{margin:.35rem 0 0;font-size:.92rem;font-weight:700;color:#d6ecff;line-height:1.4}
.staff-body{grid-area:body;display:flex;flex-direction:column;gap:.7rem;padding:1.1rem 1.25rem 1.3rem}
.staff-body:empty{display:none}
.staff-label{font-size:.87rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#5a7196}
.staff-courses{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}
.staff-courses a{display:flex;align-items:center;gap:.6rem;padding:.6rem .75rem;border-radius:.75rem;background:#f2f9ff;color:var(--navy);font-weight:700;font-size:.95rem;line-height:1.35;text-decoration:none;transition:background-color .2s,color .2s}
.staff-courses a .bi-mortarboard{color:var(--blue);font-size:1.05rem}
.staff-courses a span{flex:1}
.staff-courses a .staff-go{color:var(--blue);transition:transform .2s}
.staff-courses a:hover{background:#e3f2ff;color:var(--blue)}
.staff-courses a:hover .staff-go{transform:translateX(4px)}
.staff-bio{margin:0;font-size:.95rem;line-height:1.6;color:#3d5079}
.staff-badges{margin:0;display:flex;gap:.4rem;align-items:center;font-size:.90rem;font-weight:800;color:var(--blue)}
.staff-none{margin-top:1rem;font-weight:700;color:#5a7196}
/* Animacja: karty wjeżdżają po kolei; filtr chowa karty płynnie */
.staff-anim .staff-card{opacity:0;transform:translateY(28px) scale(.985);transition:opacity .6s ease calc(var(--i,0) * 70ms),transform .7s cubic-bezier(.2,.7,.2,1) calc(var(--i,0) * 70ms),box-shadow .35s}
.staff-anim .staff-card.is-in{opacity:1;transform:none}
.staff-anim .staff-card.is-in:hover{transform:translateY(-6px);transition-delay:0s}
.staff-card.is-out{opacity:0!important;transform:scale(.96)!important}
.staff-card:target{animation:staffPulse 1.8s ease 2}
@keyframes staffPulse{0%,100%{box-shadow:0 10px 30px #0b3a8a12}50%{box-shadow:0 0 0 5px #087bff55,0 22px 46px #087cff26}}
@media (prefers-reduced-motion:reduce){.staff-card,.staff-photo img,.staff-chip{transition:none!important}.staff-shine{display:none}.staff-card:target{animation:none}}
@media (max-width:575.98px){
  .staff-grid{grid-template-columns:1fr;gap:1rem}
  .staff-card{grid-template-areas:"photo id" "photo body";grid-template-columns:124px 1fr;grid-template-rows:auto 1fr}
  .staff-photo{aspect-ratio:auto;min-height:100%}
  .staff-photo:after{display:none}
  .staff-id{grid-area:id;align-self:start;color:var(--navy);padding:1rem 1rem .2rem}
  .staff-id h3{font-size:1.2rem;color:var(--navy);text-shadow:none}
  .staff-id p{color:var(--blue);font-size:.92rem}
  .staff-body{padding:.4rem 1rem 1rem}
  .staff-courses a{font-size:.92rem;padding:.5rem .6rem}
}

/* Oferta i Przedmioty w jednej zakładce: przełącznik „Rodzaj zajęć / Przedmiot lub język” */
.offer-hub{scroll-margin-top:56px}
.offer-hub .section-heading{max-width:760px}
.offer-tab-icon .line-icon,.offer-card-icon .line-icon{width:24px;height:24px}
.offer-switch{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;max-width:760px;margin:0 auto 2.25rem;padding:.45rem;border:1px solid #d3e8fb;border-radius:1.4rem;background:#f2f9ff}
.offer-tab{display:flex;align-items:center;gap:.85rem;min-height:72px;padding:.75rem 1rem;border:0;border-radius:1.05rem;background:transparent;color:var(--navy);text-align:left;cursor:pointer;transition:background-color .25s,color .25s,box-shadow .25s,transform .2s}
.offer-tab-icon{display:grid;place-items:center;flex:0 0 46px;height:46px;border-radius:14px;background:#fff;color:var(--blue);box-shadow:0 6px 16px #087cff1f;transition:background-color .25s,color .25s}
.offer-tab b{display:block;font:800 1.1rem/1.2 var(--site-font-heading,'Nunito Sans',sans-serif)}
.offer-tab small{display:block;margin-top:.15rem;font-size:.91rem;font-weight:600;color:#5a7196}
.offer-tab:hover{transform:translateY(-1px)}
.offer-tab[aria-selected=true]{background:#fff;box-shadow:0 12px 30px #0b3a8a1f}
.offer-tab[aria-selected=true] .offer-tab-icon{background:var(--blue);color:#fff}
.offer-hub:not(.offer-js) .offer-switch{display:none}
.offer-panel-title{font:800 1.3rem/1.2 var(--site-font-heading,'Nunito Sans',sans-serif);color:var(--navy);margin:0 0 1rem}
.offer-hub:not(.offer-js) .offer-panel+.offer-panel{margin-top:3rem}
.offer-panel.is-shown{animation:offerIn .45s cubic-bezier(.2,.7,.2,1) both}
@keyframes offerIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.offer-card{position:relative;display:flex;flex-direction:column;gap:.55rem;height:100%;padding:1.5rem;border:1px solid #d8edfb;border-radius:1.15rem;background:#fff;color:var(--navy);text-decoration:none;box-shadow:0 8px 24px #0b3a8a0f;transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s,border-color .3s}
.offer-card:hover{transform:translateY(-5px);border-color:#9fd0ff;box-shadow:0 20px 40px #087cff22;color:var(--navy)}
.offer-card-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,#087bff,#29b6ff);color:#fff;box-shadow:0 10px 22px #087bff40}
.offer-card b{font:800 1.3rem/1.2 var(--site-font-heading,'Nunito Sans',sans-serif)}
.offer-card-text{font-size:.98rem;line-height:1.55;color:#3d5079}
.offer-card-foot{margin-top:auto;padding-top:.6rem;display:flex;justify-content:space-between;align-items:center;gap:.5rem}
.offer-count{font-size:.90rem;font-weight:800;color:var(--blue);background:#e8f4ff;border-radius:999px;padding:.3rem .7rem}
.offer-go{font-weight:800;font-size:.95rem;color:var(--blue);display:inline-flex;gap:.35rem;align-items:center;transition:transform .2s}
.offer-card:hover .offer-go{transform:translateX(4px)}
.offer-subjects{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.9rem;margin-bottom:2.2rem}
.offer-subject{display:flex;align-items:center;gap:.85rem;padding:.9rem 1rem;border:1px solid #d8edfb;border-radius:1rem;background:#fff;color:var(--navy);text-decoration:none;transition:transform .25s,box-shadow .25s,border-color .25s}
.offer-subject:hover{transform:translateY(-3px);border-color:#9fd0ff;box-shadow:0 14px 30px #087cff1f;color:var(--navy)}
.offer-subject-icon{display:grid;place-items:center;flex:0 0 46px;height:46px;border-radius:14px;background:#e8f4ff;color:var(--blue)}
.offer-subject-icon .line-icon{width:22px;height:22px}
.offer-subject-text{flex:1;min-width:0}
.offer-subject-text b{display:block;font-size:1.05rem;font-weight:800;line-height:1.25}
.offer-subject-text small{display:block;font-size:.91rem;font-weight:600;color:#5a7196}
.offer-subject:hover .offer-go{transform:translateX(4px)}
@media (prefers-reduced-motion:reduce){.offer-panel.is-shown{animation:none}.offer-card,.offer-subject,.offer-tab{transition:none}}
@media (max-width:575.98px){.offer-switch{grid-template-columns:1fr;border-radius:1.2rem}.offer-tab{min-height:62px}.offer-tab small{font-size:.85rem}.offer-subjects{grid-template-columns:1fr}}
/* Kategoria oferty: baner na całą szerokość strony jako tło pod tytułem */
.page-category-detail .page-hero-category[style*="--cms-desktop-bg"]{background-image:var(--cms-desktop-bg)!important;background-size:cover;background-position:center right}
.page-category-detail .page-hero-category.is-text-all[style*="--cms-desktop-bg"]:before{background:linear-gradient(90deg,#fff 0%,#ffffffeb 34%,#ffffff8c 55%,#fff0 75%)}
@media(max-width:767.98px){.page-category-detail .page-hero-category[style*="--cms-desktop-bg"]{background-image:var(--cms-mobile-bg,var(--cms-desktop-bg))!important;background-position:center}.page-category-detail .page-hero-category.is-text-all[style*="--cms-desktop-bg"]:before{background:linear-gradient(180deg,#ffffffeb,#ffffffd1)}}
/* Czytelność: tekst w kroju Nunito Sans (średnia grubość), większa interlinia akapitów */
body.site-font-manrope{--site-font-body:'Nunito Sans',Arial,sans-serif}
body[class*="site-font-"]{font-weight:500;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
body[class*="site-font-"] main :is(p,li){line-height:1.65}
/* Czytelność: drobne podpisy nie mniejsze niż ok. 13 px */
.hero-stats span,.home-teacher-subject,.home-alumni-chip small,.home-alumni-chip em{font-size:.82rem!important}
.subject-card b{font-size:.9rem}
.alley-card small.text-primary,.p-3>small.text-primary.fw-bold{font-size:.8rem}
footer .container{font-size:.85rem}

/* SEO lokalne: Siedlce i okolice (sekcja na stronie głównej i w kontakcie, linijka w nagłówku, adres w stopce). */
.hero-local{display:inline-flex;align-items:center;gap:.4rem;margin:1.1rem 0 0;color:var(--navy);font-size:.92rem;font-weight:800}
.hero-local i{color:var(--blue)}
.local-card{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.4rem 2.5rem;border:1px solid var(--line);border-radius:1.4rem;background:linear-gradient(120deg,#fff,#f2fbff);padding:clamp(1.5rem,4vw,2.75rem);box-shadow:0 14px 34px #087cff0f}
.local-intro h2{font:900 clamp(1.9rem,3vw,2.6rem)/1.05 var(--site-font-heading,'Nunito Sans',sans-serif);color:var(--navy);letter-spacing:-.02em;margin:.75rem 0 .9rem}
.local-intro h2 span{color:var(--blue)}
.local-intro p{margin:0 0 .5rem;font-size:.98rem}
.local-hours{display:flex;gap:.45rem;align-items:center;font-weight:700;color:var(--navy)}
.contact-address{line-height:1.7}
.contact-address i{color:var(--blue)}
footer a.footer-address{display:flex;gap:.35rem;align-items:flex-start}
.local-intro{flex:1 1 520px;min-width:0}
.local-intro p:last-child{margin-bottom:0}
.local-actions{display:flex;flex-wrap:wrap;gap:.6rem}
.local-area{padding-top:0}
@media(max-width:991.98px){.local-card{gap:1.2rem}}

/* Wirtualny spacer po szkole */
.tour-hero{padding:3.2rem 0 1.4rem;background:radial-gradient(circle at 88% 10%,#b9eeff,transparent 30%),linear-gradient(110deg,#fff 20%,#f1fbff 65%,#e2f5ff)}
.tour-hero h1{font:900 clamp(2.2rem,4.4vw,3.6rem)/1.02 var(--site-font-heading,'Nunito Sans',sans-serif);color:var(--navy);letter-spacing:-.03em;margin:.9rem 0 .8rem;max-width:860px}
.tour-hero h1 span{color:var(--blue)}
.tour-hero .lead{max-width:760px;font-size:1.05rem;line-height:1.65}
.tour-hero-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.2rem}
.tour-facts{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;margin:1.3rem 0 0;padding:0}
.tour-facts li{padding:.45rem .9rem;border:1px solid #d5eafa;border-radius:999px;background:#fff;font-size:.88rem;font-weight:700;color:var(--navy)}
.tour-facts b{color:var(--blue)}
.tour-hero-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:2rem;align-items:center}
.has-clip .tour-hero-grid{grid-template-columns:minmax(0,1fr) auto}
.tour-clip{position:relative;margin:0;justify-self:center}
.tour-clip.is-tall{width:clamp(220px,21vw,290px)}
.tour-clip.is-wide{width:clamp(320px,38vw,520px)}
.tour-clip::before{content:"";position:absolute;inset:8% -14% -6%;border-radius:50%;background:radial-gradient(closest-side,#7fd3ff66,transparent);z-index:-1;pointer-events:none}
.tour-clip-screen{position:relative;overflow:hidden;border:7px solid #0b1640;border-radius:30px;background:#0b1640;box-shadow:0 28px 60px #0b2a6b40,0 4px 0 #ffffff inset}
.tour-clip.is-wide .tour-clip-screen{border-width:5px;border-radius:20px}
.tour-clip video{display:block;width:100%;height:100%;object-fit:cover;cursor:pointer;background:#0b1640}
.tour-clip-tag{position:absolute;top:12px;left:12px;display:inline-flex;align-items:center;gap:.35rem;padding:.32rem .7rem;border-radius:999px;background:#050e33b3;color:#fff;font-size:.78rem;font-weight:800;backdrop-filter:blur(6px);pointer-events:none}
.tour-clip-tag i{color:#9fe0ff}
.tour-clip-bar{position:absolute;right:10px;bottom:10px;left:10px;display:flex;justify-content:flex-end;gap:.4rem}
.tour-clip-bar button,.tour-clip-start{display:grid;place-items:center;border:0;border-radius:50%;background:#050e33b8;color:#fff;cursor:pointer;backdrop-filter:blur(6px);transition:transform .15s ease,background .15s ease}
.tour-clip-bar button{width:40px;height:40px;font-size:1.05rem}
.tour-clip-bar button:first-child{margin-right:auto}
.tour-clip-bar button:hover,.tour-clip-start:hover{background:var(--blue)}
.tour-clip-bar button:focus-visible,.tour-clip-start:focus-visible{outline:3px solid #9fe0ff;outline-offset:2px}
.tour-clip-start{position:absolute;top:50%;left:50%;width:68px;height:68px;margin:-34px 0 0 -34px;font-size:2rem;box-shadow:0 10px 30px #050e3366}
.tour-clip-start i{margin-left:4px}
.tour-clip.is-playing .tour-clip-start{opacity:0;pointer-events:none;transform:scale(.8)}
.tour-clip.is-broken :is(.tour-clip-bar,.tour-clip-start){display:none}
@media(max-width:991.98px){.has-clip .tour-hero-grid{grid-template-columns:minmax(0,1fr);gap:1.6rem}.tour-clip.is-tall{width:min(68vw,280px)}.tour-clip.is-wide{width:100%;max-width:560px}}
@media(prefers-reduced-motion:reduce){:is(.tour-clip-bar button,.tour-clip-start){transition:none}}
.tour.section-pad{padding-top:2rem}
.tour-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:1.6rem;align-items:start}
.tour-stage{position:relative;aspect-ratio:16/9;border-radius:1.4rem;overflow:hidden;background:#071444;box-shadow:0 22px 50px #07144429;outline:none}
.tour-stage:focus-visible{box-shadow:0 0 0 4px #39b9ff,0 22px 50px #07144429}
.tour-stage:fullscreen{border-radius:0;aspect-ratio:auto}
.tour-media,.tour-pano,.tour-google{position:absolute;inset:0}
.tour-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .45s ease}
.tour-photo.is-on{opacity:1;animation:tour-zoom 14s ease-out both}
@keyframes tour-zoom{from{transform:scale(1.06)}to{transform:scale(1)}}
.tour-google iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.tour-google-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.55) saturate(1.1)}
.tour-google-load{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem;border:0;background:radial-gradient(circle at 50% 45%,#0b5fcf66,transparent 60%);color:#fff;text-align:center;cursor:pointer}
.tour-google-load b{font:900 clamp(1.4rem,3vw,2.1rem) var(--site-font-heading,'Nunito Sans',sans-serif)}
.tour-google-load small{max-width:420px;font-size:.92rem;opacity:.92}
.tour-360{display:grid;place-items:center;width:84px;height:84px;border-radius:50%;background:#fff;color:var(--blue);font:900 1.35rem var(--site-font-heading,'Nunito Sans',sans-serif);box-shadow:0 0 0 10px #ffffff33;animation:tour-pulse 2.2s ease-in-out infinite}
@keyframes tour-pulse{50%{box-shadow:0 0 0 18px #ffffff14}}
.tour-top{position:absolute;top:14px;left:14px;right:14px;display:flex;align-items:center;gap:.5rem;z-index:3;pointer-events:none}
.tour-badge,.tour-kind{padding:.42rem .8rem;border-radius:999px;font-size:.85rem;font-weight:800;backdrop-filter:blur(8px);white-space:nowrap}
.tour-badge{min-width:0;overflow:hidden;text-overflow:ellipsis}
.tour-kind{flex:0 0 auto}
.tour-badge{background:#050e33b8;color:#fff}
.tour-kind{background:#ffffffd9;color:var(--blue)}
.tour-icon{margin-left:auto;width:42px;height:42px;border-radius:50%;border:0;display:grid;place-items:center;background:#050e33b8;color:#fff;font-size:1.05rem;pointer-events:auto;cursor:pointer}
.tour-nav{position:absolute;top:50%;z-index:3;width:48px;height:48px;margin-top:-24px;border:0;border-radius:50%;display:grid;place-items:center;background:#ffffffe6;color:var(--navy);font-size:1.3rem;box-shadow:0 8px 20px #050e3333;cursor:pointer;transition:transform .15s}
.tour-nav:hover{transform:scale(1.07)}
.tour-prev{left:14px}.tour-next{right:14px}
.tour-stage[data-kind="google"] .tour-nav{top:auto;bottom:14px;margin-top:0}
.tour-hint{position:absolute;left:50%;bottom:16px;z-index:3;transform:translateX(-50%);margin:0;padding:.4rem .9rem;border-radius:999px;background:#050e33b8;color:#fff;font-size:.82rem;font-weight:700;white-space:nowrap;pointer-events:none;animation:tour-hint 6s ease forwards}
@keyframes tour-hint{0%,70%{opacity:1}100%{opacity:0}}
.tour-dots{position:absolute;left:50%;bottom:16px;z-index:3;transform:translateX(-50%);display:flex;gap:6px}
.tour-dots button{width:10px;height:10px;padding:0;border:0;border-radius:50%;background:#ffffff8c;cursor:pointer}
.tour-dots button[aria-current="true"]{background:#fff;width:24px;border-radius:6px}
.tour-pano .pnlm-controls-container{top:auto;bottom:14px;left:auto;right:74px}
.tour-pano .pnlm-load-button{border-radius:14px}
.tour-error{position:absolute;inset:auto 1rem 1rem;color:#fff;font-weight:700}
.tour-info{margin-top:1.2rem;padding:1.4rem 1.5rem;border:1px solid var(--line);border-radius:1.2rem;background:#fff}
.tour-step{font-size:.8rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:var(--blue)}
.tour-info h2{font:900 clamp(1.6rem,2.6vw,2.1rem) var(--site-font-heading,'Nunito Sans',sans-serif);color:var(--navy);margin:.3rem 0 .6rem}
.tour-desc{font-size:1rem;line-height:1.65}
.tour-desc p:last-child{margin-bottom:0}
.tour-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}
.tour-side{position:sticky;top:96px;display:grid;gap:1rem}
.tour-side h3{font:900 1rem var(--site-font-heading,'Nunito Sans',sans-serif);color:var(--navy);margin:0 0 .6rem}
.tour-plan{padding:1rem;border:1px solid var(--line);border-radius:1.2rem;background:#fff}
.tour-plan-map{position:relative}
.tour-plan-map img{display:block;width:100%;height:auto;border-radius:.7rem}
.tour-pin{position:absolute;transform:translate(-50%,-50%);width:30px;height:30px;padding:0;border:3px solid #fff;border-radius:50%;background:var(--blue);color:#fff;font-weight:900;font-size:.8rem;box-shadow:0 4px 12px #050e3340;cursor:pointer;transition:transform .15s}
.tour-pin:hover{transform:translate(-50%,-50%) scale(1.15)}
.tour-pin.is-on{background:#ff4d6d;transform:translate(-50%,-50%) scale(1.2);animation:tour-pin 1.8s ease-in-out infinite}
@keyframes tour-pin{50%{box-shadow:0 0 0 10px #ff4d6d33}}
.tour-route-h{margin-top:.2rem!important}
.tour-route{list-style:none;margin:0;padding:0;display:grid;gap:.5rem;max-height:560px;overflow:auto}
.tour-route button{width:100%;display:flex;align-items:center;gap:.75rem;padding:.5rem;border:1px solid var(--line);border-radius:.9rem;background:#fff;text-align:left;cursor:pointer;transition:border-color .15s,background .15s}
.tour-route button:hover{border-color:#9ccdf6}
.tour-route button[aria-current="true"]{border-color:var(--blue);background:#eef8ff;box-shadow:inset 3px 0 0 var(--blue)}
.tour-route img{flex:0 0 76px;width:76px;height:54px;object-fit:cover;border-radius:.55rem;background:#e6f5ff}
.tour-route b{display:block;color:var(--navy);font-size:.92rem;line-height:1.2}
.tour-route small{display:block;color:#5f7aa3;font-size:.8rem;font-weight:700;margin-top:.15rem}
.tour-film{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.4rem;padding:1.6rem 1.8rem;border-radius:1.4rem;background:linear-gradient(120deg,#071b59,#0b5fcf);color:#e4f2ff}
.tour-film h2{font:900 clamp(1.6rem,2.6vw,2.2rem) var(--site-font-heading,'Nunito Sans',sans-serif);color:#fff;margin:.5rem 0}
.tour-film h2 span{color:#9fe0ff}
.tour-film p{margin:0;max-width:520px}
.tour-film-play{display:inline-flex;align-items:center;gap:.6rem;padding:.9rem 1.4rem;border:0;border-radius:999px;background:#fff;color:var(--blue);font-weight:900;cursor:pointer}
.tour-video{padding:0;border:0;background:transparent;width:min(960px,94vw);max-width:none}
.tour-video::backdrop{background:#050e33d9}
.tour-video-box{position:relative;padding-top:56px}
.tour-video-box .tour-icon{position:absolute;top:0;right:0;margin:0;background:#fff;color:var(--navy)}
.tour-video-frame{aspect-ratio:16/9;border-radius:1rem;overflow:hidden;background:#000}
.tour-video-frame iframe{width:100%;height:100%;border:0}
@media(max-width:991.98px){.tour-layout{grid-template-columns:1fr}.tour-side{position:static}.tour-route{max-height:none}}
@media(max-width:767.98px){.tour-stage{aspect-ratio:4/5;border-radius:1rem}.tour-pano .pnlm-controls-container{display:none}.tour-info{padding:1.1rem}.tour-nav{width:42px;height:42px;margin-top:-21px}}
@media(prefers-reduced-motion:reduce){.tour-photo.is-on,.tour-360,.tour-pin.is-on,.tour-hint{animation:none}}
/* Menu na laptopach 992–1199 px: wszystkie zakładki w jednej linii (także „Wirtualny spacer”). */
@media(min-width:992px) and (max-width:1199.98px){.main-nav .nav-link{padding:.6rem .5rem!important;font-size:.8rem;white-space:nowrap}.main-nav .cta-nav{padding:.7rem 1rem;font-size:.82rem;white-space:nowrap}}

/* Oznaczenie AI na zdjęciach (Biblioteka grafik → „Oznaczenie AI”): mała ikonka „AI” w kółku, jak ikona UE do oznaczania treści
   z AI (AI Act, art. 50); „i” — samo źródło zdjęcia. Kliknięcie / dotknięcie / najechanie rozwija opis „Wygenerowane przez AI · Źródło: …”. */
.ai-badge{position:absolute;z-index:4;right:auto;bottom:auto;margin:0;display:inline-flex;align-items:center;max-width:calc(100% - 12px);padding:0;border-radius:999px;background:transparent;color:#fff;font:700 .7rem/1.2 var(--site-font-body,Manrope,Arial,sans-serif);letter-spacing:.01em;white-space:nowrap;pointer-events:auto;cursor:pointer;-webkit-tap-highlight-color:transparent}
.ai-badge-icon{position:relative;flex:none;display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#000000a6;color:#fff;font:800 9.5px/1 var(--site-font-body,Manrope,Arial,sans-serif);letter-spacing:.02em;box-shadow:0 0 0 1px #ffffff47,0 1px 4px #0000004d;backdrop-filter:blur(4px)}
.ai-badge-icon:after{content:'';position:absolute;inset:-10px}
.ai-badge-icon.is-info{font:italic 700 12px/1 Georgia,'Times New Roman',serif}
.ai-badge-icon:focus-visible{outline:2px solid #fff;outline-offset:2px}
.ai-badge-more{display:none;align-items:center;gap:.3rem;min-width:0;overflow:hidden;padding:0 .65rem 0 .4rem}
.ai-badge.is-open,.ai-badge:has(.ai-badge-icon:focus-visible){background:#000000c2;backdrop-filter:blur(6px)}
.ai-badge.is-open .ai-badge-more,.ai-badge:has(.ai-badge-icon:focus-visible) .ai-badge-more{display:inline-flex}
@media(hover:hover){.ai-badge:hover{background:#000000c2;backdrop-filter:blur(6px)}.ai-badge:hover .ai-badge-more{display:inline-flex}}
@media(min-width:768px){.ai-badge-icon{width:24px;height:24px;font-size:10px}.ai-badge-icon.is-info{font-size:13px}}
.ai-badge.is-small .ai-badge-icon{width:18px;height:18px;font-size:8px}
.ai-badge.is-small .ai-badge-icon.is-info{font-size:10px}
.ai-badge.is-bg{right:10px;bottom:10px;top:auto!important;left:auto;flex-direction:row-reverse}
.ai-badge.is-bg .ai-badge-more{padding:0 .4rem 0 .65rem}
.ai-badge[hidden]{display:none!important}
.ai-badge-sep{opacity:.65}
.ai-badge .ai-badge-src{color:#fff!important;font-weight:700}
.ai-badge a.ai-badge-src{color:#fff!important;text-decoration:underline;text-decoration-color:#ffffff73;text-underline-offset:2px}
.ai-badge a.ai-badge-src:hover,.ai-badge a.ai-badge-src:focus-visible{color:#fff!important;text-decoration-color:#fff}
/* Stopka: co znaczy ikonka „AI” i źródła zdjęć z tej strony (dopisuje assets/ai-label.js) */
.ai-legend{margin:.45rem 0 0;font-size:.78rem;line-height:1.5}
.ai-legend a{display:inline!important;margin:0!important;padding:0!important;font-size:inherit!important;color:inherit;text-decoration:underline!important}
.ai-legend-icon{display:inline-grid;place-items:center;width:18px;height:18px;border:1.5px solid currentColor;border-radius:50%;font-size:7.5px;font-weight:800;line-height:1;vertical-align:-3px}
a.tour-ai.tour-credit{color:#fff;text-decoration:none;pointer-events:auto}a.tour-ai.tour-credit:hover{text-decoration:underline}
.tour-ai{display:inline-flex;align-items:center;gap:.3rem;padding:.42rem .8rem;border-radius:999px;background:#050e33b8;color:#fff;font-size:.8rem;font-weight:800;white-space:nowrap;backdrop-filter:blur(8px)}
.tour-ai i{color:#9fe0ff}
.tour-ai[hidden]{display:none}
/* Wirtualny spacer: oznaczenie AI też jako ikonka „AI” w kółku (pełny opis w podpowiedzi i dla czytników ekranu). */
.tour-ai[data-tour-ai]{justify-content:center;width:26px;height:26px;padding:0;border-radius:50%;background:#000000a6;font-size:10px;letter-spacing:.02em;box-shadow:0 0 0 1px #ffffff47}
.tour-ai[data-tour-ai] i,.tour-ai[data-tour-ai] .ai-badge-text{display:none}.tour-ai[data-tour-ai] .ai-badge-short{display:inline}

/* Aleja Sław — karta absolwenta: gdzie studiuje, gdzie się dostał(a), osiągnięcie */
.story-card{height:100%}
.story-university{align-items:flex-start}
.story-admitted{list-style:none;margin:.2rem 0 0;padding:0;display:grid;gap:.25rem;font-size:.84rem;line-height:1.35;color:#3a4f7a}
.story-admitted li{position:relative;padding-left:.9rem}
.story-admitted li::before{content:'';position:absolute;left:0;top:.5em;width:.38rem;height:.38rem;border-radius:50%;background:#39b9ff}
.story-more summary{margin-top:.35rem;font-size:.8rem;font-weight:800;color:var(--blue);cursor:pointer;list-style:none}
.story-more summary::-webkit-details-marker{display:none}
.story-more summary::before{content:'+ '}
.story-more[open] summary::before{content:'− '}
.story-more .story-admitted{margin-top:.3rem}
.story-note{display:flex;gap:.4rem;align-items:flex-start;margin:.15rem 0 .4rem;padding:.4rem .6rem;border-radius:.6rem;background:#fff6e0;color:#7a5300;font-size:.82rem;font-weight:700;line-height:1.35}
.story-note i{color:#e0a200}
.footer-credit{opacity:.75}
/* Sekcje treści ze zdjęciem — co druga ze zdjęciem po lewej (ładniejszy rytm długich stron). */
@media(min-width:992px){.section-media-left .container>.row{flex-direction:row-reverse}}
.section-media img{width:100%;aspect-ratio:4/3;object-fit:cover}
/* Nagłówki sekcji z tekstem — jak nagłówki sekcji z kartami (spójny wygląd długich podstron). */
.content-heading{font:900 clamp(2rem,3.4vw,3rem)/1.04 var(--site-font-heading,'Nunito Sans',sans-serif);color:var(--navy);letter-spacing:-.025em;margin-bottom:1rem}
.content-heading span{color:var(--blue)}
@media(max-width:575.98px){
}

/* Zdjęcia osób: stałe kadry dopasowane do ekranu, kadr na twarz (object-position z panelu / wykryty), małe zdjęcia bez rozciągania */
.story-photo{position:relative;aspect-ratio:4/3;overflow:hidden;background:linear-gradient(140deg,#d7f3ff,#e8efff 60%,#fff)}
.story-photo .story-img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.story-card:hover .story-photo .story-img{transform:scale(1.04)}
.story-photo.is-lowres{display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,#ffffff 0,#e3f4ff 55%,#cfeaff 100%)}
.story-photo.is-lowres .story-img{width:128px;height:128px;border-radius:50%;border:4px solid #fff;box-shadow:0 10px 26px #0b3a8a26}
.staff-photo.is-lowres{display:grid;place-items:start center}
.staff-photo .staff-photo-bg{position:absolute;inset:-8%;width:116%;height:116%;object-fit:cover;filter:blur(18px) saturate(1.1);opacity:.85;transform:none!important}
.staff-photo.is-lowres .staff-photo-img{position:relative;z-index:1;width:min(62%,180px);height:auto;aspect-ratio:1;margin-top:14%;border-radius:1rem;border:4px solid #ffffffd9;box-shadow:0 14px 30px #0818524d}
@media(max-width:575.98px){
  /* Telefon: zdjęcie obok tekstu w stałym, niewysokim kadrze (nie rozciąga się z wysokością karty). */
  .staff-card{grid-template-columns:112px minmax(0,1fr)}
  .staff-photo{aspect-ratio:4/5;min-height:0;align-self:start;margin:.85rem 0 .85rem .85rem;border-radius:.9rem}
  .staff-photo.is-lowres .staff-photo-img{width:100%;height:100%;margin:0;border:0;border-radius:0;aspect-ratio:auto;box-shadow:none}
  .staff-photo .staff-photo-bg{display:none}
  .story-card{display:grid;grid-template-columns:104px minmax(0,1fr);align-items:start}
  .story-photo,.story-photo.is-lowres{aspect-ratio:1;margin:.85rem 0 0 .85rem;border-radius:.9rem;display:block}
  .story-photo.is-lowres .story-img{width:100%;height:100%;border:0;border-radius:0;box-shadow:none}
  .story-photo .story-img[style*="--pos-sq"]{object-position:var(--pos-sq)!important}
  .staff-photo.is-lowres .staff-photo-img[style*="--pos-tall"]{object-position:var(--pos-tall)!important}
  .story-card .p-3{padding:.85rem!important}
}

/* ===== Wszystkie grafiki na różnych ekranach (31.10) =====
   Wymiary w <img> (width/height) tylko rezerwują miejsce — rozmiar dalej ustala CSS.
   Punkt ważny grafiki tła (twarz albo miejsce kliknięte w Bibliotece grafik) zostaje w kadrze na każdym ekranie.
   Zdjęcia w kartach mają stały kształt, więc karty w rzędzie są równe. */
:where(img[width][height]){height:auto}
:is(.page-hero,.vertical-promo,.top-promo-copy,.horizontal-promo,.cta-block,.home-news-cta)[style*="--cms-bg-pos:"]{background-position:var(--cms-bg-pos)!important}
.card-photo{display:block;width:100%;aspect-ratio:16/9;height:auto;object-fit:cover;background:#eef7ff}
/* Grafika kursu (zalecana 1680 × 720) i okładka wpisu (1200 × 630) — kadr w ich proporcjach, więc nic się nie ucina. */
.card-photo.is-banner{aspect-ratio:7/3}
.card-photo.is-cover{aspect-ratio:40/21}
.course-card .card-photo{margin-bottom:1rem}
@media(max-width:991.98px){
  /* Nagłówek podstrony: grafika stoi przy dolnej krawędzi — przesuwamy ją tylko w poziomie. */
  .page-hero.is-text-all[style*="--cms-bg-pos:"]:not(.page-hero-category){background-position:var(--cms-bg-x) bottom!important}
}
@media(max-width:767.98px){
  :is(.page-hero,.vertical-promo,.top-promo-copy,.horizontal-promo,.cta-block,.home-news-cta)[style*="--cms-bg-pos-m:"]{background-position:var(--cms-bg-pos-m)!important}
  .page-hero.is-text-all[style*="--cms-bg-pos-m:"]:not(.page-hero-category){background-position:var(--cms-bg-x-m) bottom!important}
}
/* Grafiki z szablonu (img/…) w lżejszych kopiach dopisuje site_template_light_css() — tylko gdy kopie są na serwerze. */

/* ===== Strona przedmiotu: nauczyciele (31.10) =====
   Pasek z twarzami w nagłówku, sekcja „Z kim będziesz się uczyć?” (1 osoba — duża karta, 2 — dwie poziome,
   więcej — siatka; na telefonie przewijany rząd), prowadzący w panelu kursu i na kartach kursów. */
.t-faces{display:inline-flex;flex:0 0 auto;align-items:center}
.t-face{display:inline-grid;place-items:center;flex:0 0 auto;width:40px;height:40px;border-radius:50%;object-fit:cover;border:2.5px solid #fff;background:#e6f5ff;box-shadow:0 2px 7px #08185224;color:#0b5fcf;font:900 .8rem/1 var(--site-font-heading,'Nunito Sans',sans-serif);transition:margin .25s ease}
.t-faces .t-face+.t-face{margin-left:-12px}
.t-face.t-more{background:var(--navy);color:#fff;font-size:.74rem}
.subject-teacher-pill{display:inline-flex;align-items:center;gap:.8rem;max-width:100%;margin-top:1.4rem;padding:.42rem 1rem .42rem .45rem;border:1px solid #d6ebfb;border-radius:999px;background:#fff;box-shadow:0 10px 26px #087cff17;color:var(--navy);text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}
.subject-teacher-pill:hover{transform:translateY(-2px);box-shadow:0 14px 30px #087cff29;color:var(--navy)}
.subject-teacher-pill:hover .t-face+.t-face{margin-left:-5px}
.stp-text{display:flex;flex-direction:column;min-width:0;line-height:1.2}
.stp-text small{color:#527198;font-size:.7rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.stp-text b{overflow:hidden;font-size:.92rem;font-weight:900;white-space:nowrap;text-overflow:ellipsis}
.subject-teacher-pill>.bi{flex:0 0 auto;margin-left:.15rem;color:var(--blue);font-size:1.05rem;line-height:1}
/* Nauczyciele przedmiotu — spokojnie: mały nagłówek i zwarte karty */
.st-head h2{margin:0;color:var(--navy);font:900 clamp(1.3rem,2vw,1.55rem)/1.2 var(--site-font-heading,'Nunito Sans',sans-serif);letter-spacing:-.01em}
.st-head p{margin:.35rem 0 0;color:#6a84a8;font-size:.92rem}
.st-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:.85rem;margin-top:1.1rem}
.st-list.st-one{grid-template-columns:minmax(0,560px)}
.st-card{display:flex;align-items:flex-start;gap:.95rem;padding:.9rem 1rem;border:1px solid #e1effa;border-radius:1rem;background:#fff;transition:border-color .2s ease,box-shadow .2s ease}
.st-card:hover{border-color:#c7e2f8;box-shadow:0 8px 22px #087cff12}
.st-photo{flex:0 0 76px;width:76px;height:76px;overflow:hidden;border-radius:.9rem;background:linear-gradient(150deg,#e4f5ff,#c6e5fd)}
.st-img{display:block;width:100%;height:100%;object-fit:cover}
.st-placeholder{display:grid;place-items:center}
.st-initials{display:grid;place-items:center;width:100%;height:100%;border:0;border-radius:0;background:transparent;color:#0b5fcf;font:900 1.4rem/1 var(--site-font-heading,'Nunito Sans',sans-serif)}
.st-body{display:flex;flex:1;flex-direction:column;gap:.2rem;min-width:0}
.st-name{margin:0;color:var(--navy);font:900 1.02rem/1.25 var(--site-font-heading,'Nunito Sans',sans-serif)}
.st-name a{color:inherit;text-decoration:none}
.st-name a:hover{color:var(--blue)}
.st-attr{display:flex;align-items:center;gap:.3rem;margin:0;color:#527198;font-size:.78rem;font-weight:800}
.st-attr .bi{color:var(--st-accent,var(--blue))}
.st-subjects{margin:0;color:#6a84a8;font-size:.8rem;font-weight:700}
.st-subjects a{color:#3f6390;text-decoration:none;border-bottom:1px solid #cfe4f6}
.st-subjects a:hover{color:var(--blue);border-color:currentColor}
.st-bio{display:-webkit-box;overflow:hidden;margin:.15rem 0 0;color:#56739a;font-size:.84rem;line-height:1.45;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.st-links{display:flex;flex-wrap:wrap;gap:.2rem 1rem;margin:.3rem 0 0}
.st-more{color:var(--blue);font-size:.82rem;font-weight:900;text-decoration:none}
.st-more .bi{display:inline-block;transition:transform .2s ease}
.st-more:hover .bi{transform:translateX(3px)}
.st-all{margin:.9rem 0 0;font-size:.86rem}
.st-all a{color:#3f6390;font-weight:800;text-decoration:none}
.st-all a:hover{color:var(--blue)}
.panel-teachers{display:grid;gap:.45rem;margin:.9rem 0 .7rem;padding:0;list-style:none}
.panel-teachers a{display:flex;align-items:center;gap:.7rem;padding:.38rem .5rem;border-radius:.8rem;color:var(--navy);text-decoration:none;transition:background .2s}
.panel-teachers a:hover{background:#eef7ff}
.panel-teachers .t-face{width:52px;height:52px}
.panel-teachers span{display:flex;flex-direction:column;min-width:0;line-height:1.2}
.panel-teachers b{font-size:.95rem;font-weight:900}
.panel-teachers small{color:#527198;font-size:.78rem;font-weight:700}
.subject-course-teachers{display:flex;align-items:center;gap:.6rem;margin:-.2rem 0 1rem;padding:.5rem .65rem;border-radius:.8rem;background:#f4faff}
.subject-course-teachers .t-face{width:34px;height:34px;border-width:2px}
.subject-course-teachers .t-faces .t-face+.t-face{margin-left:-10px}
.subject-course-teachers>span{display:flex;flex-direction:column;min-width:0;line-height:1.2}
.subject-course-teachers small{color:#527198;font-size:.68rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}
.subject-course-teachers b{overflow:hidden;color:var(--navy);font-size:.85rem;white-space:nowrap;text-overflow:ellipsis}
@media(max-width:575.98px){
  .subject-teacher-pill{display:flex;width:100%;border-radius:1.4rem}
  .stp-text b{display:-webkit-box;white-space:normal;-webkit-line-clamp:3;-webkit-box-orient:vertical;line-height:1.25}
  .st-list{grid-template-columns:minmax(0,1fr);gap:.65rem}
  .st-card{padding:.8rem .85rem;gap:.8rem}
  .st-photo{flex-basis:64px;width:64px;height:64px}
}
@media(prefers-reduced-motion:reduce){.st-card,.st-more .bi,.subject-teacher-pill{transition:none}}

/* Polityka prywatności i cookies */
.legal-hero{padding:3rem 0 1.6rem;background:radial-gradient(circle at 88% 10%,#b9eeff,transparent 30%),linear-gradient(110deg,#fff 20%,#f1fbff 65%,#e2f5ff)}
.legal-hero h1{font:900 clamp(2.1rem,4vw,3.3rem)/1.05 var(--site-font-heading,'Nunito Sans',sans-serif);color:var(--navy);letter-spacing:-.03em;margin:.9rem 0 1.2rem}
.legal-short{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.7rem;max-width:1050px}
.legal-short li{display:flex;gap:.7rem;align-items:flex-start;padding:.9rem 1rem;border:1px solid #d5eafa;border-radius:1rem;background:#fff;font-size:.92rem;line-height:1.5;color:var(--navy)}
.legal-short i{flex:none;display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:50%;background:#e4f5ff;color:var(--blue);font-size:1.05rem}
.legal{padding-top:2.4rem}
.legal-wrap{display:grid;grid-template-columns:230px minmax(0,1fr);gap:2.5rem;align-items:start}
.legal-toc{position:sticky;top:96px;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:1rem;background:#fff}
.legal-toc b{display:block;font:900 .8rem var(--site-font-heading,'Nunito Sans',sans-serif);color:var(--navy);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.5rem}
.legal-toc ol{margin:0;padding-left:1.1rem;display:grid;gap:.35rem;font-size:.9rem}
.legal-toc a{color:#36507f;text-decoration:none;font-weight:700}
.legal-toc a:hover{color:var(--blue)}
.legal-body{max-width:820px;font-size:.98rem;line-height:1.7}
.legal-body h2{font:900 clamp(1.35rem,2.2vw,1.7rem) var(--site-font-heading,'Nunito Sans',sans-serif);color:var(--navy);margin:2.2rem 0 .8rem;scroll-margin-top:100px}
.legal-body h2:first-child{margin-top:0}
.legal-h3{font:900 1.1rem var(--site-font-heading,'Nunito Sans',sans-serif);color:var(--navy);margin:1.4rem 0 .6rem}
.legal-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:.9rem;margin-bottom:1rem}
.legal-card{padding:1.1rem 1.2rem;border:1px solid var(--line);border-radius:1rem;background:#fff;box-shadow:0 5px 15px #087cff08}
.legal-card h3{display:flex;align-items:center;gap:.55rem;font:900 1.02rem var(--site-font-heading,'Nunito Sans',sans-serif);color:var(--navy);margin:0 0 .7rem}
.legal-card h3 i{color:var(--blue)}
.legal-card dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:.35rem .9rem;font-size:.9rem;line-height:1.55}
.legal-card dt{font-weight:800;color:#5a6f95}
.legal-card dd{margin:0;color:var(--text)}
.legal-cookie{margin-bottom:1rem;max-width:620px}
.legal-cookie code{font-size:.85em;color:var(--navy);background:#eef7ff;padding:.1rem .35rem;border-radius:.35rem;word-break:break-all}
.legal-list{padding-left:1.2rem;display:grid;gap:.35rem}
.legal-cta{margin-top:2rem}
.footer-bottom .footer-legal{display:inline;margin:0 0 0 .4rem;font-size:inherit;color:inherit;text-decoration:underline}
.form-privacy{margin:.5rem 0 0;font-size:.82rem;color:#587398}
@media(max-width:991.98px){.legal-wrap{grid-template-columns:minmax(0,1fr);gap:1.4rem}.legal-toc{position:static}}
@media(max-width:575.98px){.legal-cards{grid-template-columns:minmax(0,1fr)}.legal-card dl{grid-template-columns:minmax(0,1fr);gap:.1rem}.legal-card dd{margin-bottom:.45rem}}

/* Harmonogram kursu: na kartach kursów i na stronie kursu */
.course-when{display:flex;align-items:flex-start;gap:.6rem;margin:0 0 1rem;padding:.6rem .75rem;border-radius:.8rem;background:#f2f9ff;color:var(--navy)}
.course-when>.bi{flex:none;margin-top:.1rem;color:var(--blue);font-size:1.05rem}
.course-when>span{display:flex;flex-direction:column;gap:.1rem;min-width:0;line-height:1.3}
.course-when b{font-size:.86rem;font-weight:900}
.course-when small{color:#527198;font-size:.76rem;font-weight:700}
.course-when b+small+b,.course-when small+b{margin-top:.35rem}
.course-when.is-empty{background:#f6f8fb}
.course-when.is-empty>.bi{color:#8aa2c2}
.course-when-more{font-style:italic}
.course-schedule .cs-head h2{margin:0;color:var(--navy);font:900 clamp(1.4rem,2.2vw,1.8rem)/1.2 var(--site-font-heading,'Nunito Sans',sans-serif)}
.course-schedule .cs-head p{display:flex;align-items:center;gap:.35rem;margin:.4rem 0 0;color:#527198;font-size:.9rem}
.course-schedule .cs-head p .bi{color:var(--blue)}
.cs-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:.8rem;margin-top:1.1rem}
.cs-item{display:flex;align-items:flex-start;gap:.85rem;padding:1rem 1.1rem;border:1px solid #d8ebf9;border-radius:1rem;background:#fff;box-shadow:0 6px 18px #087cff0d}
.cs-ico{flex:none;display:grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:.8rem;background:#e7f5ff;color:var(--blue);font-size:1.2rem}
.cs-text{display:flex;flex:1;flex-direction:column;gap:.2rem;min-width:0}
.cs-text b{color:var(--navy);font-size:1.02rem;font-weight:900;line-height:1.3}
.cs-text small{color:#527198;font-size:.82rem;font-weight:700}
.cs-text small .bi{color:var(--blue)}
.cs-time{display:inline-flex;align-items:center;gap:.25rem;margin-left:.3rem;color:var(--blue);white-space:nowrap}
.cs-state{flex:none;align-self:center;padding:.25rem .6rem;border-radius:999px;background:#fff3d6;color:#7a4b00;font-size:.74rem;font-weight:900;white-space:nowrap}
.cs-item.is-full .cs-state,.cs-item.is-closed .cs-state{background:#eef2f7;color:#56708f}
.cs-item.is-empty{background:#f8fbfe;box-shadow:none}
.cs-note{margin:.9rem 0 0;color:#527198;font-size:.88rem}
.cs-note a{font-weight:900;text-decoration:none}
@media(max-width:575.98px){.cs-list{grid-template-columns:minmax(0,1fr)}.cs-item{flex-wrap:wrap}.cs-state{margin-left:3.45rem}}
/* Kurs egzaminacyjny: program krok po kroku, „Egzamin w pigułce”, dopisek o wytycznych OKE (app/exams.php) */
.course-program .section-heading{max-width:760px}
.course-program .section-heading p{margin-top:.5rem;color:#4b6592}
.cp-list ol{list-style:none;counter-reset:cp;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;margin:1.6rem 0 0;padding:0}
.cp-list li{counter-increment:cp;position:relative;padding:1.05rem 1.15rem 1.1rem 4.1rem;border:1px solid #d8ebf9;border-radius:1rem;background:#fff;box-shadow:0 6px 18px #087cff0d;font-size:.93rem;line-height:1.55;color:var(--text)}
.cp-list li::before{content:counter(cp);position:absolute;left:1.05rem;top:1rem;display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:.7rem;background:linear-gradient(135deg,#0aa0f0,#0875ff);color:#fff;font:900 1rem/1 var(--site-font-heading,'Nunito Sans',sans-serif)}
.cp-list li strong{display:block;margin-bottom:.15rem;color:var(--navy);font:900 1.02rem/1.3 var(--site-font-heading,'Nunito Sans',sans-serif)}
.cp-list li:last-child:nth-child(odd){grid-column:1/-1}
.cp-list>ul,.cp-list>p{max-width:760px;margin-top:1.2rem}
.course-exam .course-card:hover,.exam-card:hover{transform:none}
.course-exam .course-card h2{margin:1.1rem 0 .55rem;color:var(--navy);font:900 1.35rem/1.25 var(--site-font-heading,'Nunito Sans',sans-serif)}
.course-exam .course-card p{min-height:0;font-size:.95rem;margin-bottom:.6rem}
.course-exam .course-card ul{padding-left:1.15rem;margin-bottom:0}
.exam-aud{display:flex;flex-direction:column}
.exam-ask{margin-top:auto;padding-top:1.2rem;white-space:normal;text-decoration:none}
.course-exam .course-card li{margin-bottom:.3rem}
.exam-card-sub{min-height:0!important;margin:-.2rem 0 1rem;color:#527198;font-size:.86rem!important;font-weight:700}
.exam-facts{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1.1rem;margin:0;padding:0!important}
.exam-facts li{display:flex;gap:.7rem;align-items:flex-start;margin:0!important;padding:.75rem .8rem;border-radius:.85rem;background:#f4faff}
.exam-facts .bi{flex:none;display:grid;place-items:center;width:2.1rem;height:2.1rem;border-radius:.65rem;background:#e2f3ff;color:var(--blue);font-size:1.02rem}
.exam-facts b{display:block;color:var(--navy);font-size:.9rem;font-weight:900}
.exam-facts span{display:block;font-size:.85rem;line-height:1.5}
/* Prowadzący kursu — mała sekcja na dole strony kursu */
.course-teachers{padding:0 0 2.6rem}
.ct-box{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem 1.2rem;padding:.8rem 1rem;border:1px solid #e1effa;border-radius:1rem;background:#fbfdff}
.ct-label{display:inline-flex;align-items:center;gap:.4rem;margin:0;color:#527198;font:900 .76rem/1 var(--site-font-heading,'Nunito Sans',sans-serif);letter-spacing:.07em;text-transform:uppercase}
.ct-label .bi{color:var(--blue);font-size:1rem}
.ct-list{display:flex;flex:1;flex-wrap:wrap;gap:.55rem;min-width:0}
.ct-person{display:flex;align-items:center;gap:.6rem;max-width:100%;padding:.32rem .85rem .32rem .32rem;border:1px solid #dcebf8;border-radius:999px;background:#fff;color:var(--navy);text-decoration:none;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.ct-person:hover{border-color:var(--blue);box-shadow:0 6px 16px #087cff17;transform:translateY(-1px);color:var(--navy)}
.ct-face{width:44px;height:44px;border-width:2px;box-shadow:none}
.ct-text{display:flex;flex-direction:column;min-width:0;line-height:1.2}
.ct-text b{font-size:.92rem;font-weight:900}
.ct-text small{overflow:hidden;max-width:34ch;color:#6a84a8;font-size:.76rem;font-weight:700;white-space:nowrap;text-overflow:ellipsis}
.ct-person>.bi{flex:none;color:var(--blue);font-size:.85rem;transition:transform .2s ease}
.ct-person:hover>.bi{transform:translateX(2px)}
@media(max-width:575.98px){.ct-box{display:block;padding:.85rem}.ct-label{margin-bottom:.65rem}.ct-list{flex-direction:column}.ct-person{border-radius:.9rem}.ct-person>.bi{margin-left:auto}.ct-text small{max-width:none;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}
.course-filter-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin:1.4rem 0 .4rem}
.course-filter-wrap .course-filter{margin:0}
.course-filter-label{color:var(--navy);font-weight:900;font-size:.95rem}
@media(max-width:767.98px){.course-filter-wrap{display:block}.course-filter-label{display:block;margin-bottom:.5rem}.course-filter-wrap .course-filter{flex-wrap:nowrap;overflow-x:auto;margin-inline:calc(var(--bs-gutter-x,1.5rem)*-.5);padding:0 calc(var(--bs-gutter-x,1.5rem)*.5) .35rem;scrollbar-width:none}.course-filter-wrap .course-filter::-webkit-scrollbar{display:none}.course-filter .staff-chip{flex:none}}
[data-course-subjects][hidden],[data-course-block][hidden]{display:none!important}
.course-block+.course-block{margin-top:2.6rem}
.course-block-title{display:flex;align-items:center;gap:.6rem;margin:0;color:var(--navy);font:900 clamp(1.35rem,2.2vw,1.7rem)/1.2 var(--site-font-heading,'Nunito Sans',sans-serif)}
.course-block-title::after{content:'';flex:1;height:1px;background:#d8ebf9}
.course-levels+.course-levels{margin-top:-.35rem}
.course-levels{display:flex;align-items:center;gap:.35rem;margin:-.2rem 0 .55rem;color:var(--blue);font-size:.8rem;font-weight:800}
.exam-facts li:last-child:nth-child(odd){grid-column:1/-1}
.oke-note{display:flex;gap:1rem;align-items:flex-start;padding:1.25rem 1.4rem;border:1px solid #cfe6f8;border-radius:1rem;background:linear-gradient(110deg,#f5fbff,#eaf6ff)}
.oke-ico{flex:none;display:grid;place-items:center;width:2.7rem;height:2.7rem;border-radius:50%;background:#fff;color:var(--blue);font-size:1.35rem;box-shadow:0 4px 12px #087cff1a}
.oke-note b{display:block;color:var(--navy);font:900 1.05rem/1.3 var(--site-font-heading,'Nunito Sans',sans-serif)}
.oke-note p{margin:.35rem 0 0;font-size:.88rem;line-height:1.55}
.oke-links{display:flex;flex-wrap:wrap;gap:.45rem .6rem;margin-top:.7rem!important}
.oke-links a{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .7rem;border:1px solid #cfe3f6;border-radius:999px;background:#fff;color:var(--blue);font-size:.8rem;font-weight:800;text-decoration:none}
.oke-links a:hover{border-color:var(--blue)}
.oke-links .bi{font-size:.72rem}
@media(max-width:767.98px){.cp-list ol,.exam-facts{grid-template-columns:minmax(0,1fr)}.cp-list li:last-child:nth-child(odd){grid-column:auto}.oke-note{padding:1.05rem}.oke-ico{display:none}}
