/* Online courses share the tiled VICTORY poster language, with a quieter reading rhythm. */
body.victory-courses, body.victory-course-login { --vc-ink:#17171a; --vc-pink:#ed667b; --vc-paper:#f5f5f3; --vc-red:#bd2d57; }
body.victory-courses .victory-nav, body.victory-course-login .victory-nav { position:sticky; top:0; z-index:30; }
body.victory-courses .flash, body.victory-course-login .flash { position:relative; z-index:31; }
body.victory-courses main { overflow:clip; }
.vc-eyebrow { margin:0; font:600 13px/1.4 Oswald,sans-serif; letter-spacing:.15em; text-transform:uppercase; }
.vc-eyebrow span { margin-left:9px; color:var(--vc-red); font-size:21px; vertical-align:middle; }
.vc-button { display:inline-flex; align-items:center; justify-content:space-between; gap:28px; min-height:54px; padding:0 21px; font:600 13px/1.2 Oswald,sans-serif; letter-spacing:.07em; text-decoration:none; text-transform:uppercase; border:2px solid transparent; border-radius:0; cursor:pointer; transition:transform .25s ease,background .25s ease,color .25s ease; }
.vc-button span { font:500 23px/1 Oswald,sans-serif; transition:transform .25s ease; }
.vc-button:hover { transform:translateY(-3px); }
.vc-button:hover span { transform:translate(3px,-3px); }
.vc-button:active { transform:translateY(0); }
.vc-button--dark { background:var(--vc-ink); color:#fff; border-color:var(--vc-ink); }
.vc-button--dark:hover { background:var(--vc-red); border-color:var(--vc-red); color:#fff; }
.vc-button--pink { background:var(--vc-pink); color:var(--vc-ink); border-color:var(--vc-pink); }
.vc-button--pink:hover { background:#ffdce7; border-color:#ffdce7; color:var(--vc-ink); }
.vc-link { display:inline-flex; align-items:center; gap:12px; min-height:44px; border-bottom:2px solid currentColor; color:inherit; font:600 13px/1.2 Oswald,sans-serif; letter-spacing:.05em; text-decoration:none; text-transform:uppercase; }
.vc-link span { font-size:18px; transition:transform .25s ease; }
.vc-link:hover span { transform:translate(3px,-2px); }

.vc-hero { position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(290px,.7fr); align-items:center; min-height:calc(100svh - 68px); padding:clamp(92px,8vw,125px) 6vw 90px; isolation:isolate; background:var(--pop-tile); background-size:160px 160px; color:var(--vc-ink); }
.vc-hero::before { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(245,245,243,.78),rgba(245,245,243,.26) 76%); }
.vc-hero__top { position:absolute; top:30px; left:6vw; right:6vw; display:flex; justify-content:space-between; gap:20px; font:600 12px/1.3 Oswald,sans-serif; letter-spacing:.12em; }
.vc-hero__copy { position:relative; z-index:2; max-width:850px; }
.vc-hero h1, .vc-hero__statement, .vc-hero__intro, .vc-hero .vc-eyebrow { color:var(--vc-ink); }
.vc-hero h1 { max-width:9ch; margin:20px 0 19px; font:600 clamp(82px,9.5vw,158px)/.84 Oswald,sans-serif; letter-spacing:-.055em; text-transform:uppercase; overflow-wrap:normal; }
.vc-hero__period { color:var(--vc-red); }
.vc-hero__statement { margin:0 0 24px; font:600 clamp(39px,4.5vw,74px)/.9 Oswald,sans-serif; letter-spacing:-.035em; }
.vc-hero__statement em { color:var(--vc-red); font-style:normal; }
.vc-hero__intro { max-width:510px; margin:0 0 26px; font:700 14px/1.7 Manrope,sans-serif; }
.vc-service-note { max-width:510px; margin:0 0 24px; border-left:4px solid var(--vc-red); padding:11px 14px; background:#ffdce7; color:var(--vc-ink); font:700 13px/1.55 Manrope,sans-serif; }
.vc-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px 26px; }
.vc-hero__photo { position:relative; z-index:1; justify-self:end; width:min(100%,490px); margin:15px 0 0; padding:10px 10px 0; background:var(--vc-paper); box-shadow:16px 18px 0 rgba(23,23,26,.18); transform:rotate(5deg); }
.vc-hero__photo img { width:100%; height:clamp(390px,42vw,640px); object-fit:cover; object-position:center 26%; filter:saturate(.94); }
.vc-hero__photo figcaption { display:block; padding:11px 3px 13px; font:600 13px/1.2 Oswald,sans-serif; letter-spacing:.13em; text-align:right; }
.vc-hero__seal { position:absolute; z-index:2; right:38vw; bottom:10%; display:grid; place-items:center; width:122px; aspect-ratio:1; border:2px solid var(--vc-ink); border-radius:50%; background:var(--vc-pink); color:var(--vc-ink); font:600 21px/.92 Oswald,sans-serif; text-align:center; transform:rotate(-14deg); box-shadow:5px 7px 0 rgba(23,23,26,.2); }

.vc-program { background:var(--vc-pink); color:var(--vc-ink); padding:clamp(82px,10vw,140px) 6vw; }
.vc-program__head { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(240px,.5fr); column-gap:6vw; align-items:end; }
.vc-program__head .vc-eyebrow { grid-column:1/-1; margin-bottom:26px; }
.vc-program__head h2, .vc-access h2, .vc-contact h2 { margin:0; font:600 clamp(73px,9vw,142px)/.84 Oswald,sans-serif; letter-spacing:-.055em; text-transform:uppercase; }
.vc-program__head h2 span { color:#fff; -webkit-text-stroke:2px var(--vc-ink); }
.vc-program__head > p:last-child { max-width:340px; margin:0 0 8px; font:700 14px/1.6 Manrope,sans-serif; }
.vc-program__head > p:last-child, .vc-program__item h3, .vc-program__meta, .vc-program__description { color:var(--vc-ink); }
.vc-program__list { margin-top:72px; border-top:3px solid var(--vc-ink); }
.vc-program__item { display:grid; grid-template-columns:95px 1fr auto; gap:20px; padding:27px 0 33px; border-bottom:2px solid var(--vc-ink); }
.vc-program__number, .vc-program__meta { font:600 13px/1.3 Oswald,sans-serif; letter-spacing:.08em; }
.vc-program__meta { margin:0 0 12px; text-transform:uppercase; }
.vc-program__item h3 { max-width:880px; margin:0 0 11px; font:600 clamp(35px,4vw,63px)/.98 Oswald,sans-serif; letter-spacing:-.025em; text-transform:uppercase; }
.vc-program__description { max-width:600px; margin:0; font:600 13px/1.65 Manrope,sans-serif; }
.vc-program__arrow { align-self:start; font:400 34px/1 Oswald,sans-serif; }

.vc-access { display:grid; grid-template-columns:1fr minmax(250px,.43fr); gap:6vw; padding:clamp(88px,10vw,140px) 6vw; background:var(--vc-ink); color:#fff; }
.vc-access h2 { margin:27px 0 26px; }
.vc-access h2 span { color:var(--vc-pink); }
.vc-access__copy > p:not(.vc-eyebrow) { max-width:580px; margin:0 0 28px; font:600 15px/1.75 Manrope,sans-serif; }
.vc-access__note { align-self:end; display:grid; grid-template-columns:36px 1fr; gap:20px 16px; padding:30px 0; border-top:2px solid var(--vc-pink); border-bottom:2px solid var(--vc-pink); transform:rotate(3deg); }
.vc-access__note span { color:var(--vc-pink); font:600 20px/1.2 Oswald,sans-serif; }
.vc-access__note p { margin:0; font:600 14px/1.4 Manrope,sans-serif; }

.vc-contact { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.8fr); gap:8vw; padding:clamp(92px,10vw,145px) 6vw; background:var(--pop-tile); background-size:160px 160px; color:var(--vc-ink); }
.vc-contact__copy, .vc-contact__form { align-self:start; }
.vc-contact h2, .vc-contact__copy > p, .vc-contact__form label { color:var(--vc-ink); }
.vc-contact h2 { margin:27px 0 32px; }
.vc-contact h2 span { color:var(--vc-red); }
.vc-contact__copy > p:not(.vc-eyebrow) { max-width:480px; margin:0 0 25px; font:700 14px/1.65 Manrope,sans-serif; }
.vc-contact__form { display:flex; flex-direction:column; padding:34px clamp(23px,3.5vw,52px) 42px; border:2px solid var(--vc-ink); background:var(--vc-paper); box-shadow:12px 12px 0 rgba(23,23,26,.14); }
.vc-contact__form label { margin:18px 0 6px; font:600 13px/1.3 Oswald,sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.vc-contact__form input, .vc-contact__form textarea { width:100%; min-height:45px; border:0; border-bottom:2px solid var(--vc-ink); border-radius:0; padding:9px 1px; background:transparent; color:var(--vc-ink); font:600 15px/1.4 Manrope,sans-serif; resize:vertical; }
.vc-contact__form input::placeholder, .vc-contact__form textarea::placeholder { color:#77757a; }
.vc-contact__form .vc-button { align-self:flex-start; margin-top:28px; }
body.victory-courses .vc-contact__form button.vc-button { background:var(--vc-ink) !important; border-color:var(--vc-ink); color:#fff; }
body.victory-courses .vc-contact__form button.vc-button:hover { background:var(--vc-red) !important; border-color:var(--vc-red); }
body.victory-courses .v2-footer { background:var(--vc-ink); color:#fff; }
body.victory-courses .v2-footer a { color:#fff; }

/* The learner sees only Telegram sign-in; password access stays on the separate admin login. */
.vc-login { min-height:calc(100svh - 68px); display:grid; grid-template-columns:minmax(0,1fr) minmax(310px,.68fr); align-items:center; gap:6vw; padding:70px 6vw 95px; background:var(--pop-tile); background-size:160px 160px; color:var(--vc-ink); }
.vc-login__headline { max-width:900px; }
.vc-login h1, .vc-login__headline > p, .vc-login__card h2, .vc-login__card > p { color:var(--vc-ink); }
.vc-login h1 { margin:27px 0 20px; font:600 clamp(78px,9vw,150px)/.84 Oswald,sans-serif; letter-spacing:-.055em; text-transform:uppercase; }
.vc-login h1 span { color:var(--vc-red); }
.vc-login__headline > p:not(.vc-eyebrow) { max-width:500px; margin:0; font:700 15px/1.7 Manrope,sans-serif; }
.vc-login__card { padding:clamp(27px,4vw,55px); border:2px solid var(--vc-ink); background:var(--vc-paper); box-shadow:14px 14px 0 var(--vc-pink); }
.vc-login__card h2 { margin:0 0 15px; font:600 clamp(32px,3.8vw,53px)/.95 Oswald,sans-serif; text-transform:uppercase; }
.vc-login__card > p { margin:0 0 23px; font:600 14px/1.65 Manrope,sans-serif; }
.vc-login__card .vc-button { width:100%; }
.vc-login__card .vc-link { margin-top:21px; }
.vc-login__code { display:block; width:100%; margin-top:20px; border:2px dashed var(--vc-ink); padding:15px; background:#fff; color:var(--vc-ink); font:600 13px/1.4 Manrope,sans-serif; overflow-wrap:anywhere; cursor:pointer; }
.vc-login__status { display:flex; align-items:center; gap:10px; margin:0 0 22px; font:700 13px/1.4 Manrope,sans-serif; }
.vc-login__dot { width:10px; height:10px; flex:none; border-radius:50%; background:var(--vc-pink); box-shadow:0 0 0 5px rgba(237,102,123,.2); }
.vc-login__status.is-error .vc-login__dot { background:#9d243e; }
.vc-login__status.is-ok .vc-login__dot { background:#3e985b; }

@media (max-width:900px) {
  .vc-hero { grid-template-columns:minmax(0,1fr) minmax(215px,.65fr); }
  .vc-hero h1 { font-size:clamp(72px,10vw,102px); }
  .vc-hero__seal { right:27vw; }
  .vc-program__head h2, .vc-access h2, .vc-contact h2 { font-size:clamp(64px,9vw,100px); }
}
@media (max-width:700px) {
  .vc-hero { grid-template-columns:1fr; min-height:0; padding:100px 23px 75px; }
  .vc-hero__top { top:25px; left:23px; right:23px; font-size:10px; }
  .vc-hero__top span:last-child { max-width:125px; text-align:right; }
  .vc-hero__copy { max-width:100%; }
  .vc-hero h1 { max-width:100%; font-size:clamp(67px,16vw,106px); line-height:.88; }
  .vc-hero__statement { font-size:clamp(44px,10vw,69px); }
  .vc-hero__intro { font-size:13px; }
  .vc-hero__photo { justify-self:center; width:min(70%,350px); margin:72px 0 0; transform:rotate(5deg); }
  .vc-hero__photo img { height:clamp(360px,92vw,530px); }
  .vc-hero__seal { right:12%; bottom:18%; width:90px; font-size:16px; }
  .vc-program { padding:76px 23px 85px; }
  .vc-program__head { display:block; }
  .vc-program__head h2 { font-size:clamp(64px,13.8vw,95px); }
  .vc-program__head > p:last-child { margin:25px 0 0; }
  .vc-program__list { margin-top:42px; }
  .vc-program__item { grid-template-columns:38px 1fr 24px; gap:10px; padding:22px 0 27px; }
  .vc-program__item h3 { font-size:clamp(32px,7.5vw,44px); }
  .vc-program__arrow { font-size:23px; }
  .vc-access { grid-template-columns:1fr; padding:83px 23px 91px; }
  .vc-access h2 { font-size:clamp(73px,15vw,108px); }
  .vc-access__note { max-width:400px; margin-top:25px; }
  .vc-contact { grid-template-columns:1fr; gap:38px; padding:85px 23px 96px; }
  .vc-contact h2 { font-size:clamp(65px,13vw,95px); }
  .vc-contact__form { max-width:520px; }
  .vc-login { grid-template-columns:1fr; gap:36px; padding:75px 23px 95px; }
  .vc-login h1 { font-size:clamp(74px,16vw,112px); }
  .vc-login__card { max-width:520px; }
}
@media (prefers-reduced-motion:no-preference) {
  .vc-hero__copy, .vc-login__headline { animation:vc-rise .75s cubic-bezier(.2,.7,.2,1) both; }
  .vc-hero__photo { animation:vc-photo-in .85s cubic-bezier(.2,.7,.2,1) .15s both; }
  @keyframes vc-rise { from { opacity:0; transform:translateY(32px); } to { opacity:1; transform:none; } }
  @keyframes vc-photo-in { from { opacity:0; transform:translateY(35px) rotate(1deg); } to { opacity:1; transform:translateY(0) rotate(5deg); } }
}
