
.school-page{background:linear-gradient(180deg,#fffaf4 0,#fffdf9 100%)}
.school-hero{position:relative;overflow:hidden;padding:28px 0 86px}
.school-hero:before,.school-hero:after{content:"";position:absolute;border-radius:50%;filter:blur(2px);z-index:0;opacity:.45}
.school-hero:before{width:280px;height:280px;background:#d8ebff;left:-120px;top:40px}
.school-hero:after{width:220px;height:220px;background:#ffe2c2;right:-90px;bottom:20px}
.school-hero-grid,.school-benefits-grid,.school-process-grid,.school-rewards-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:48px;align-items:center;position:relative;z-index:1}
.school-hero-copy h1{font-size:clamp(44px,5.3vw,68px);line-height:1.03;letter-spacing:-3px;margin:18px 0 22px}
.school-hero-copy h1 span{color:var(--blue)}
.school-hero-copy p{font-size:18px;color:var(--muted);max-width:650px;margin:0 0 28px}
.school-hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.school-highlights{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:32px}
.school-highlights li{list-style:none;background:#fff;border:1px solid var(--border);border-radius:18px;padding:16px 18px;font-size:14px;box-shadow:0 12px 30px rgba(69,45,32,.05)}
.school-highlights b{display:block;font-size:16px;margin-bottom:4px}
.school-hero-visual{position:relative}
.school-photo-wrap{background:#fff;border:1px solid var(--border);border-radius:34px;padding:14px;box-shadow:var(--shadow)}
.school-photo-wrap img{width:100%;height:540px;object-fit:cover;border-radius:26px}
.school-float{position:absolute;background:#fff;border:1px solid var(--border);box-shadow:0 16px 35px rgba(69,45,32,.12);border-radius:18px;padding:14px 16px;display:flex;gap:12px;align-items:center}
.school-float strong{display:block;font-size:22px;color:var(--blue)}
.school-float small{display:block;font-size:12px;color:var(--muted)}
.float-class{left:-12px;top:18px}
.float-class span{width:52px;height:52px;border-radius:16px;background:#e8f2ff;color:var(--blue);display:grid;place-items:center;font-weight:900}
.float-cabinet{right:-12px;bottom:24px}
.float-cabinet span{font-size:27px}
.class-section{padding-top:104px}
.class-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.class-card{position:relative;overflow:hidden;border-radius:28px;min-height:330px;border:1px solid var(--border);background:#fff;box-shadow:0 12px 30px rgba(69,45,32,.05);display:block}
.class-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.class-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,16,22,.06) 0%,rgba(10,16,22,.65) 100%)}
.class-card-copy{position:absolute;left:0;right:0;bottom:0;padding:24px;color:#fff;z-index:1}
.class-number{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:18px;background:rgba(255,255,255,.2);backdrop-filter:blur(6px);font-size:26px;font-weight:900;margin-bottom:14px}
.class-card h3{font-size:26px;margin:0 0 8px}
.class-card p{font-size:14px;line-height:1.6;margin:0;max-width:240px;color:#eef5fb}
.subjects-strip{padding-top:104px}
.subject-card-wrap{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center}

.subject-copy{padding:18px 0}
.subject-note{display:flex;flex-direction:column;justify-content:center}
.subject-copy h2,.school-process-copy h2,.school-reward-copy h2{font-size:clamp(34px,4vw,50px);line-height:1.08;letter-spacing:-2px;margin:10px 0 16px}
.subject-copy p,.school-process-copy p,.school-reward-copy p{color:var(--muted);font-size:16px}
.subject-cloud{display:flex;flex-wrap:wrap;gap:12px}
.subject-cloud span{padding:13px 16px;border-radius:999px;background:#fff;border:1px solid var(--border);font-weight:800;font-size:14px;box-shadow:0 10px 20px rgba(69,45,32,.05)}
.subject-note{background:linear-gradient(135deg,#2f77a7 0,#588db3 100%);color:#fff;border-radius:30px;padding:30px;min-height:100%;box-shadow:var(--shadow)}
.subject-note h3{font-size:28px;margin:8px 0 12px}
.subject-note p{color:#e4f1fb;margin:0 0 18px}
.subject-note ul{margin:0;padding-left:18px;color:#fff}
.subject-note li{margin:8px 0}
.school-benefits-grid{gap:28px}
.teacher-points{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.teacher-point{background:#fff;border:1px solid var(--border);border-radius:22px;padding:22px;min-height:170px;box-shadow:0 10px 25px rgba(69,45,32,.05)}
.teacher-point b{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:12px;background:#eef5ff;color:var(--blue);font-size:15px;margin-bottom:16px}
.teacher-point h3{font-size:19px;margin:0 0 8px}
.teacher-point p{font-size:14px;color:var(--muted);margin:0}
.cabinet-preview{background:#f4f8fd;border:1px solid #d7e6f3;border-radius:28px;padding:22px;box-shadow:var(--shadow)}
.cabinet-panel{display:grid;grid-template-columns:220px 1fr;gap:18px;align-items:start}
.cabinet-menu,.cabinet-card{background:#fff;border-radius:22px;border:1px solid #dce8f2}
.cabinet-menu{padding:20px}
.cabinet-menu strong{display:block;font-size:15px;margin-bottom:14px}
.cabinet-menu span{display:block;padding:11px 12px;border-radius:14px;margin-bottom:8px;background:#f5f9fe;font-size:13px;font-weight:700}
.cabinet-card{padding:24px}
.cabinet-card h3{font-size:28px;margin:0 0 12px}
.cabinet-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}
.cabinet-stats div{background:#f5f9fe;border-radius:16px;padding:12px}
.cabinet-stats strong{display:block;font-size:22px;color:var(--blue)}
.cabinet-stats span{font-size:11px;color:var(--muted)}
.cabinet-actions{display:flex;gap:10px;flex-wrap:wrap}
.cabinet-actions span{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:999px;background:#fff;border:1px solid #dbe7f1;font-size:13px;font-weight:800}
.school-catalog .olympiad-cover{height:240px}
.school-process{padding-top:104px}
.school-process-band{background:#254d84;color:#fff;border-radius:34px;padding:48px;box-shadow:var(--shadow)}
.school-steps{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.school-step{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:18px;min-height:145px}
.school-step b{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#ffca61;color:#254d84;font-size:13px}
.school-step span{display:block;margin-top:18px;font-size:15px;line-height:1.45;font-weight:700;color:#fff}
.school-reward-list{display:grid;gap:12px;margin:24px 0 32px}
.school-reward-list li{list-style:none;display:flex;gap:12px;align-items:flex-start;font-size:15px}
.school-reward-list span{flex:0 0 28px;width:28px;height:28px;border-radius:10px;background:#e7f3ff;color:var(--blue);display:grid;place-items:center;font-weight:900}
.school-reward-photo{background:#fff;border:1px solid var(--border);border-radius:32px;padding:14px;box-shadow:var(--shadow)}
.school-reward-photo img{border-radius:24px;width:100%;height:100%;object-fit:cover}
.school-page .final-card{background:#356ea0}
.school-page .final-card .section-kicker{color:#d9ecff}
.school-page .final-card p{color:#e5f2fc}
@media(max-width:1020px){.school-hero-grid,.school-benefits-grid,.school-process-grid,.school-rewards-grid,.subject-card-wrap{grid-template-columns:1fr}.class-grid{grid-template-columns:repeat(2,1fr)}.school-steps{grid-template-columns:repeat(3,1fr)}.cabinet-panel{grid-template-columns:1fr}.school-photo-wrap img{height:440px}}
@media(max-width:760px){.school-hero{padding-bottom:72px}.school-hero-copy h1{font-size:42px;letter-spacing:-2px}.school-hero-copy p{font-size:16px}.school-hero-actions{flex-direction:column}.school-highlights{grid-template-columns:1fr}.school-photo-wrap img{height:360px}.school-float{position:static;margin-top:12px}.class-grid,.teacher-points{grid-template-columns:1fr}.subject-copy h2,.school-process-copy h2,.school-reward-copy h2{font-size:36px;letter-spacing:-1.3px}.school-process-band{padding:32px 24px}.school-steps{grid-template-columns:1fr 1fr}.school-step{min-height:120px}.cabinet-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:430px){.school-steps{grid-template-columns:1fr}.cabinet-stats{grid-template-columns:1fr}.school-photo-wrap img{height:320px}}

/* Visual audit corrections */
.school-photo-wrap img{object-position:center 52%}
.school-benefits h2{font-size:clamp(38px,4vw,50px);line-height:1.08;letter-spacing:-2px;margin:10px 0 16px}
.subject-note .section-kicker{color:#d9efff}
.school-process-band .section-kicker{color:#ffcf6d}
.school-process-grid{grid-template-columns:1fr;gap:30px}
.school-process-copy{max-width:860px}
.school-process-copy p{color:#dce9f6;max-width:820px;margin:0}
.school-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.school-step{min-height:142px}
.school-catalog .olympiad-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.school-catalog .olympiad-cover{height:195px}
.school-catalog .olympiad-body{padding:20px}
.school-catalog .olympiad-body h3{font-size:18px}
.school-catalog .olympiad-body p{font-size:12px;line-height:1.55}
.school-catalog .price strong{font-size:18px}
@media(max-width:1020px){
  .school-catalog .olympiad-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .school-catalog .olympiad-cover{height:230px}
  .school-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .school-highlights{grid-template-columns:repeat(2,minmax(0,1fr))}
  .school-highlights li{padding:14px;font-size:12px}
  .school-highlights b{font-size:14px}
  .school-benefits h2{font-size:36px;letter-spacing:-1.3px}
  .cabinet-menu{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .cabinet-menu strong{grid-column:1/-1;margin-bottom:4px}
  .cabinet-menu span{margin:0}
  .cabinet-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .school-process-band{padding:34px 24px}
  .school-process-copy h2{font-size:38px;letter-spacing:-1.5px}
  .school-steps{grid-template-columns:1fr}
  .school-step{min-height:112px;padding:18px}
  .school-catalog .olympiad-grid{grid-template-columns:1fr}
  .school-catalog .olympiad-cover{height:220px}
}
@media(max-width:350px){
  .school-highlights,.cabinet-menu,.cabinet-stats{grid-template-columns:1fr}
  .cabinet-menu strong{grid-column:auto}
}
.school-reward-photo img{height:auto}


/* Section spacing corrections: prevent blocks from touching the upper section edge */
.class-section,
.subjects-strip,
.school-process{padding-top:104px}
@media(max-width:1020px){
  .class-section,
  .subjects-strip,
  .school-process{padding-top:88px}
}
@media(max-width:760px){
  .class-section,
  .subjects-strip,
  .school-process{padding-top:72px}
}
