/* REGENE — wspólny arkusz stylów (v2 multi-page) */
:root{
  --aubergine:#301339; --aubergine-2:#3d1948; --aubergine-3:#241029;
  --magenta:#c41478; --magenta-2:#e0359a;
  --gold:#b8912f; --gold-2:#d4af37; --teal:#0f807a;
  --ink:#241b29; --body:#4a4150; --muted:#7a7080;
  --line:#e7e1ec; --cream:#fbf8f3; --paper:#ffffff;
  --maxw:1240px; --serif:Georgia,'Times New Roman',serif;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);color:var(--body);background:var(--paper);line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--serif);color:var(--ink);line-height:1.15;margin:0 0 .4em;font-weight:700}
a{color:var(--magenta);text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
.eyebrow{display:inline-block;font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:14px}
.btn{display:inline-block;background:var(--magenta);color:#fff;padding:14px 30px;border-radius:2px;font-weight:600;font-size:15px;letter-spacing:.01em;transition:background .15s,transform .15s;border:0;cursor:pointer}
.btn:hover{background:var(--magenta-2);transform:translateY(-1px)}
.btn-outline{background:transparent;border:1.5px solid var(--ink);color:var(--ink)}
.btn-outline:hover{background:var(--ink);color:#fff}
.btn-light{background:#fff;color:var(--aubergine)}
.btn-ghost-light{background:transparent;border:1.5px solid rgba(255,255,255,.5);color:#fff}
.btn-ghost-light:hover{background:rgba(255,255,255,.12)}
.link-arrow{font-weight:600;color:var(--aubergine);font-family:var(--sans);font-size:15px}
.link-arrow::after{content:" →";color:var(--magenta)}

/* UTILITY BAR */
.utility{background:var(--aubergine-3);color:#cdbfd4;font-size:13px}
.utility .wrap{display:flex;justify-content:flex-end;gap:24px;align-items:center;height:40px}
.utility a{color:#cdbfd4}
.utility a:hover{color:#fff}
@media(max-width:720px){.utility{display:none}}

/* HEADER + NAV (zakładki) */
header.site{position:sticky;top:0;z-index:60;background:#fff;border-bottom:1px solid var(--line)}
.site .wrap{display:flex;align-items:center;justify-content:space-between;height:80px}
.logo{display:flex;align-items:center;gap:14px}
.logo img{height:52px;width:52px;object-fit:contain}
.logo .wm-wrap{display:flex;flex-direction:column;line-height:1}
.logo .wm{font-family:var(--serif);font-weight:700;font-size:25px;letter-spacing:.22em;color:var(--aubergine)}
.logo .kicker{font-family:var(--sans);font-size:10.5px;letter-spacing:.36em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-top:4px;padding-left:3px}
nav.main{display:flex;align-items:center;gap:28px}
nav.main a{color:var(--ink);font-size:15px;font-weight:500;font-family:var(--sans);padding:6px 0;border-bottom:2px solid transparent}
nav.main a:hover{border-bottom-color:var(--gold)}
nav.main a.active{border-bottom-color:var(--magenta);color:var(--aubergine)}
nav.main .btn{padding:11px 24px;border-bottom:0}
nav.main .btn:hover{border-bottom:0}
.nav-toggle,.burger{display:none}
@media(max-width:1040px){
  .burger{display:block;background:none;border:0;font-size:28px;color:var(--aubergine);cursor:pointer;line-height:1}
  nav.main{position:fixed;top:0;right:-300px;width:280px;height:100vh;background:#fff;flex-direction:column;align-items:flex-start;gap:6px;padding:90px 28px 28px;box-shadow:-8px 0 40px rgba(36,16,41,.18);transition:right .25s ease;z-index:70}
  nav.main a{width:100%;padding:12px 0;border-bottom:1px solid var(--line)}
  nav.main .btn{margin-top:14px;width:100%;text-align:center}
  .nav-toggle:checked ~ nav.main{right:0}
  .nav-scrim{display:none}
  .nav-toggle:checked ~ .nav-scrim{display:block;position:fixed;inset:0;background:rgba(36,16,41,.4);z-index:65}
}

/* ANNOUNCE (baner rekrutacji) */
.announce{background:var(--gold-2);color:var(--aubergine-3);font-size:14.5px;font-weight:600;text-align:center}
.announce .wrap{padding:12px 28px}
.announce a{color:var(--aubergine-3);text-decoration:underline;white-space:nowrap}

/* HERO (home) */
.hero{position:relative;min-height:600px;display:flex;align-items:center;color:#fff;background:var(--aubergine)}
.hero .bg{position:absolute;inset:0;background-size:cover;background-position:center}
.hero .scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(36,16,41,.92) 0%,rgba(36,16,41,.7) 42%,rgba(36,16,41,.25) 100%)}
.hero .wrap{position:relative;padding:96px 28px}
.hero h1{color:#fff;font-size:clamp(40px,6vw,68px);max-width:14ch}
.hero p{font-size:clamp(17px,2vw,21px);max-width:46ch;color:#ede5f1;margin:18px 0 32px}
.hero .cta-row{display:flex;gap:14px;flex-wrap:wrap}

/* PAGE HERO (podstrony) */
.pagehero{position:relative;color:#fff;background:var(--aubergine);overflow:hidden}
.pagehero .bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.35}
.pagehero .wrap{position:relative;padding:74px 28px 64px}
.pagehero .crumb{font-size:13px;letter-spacing:.04em;color:#cdbfd4;margin-bottom:14px}
.pagehero .crumb a{color:#cdbfd4}
.pagehero h1{color:#fff;font-size:clamp(34px,5vw,52px);margin:0}
.pagehero p{color:#ede5f1;max-width:60ch;margin:14px 0 0;font-size:18px}

/* MISSION */
.mission{padding:84px 0;text-align:center;background:var(--cream)}
.mission p{font-family:var(--serif);font-size:clamp(22px,3vw,32px);line-height:1.45;color:var(--ink);max-width:880px;margin:0 auto}
.mission .sig{font-family:var(--sans);font-size:15px;color:var(--muted);margin-top:24px}

/* STATS */
.stats{background:var(--aubergine);color:#fff}
.stats .grid{display:grid;grid-template-columns:repeat(4,1fr);text-align:center}
.stats .cell{padding:50px 20px;border-right:1px solid rgba(255,255,255,.12)}
.stats .cell:last-child{border-right:0}
.stats .num{font-family:var(--serif);font-size:46px;color:var(--gold-2);line-height:1}
.stats .lbl{font-size:14px;color:#d9cde0;margin-top:10px;letter-spacing:.03em}
@media(max-width:760px){.stats .grid{grid-template-columns:1fr 1fr}.stats .cell:nth-child(2){border-right:0}}

/* SECTIONS */
section.block{padding:90px 0}
.head{max-width:760px;margin-bottom:50px}
.head.center{margin-left:auto;margin-right:auto;text-align:center}
.head h2{font-size:clamp(30px,4vw,44px)}
.head p{font-size:18px;color:var(--muted)}

/* PROGRAMS */
.progs{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.prog{border:1px solid var(--line);background:#fff;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}
.prog:hover{box-shadow:0 18px 50px rgba(48,19,57,.12);transform:translateY(-3px)}
.prog .ph{height:190px;background-size:cover;background-position:center;background-color:var(--aubergine-2)}
.prog .pc{padding:28px;flex:1;display:flex;flex-direction:column}
.prog h3{font-size:23px}
.prog .meta{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:8px}
.prog p{color:var(--body);flex:1}
.prog .link-arrow{margin-top:14px}
@media(max-width:900px){.progs{grid-template-columns:1fr}}

/* KIERUNKI (2x2) + ceny/moduły */
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:30px}
@media(max-width:900px){.grid2{grid-template-columns:1fr}}
.prog .price{font-weight:700;color:var(--magenta);font-size:15px;margin:0 0 12px}
.prog .modules{list-style:none;padding:0;margin:0 0 16px}
.prog .modules li{padding-left:22px;position:relative;color:var(--body);font-size:15px;margin-bottom:7px}
.prog .modules li::before{content:"✓";position:absolute;left:0;color:var(--teal);font-weight:700}

/* OPŁATY + DOKUMENTY */
.feebox{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.feebox .fee{border:1px solid var(--line);border-radius:8px;padding:28px 24px;text-align:center;background:#fff}
.feebox .fee .v{font-family:var(--serif);font-size:27px;color:var(--aubergine);line-height:1.1}
.feebox .fee .k{font-size:14px;color:var(--muted);margin-top:8px}
@media(max-width:760px){.feebox{grid-template-columns:1fr}}
.docs{list-style:none;padding:0;max-width:640px;margin:0 auto}
.docs li{padding:13px 0 13px 30px;border-bottom:1px solid var(--line);position:relative;color:var(--ink)}
.docs li::before{content:"›";position:absolute;left:8px;color:var(--magenta);font-weight:700}

/* SPLIT */
.split{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch}
.split .img{min-height:460px;background-size:cover;background-position:center}
.split .txt{padding:70px clamp(28px,5vw,72px);background:var(--cream);display:flex;flex-direction:column;justify-content:center}
.split.rev .txt{order:-1}
@media(max-width:900px){.split{grid-template-columns:1fr}.split .img{min-height:300px}.split.rev .txt{order:0}}

/* NEWS */
.news{background:var(--cream)}
.newsgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.post{background:#fff;border:1px solid var(--line)}
.post .ph{height:170px;background-size:cover;background-position:center;background-color:var(--aubergine-2)}
.post .pc{padding:24px}
.post .cat{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--teal);font-weight:700}
.post .date{font-size:12.5px;color:var(--muted);margin-left:8px}
.post h3{font-size:20px;margin:8px 0}
.post p{font-size:15px;color:var(--muted)}
@media(max-width:900px){.newsgrid{grid-template-columns:1fr}}

/* TEACHER */
.teacher{display:grid;grid-template-columns:0.9fr 1.1fr;gap:50px;align-items:center}
.teacher .ph{aspect-ratio:4/5;background-size:cover;background-position:center top;border-radius:4px;background-color:var(--aubergine-2)}
.teacher blockquote{font-family:var(--serif);font-size:clamp(20px,2.4vw,27px);line-height:1.5;color:var(--ink);margin:0 0 22px;border-left:3px solid var(--gold);padding-left:24px}
@media(max-width:820px){.teacher{grid-template-columns:1fr}}

/* TESTIMONIALS */
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.tcard{padding:32px;border:1px solid var(--line);background:#fff}
.tcard p{font-style:italic;color:var(--ink);font-size:16px}
.tcard .who{font-style:normal;font-weight:600;color:var(--aubergine);margin-top:16px;font-size:14px}
.stars{color:var(--gold-2);letter-spacing:2px;margin-bottom:10px}
@media(max-width:900px){.tgrid{grid-template-columns:1fr}}

/* PROSE (artykuły / treść) */
.prose{max-width:760px;margin:0 auto}
.prose p{font-size:17px;margin:0 0 1.2em}
.prose h2{font-size:30px;margin:1.6em 0 .5em}
.prose h3{font-size:22px;margin:1.4em 0 .4em}
.prose ul{padding-left:22px}
.prose li{margin-bottom:.5em}
.prose blockquote{border-left:3px solid var(--gold);padding-left:22px;font-family:var(--serif);font-size:22px;color:var(--ink);margin:1.4em 0}

/* CONTACT */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.contact .info dt{font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-top:24px}
.contact .info dd{margin:5px 0 0;font-size:17px;color:var(--ink)}
.contact .info dl{margin:0}
.cform label{display:block;font-size:14px;font-weight:600;color:var(--ink);margin:0 0 6px}
.cform input,.cform textarea{width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:2px;font-size:15px;font-family:var(--sans);margin-bottom:18px}
.cform textarea{min-height:130px;resize:vertical}
@media(max-width:820px){.contact{grid-template-columns:1fr;gap:36px}}

/* FAQ */
.faq{max-width:760px;margin:0 auto}
details{background:#fff;border:1px solid var(--line);border-radius:4px;padding:18px 22px;margin-bottom:14px}
details summary{cursor:pointer;font-weight:600;color:var(--aubergine);font-size:17px;list-style:none}
details summary::-webkit-details-marker{display:none}
details summary::after{content:"+";float:right;color:var(--magenta);font-size:22px;line-height:1}
details[open] summary::after{content:"–"}
details p{color:var(--muted);margin:14px 0 0}

/* CTA BAND */
.ctaband{position:relative;color:#fff;text-align:center;background:var(--aubergine)}
.ctaband .bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.5}
.ctaband .wrap{position:relative;padding:96px 28px}
.ctaband h2{color:#fff;font-size:clamp(30px,4vw,46px)}
.ctaband p{color:#ede5f1;font-size:19px;max-width:620px;margin:0 auto 30px}
.ctaband form{max-width:520px;margin:0 auto;display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.ctaband input{flex:1 1 250px;padding:15px 18px;border:0;border-radius:2px;font-size:15px}
.ctaband .note{font-size:13px;color:#cdbfd4;margin-top:16px}

/* FOOTER */
footer{background:var(--aubergine-3);color:#b4a4bb;font-size:14px}
.foot-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding:64px 0}
.foot-top h4{color:#fff;font-family:var(--sans);font-size:13px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:18px}
.foot-top ul{list-style:none;margin:0;padding:0}
.foot-top li{margin-bottom:11px}
.foot-top a{color:#b4a4bb}
.foot-top a:hover{color:#fff}
.foot-brand .logo .wm{color:#fff;font-size:22px}
.foot-brand .logo .kicker{color:var(--gold-2)}
.foot-brand img{height:54px;width:54px;background:var(--cream);border-radius:50%;padding:5px}
.foot-brand p{margin:18px 0 0;max-width:34ch}
.foot-legal{border-top:1px solid rgba(255,255,255,.1);padding:26px 0;font-size:12px;line-height:1.7;color:#8f8096}
@media(max-width:900px){.foot-top{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.foot-top{grid-template-columns:1fr}}
