/* Hope rebuild-1.3: fonts follow the site type system; banner text no longer fades in on load. */
/* =====================================================================
   Guide page banners (FAQ · How to apply · Education in Russia · Preparatory courses)
   - .gb-top    : the art card next to each page heading
   - .gb-bottom : the closing banner at the end of each page
   Every banner has real artwork, a short headline, "Apply now", gentle motion,
   English/Farsi text, and a layout for phone, tablet and computer.
   ===================================================================== */
:root{
  --gb-navy:#0c1c38; --gb-navy-2:#15294f; --gb-blue:#164b9b; --gb-red:#d71920; --gb-red-d:#b4141b;
  --gb-ink:#101a30; --gb-muted:#5b6474; --gb-ease:cubic-bezier(.22,.61,.36,1);
}

/* ---------- hero: heading on one side, art card on the other ---------- */
.faq-hero .container.gb-hero-grid,.rich-hero .container.gb-hero-grid,.hta-hero .container.gb-hero-grid{
  display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)!important;gap:clamp(28px,4vw,56px)!important;align-items:center!important;
}
.hta-hero{overflow:visible!important;}
.gb-hero-text{min-width:0;}
@media(max-width:900px){
  .faq-hero .container.gb-hero-grid,.rich-hero .container.gb-hero-grid,.hta-hero .container.gb-hero-grid{grid-template-columns:minmax(0,1fr)!important;gap:28px!important;}
  .gb-top{max-width:640px;}
}

/* ---------- shared card ---------- */
.gb{position:relative;isolation:isolate;min-width:0;border-radius:26px;overflow:hidden;-webkit-mask-image:-webkit-radial-gradient(white,black);}
.gb *{box-sizing:border-box;}
.gb .gb-img{display:block;position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;object-fit:cover;}
.gb-kicker{display:inline-flex;align-items:center;gap:9px;font:600 11px/1.35 'Golos Text',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--gb-red);}
.gb-kicker::before{content:"";flex:none;width:20px;height:2px;border-radius:2px;background:currentColor;}
body.fa .gb-kicker{font-family:'Vazirmatn',Tahoma,sans-serif;font-size:12.5px;letter-spacing:0;text-transform:none;}
.gb-title{display:block;margin:10px 0 0;text-wrap:balance;font:700 clamp(21px,2vw,27px)/1.22 'PT Serif',Georgia,serif;letter-spacing:-.01em;color:var(--gb-ink);}
body.fa .gb-title{font-family:'Vazirmatn',Tahoma,sans-serif;font-weight:800;line-height:1.55;letter-spacing:0;}
.gb-text{margin:12px 0 0;text-wrap:pretty;font-size:15px;line-height:1.7;color:var(--gb-muted);max-width:520px;}
body.fa .gb-text{line-height:1.95;}
.gb-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:18px;}
.gb .gb-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:12px 24px!important;border:0!important;border-radius:999px!important;background:linear-gradient(135deg,#e32027,#b4141b)!important;color:#fff!important;font-weight:800!important;font-size:14.5px!important;letter-spacing:.01em!important;text-decoration:none;box-shadow:0 14px 28px -12px rgba(215,25,32,.65)!important;overflow:hidden;transition:transform .25s var(--gb-ease),box-shadow .25s ease;}
.gb .gb-btn::after{content:"";position:absolute;top:0;bottom:0;left:0;width:40%;transform:translate3d(-150%,0,0) skewX(-18deg);background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);animation:gbShine 5.5s ease-in-out 1.2s infinite;}
.gb .gb-btn:hover{transform:translateY(-2px);box-shadow:0 18px 32px -12px rgba(215,25,32,.75)!important;}
.gb .gb-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;}
body.fa .gb .gb-btn svg{transform:scaleX(-1);}
.gb-link{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:14px;color:var(--gb-navy-2);text-decoration:none;border-bottom:2px solid rgba(215,25,32,.35);padding-bottom:2px;transition:border-color .2s ease,color .2s ease;}
.gb-link:hover{color:var(--gb-red);border-color:var(--gb-red);}
.gb-wa{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:11px 20px;border-radius:999px;border:1.5px solid rgba(37,211,102,.6);color:#128c4a;font-weight:800;font-size:14px;text-decoration:none;background:rgba(37,211,102,.06);transition:background .2s ease,color .2s ease;}
.gb-wa svg{width:17px;height:17px;fill:currentColor;}
.gb-wa:hover{background:#1f9d55;color:#fff;border-color:#1f9d55;}

/* ---------- top card ---------- */
.gb-top{display:flex;flex-direction:column;background:#fff;border:1px solid rgba(255,255,255,.2);box-shadow:0 34px 70px -36px rgba(0,0,0,.75),0 0 0 6px rgba(255,255,255,.04);}
.gb-top .gb-media{position:relative;height:clamp(214px,20vw,262px);overflow:hidden;background:linear-gradient(135deg,#e9f1fd,#fbeff1);}
.gb-top .gb-copy{position:relative;padding:20px 24px 24px;background:#fff;}
.gb-top .gb-copy::before{content:"";position:absolute;inset-inline:24px;top:0;height:3px;border-radius:0 0 3px 3px;background:linear-gradient(90deg,var(--gb-red),#164b9b);}
.gb-top .gb-title{font-size:clamp(21px,1.9vw,25px);}

/* ---------- bottom banner ---------- */
.gb-bottom{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:360px;margin:48px 0 12px;padding:0!important;box-shadow:0 30px 64px -40px rgba(13,27,51,.65);}
.gb-bottom .gb-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:46px clamp(26px,4vw,52px);}
.gb-bottom .gb-title{font-size:clamp(23px,2.4vw,31px);max-width:560px;}
.gb-bottom .gb-media{position:relative;min-height:360px;overflow:hidden;}
/* light banners: an illustrated scene that melts into the card */
.gb-bottom.gb-light{background:linear-gradient(118deg,#ffffff 0%,#f5f8fd 48%,#e8f0fb 100%);border:1px solid rgba(21,41,79,.08);}
.gb-bottom.gb-light .gb-img{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 24%);mask-image:linear-gradient(90deg,transparent 0,#000 24%);}
body.fa .gb-bottom.gb-light .gb-img{-webkit-mask-image:linear-gradient(270deg,transparent 0,#000 24%);mask-image:linear-gradient(270deg,transparent 0,#000 24%);}
.gb-bottom.gb-light::before{content:"";position:absolute;z-index:1;inset-inline-start:-80px;top:-90px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(215,25,32,.10),transparent 68%);pointer-events:none;}
/* dark banners: a photo with a deep navy veil on the reading side */
.gb-bottom.gb-dark{background:var(--gb-navy);color:#fff;}
.gb-bottom.gb-dark .gb-media{position:absolute;inset:0;z-index:0;min-height:0;}
.gb-bottom.gb-dark .gb-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,22,46,.97) 0%,rgba(9,22,46,.88) 36%,rgba(9,22,46,.35) 70%,rgba(9,22,46,.12) 100%);}
body.fa .gb-bottom.gb-dark .gb-media::after{background:linear-gradient(270deg,rgba(9,22,46,.97) 0%,rgba(9,22,46,.88) 36%,rgba(9,22,46,.35) 70%,rgba(9,22,46,.12) 100%);}
.gb-bottom.gb-dark .gb-title{color:#fff;}
.gb-bottom.gb-dark .gb-text{color:rgba(232,238,248,.84);}
.gb-bottom.gb-dark .gb-kicker{color:#ff8b8f;}
.gb-bottom.gb-dark .gb-wa{color:#6ee7a1;border-color:rgba(110,231,161,.55);background:rgba(37,211,102,.08);}
.gb-bottom.gb-dark .gb-wa:hover{background:#1f9d55;color:#fff;}
.gb-bottom.gb-dark .gb-stage{grid-column:2;position:relative;z-index:1;}

/* ---------- motion ---------- */
@keyframes gbShine{0%{transform:translate3d(-150%,0,0) skewX(-18deg)}22%,100%{transform:translate3d(330%,0,0) skewX(-18deg)}}
@keyframes gbKen{from{transform:scale(1.03)}to{transform:scale(1.13) translate3d(-1.6%,-1.2%,0)}}
@keyframes gbFloat{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-8px,0)}}
@keyframes gbCycle4{0%{opacity:0;transform:translate3d(0,10px,0) scale(.96)}4%,21%{opacity:1;transform:none}25%,100%{opacity:0;transform:translate3d(0,-8px,0) scale(.98)}}
@keyframes gbCycle3{0%{opacity:0;transform:translate3d(0,8px,0)}5%,29%{opacity:1;transform:none}33.3%,100%{opacity:0;transform:translate3d(0,-6px,0)}}
@keyframes gbDrift{0%{opacity:0;transform:translate3d(0,26px,0) rotate(-8deg)}14%{opacity:.95}80%{opacity:.95}100%{opacity:0;transform:translate3d(0,-70px,0) rotate(8deg)}}
@keyframes gbPop{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
.gb-ken{animation:gbKen 24s ease-in-out infinite alternate;will-change:transform;}
.gb-float{animation:gbFloat 5.5s ease-in-out infinite;}

/* ================= FAQ · top: "questions" ================= */
.gb-faq-top .gb-media{background:radial-gradient(120% 90% at 78% 30%,#dfeafc 0%,#eef4fd 46%,#fdf2f4 100%);}
.gb-faq-top .gb-girl{position:absolute;bottom:0;inset-inline-end:5%;height:100%;width:auto!important;max-width:none!important;border-radius:0!important;box-shadow:none!important;animation:gbFloat 7s ease-in-out infinite;filter:drop-shadow(0 18px 24px rgba(21,41,79,.18));}
.gb-q-stack{position:absolute;z-index:2;inset-inline-start:16px;top:14px;bottom:14px;width:min(calc(95% - clamp(154px,14.35vw,188px) - 24px),330px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:clamp(7px,.8vw,11px);}
.gb-q{position:relative;display:inline-flex;align-items:center;gap:9px;max-width:100%;padding:8px 14px 8px 8px;border-radius:18px 18px 18px 6px;background:#fff;color:var(--gb-ink);font-weight:700;font-size:13.5px;line-height:1.3;box-shadow:0 16px 30px -18px rgba(21,41,79,.55);opacity:0;animation:14s var(--gb-ease) infinite;}
body.fa .gb-q{padding:8px 8px 8px 14px;border-radius:18px 18px 6px 18px;line-height:1.55;}
.gb-q::before{content:"?";flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--gb-red);color:#fff;font:800 13px/1 'PT Serif',Georgia,serif;}
.gb-q:nth-child(1){animation-name:gbQ1;}
.gb-q:nth-child(2){margin-inline-start:14px;animation-name:gbQ2;}
.gb-q:nth-child(2)::before{background:var(--gb-blue);}
.gb-q:nth-child(3){margin-inline-start:4px;animation-name:gbQ3;}
.gb-q:nth-child(4){margin-inline-start:18px;animation-name:gbQ4;}
.gb-q:nth-child(4)::before{background:var(--gb-blue);}
@media(max-width:1100px){ .gb-q:nth-child(4){display:none;} }
@keyframes gbQ1{0%{opacity:0;transform:translate3d(0,10px,0) scale(.95)}4%,86%{opacity:1;transform:none}93%,100%{opacity:0;transform:translate3d(0,-6px,0)}}
@keyframes gbQ2{0%,20%{opacity:0;transform:translate3d(0,10px,0) scale(.95)}24%,86%{opacity:1;transform:none}93%,100%{opacity:0;transform:translate3d(0,-6px,0)}}
@keyframes gbQ3{0%,40%{opacity:0;transform:translate3d(0,10px,0) scale(.95)}44%,86%{opacity:1;transform:none}93%,100%{opacity:0;transform:translate3d(0,-6px,0)}}
@keyframes gbQ4{0%,60%{opacity:0;transform:translate3d(0,10px,0) scale(.95)}64%,86%{opacity:1;transform:none}93%,100%{opacity:0;transform:translate3d(0,-6px,0)}}
.gb-faq-top .gb-media::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(21,41,79,.13) 1.2px,transparent 1.3px);background-size:18px 18px;-webkit-mask-image:linear-gradient(90deg,#000,transparent 70%);mask-image:linear-gradient(90deg,#000,transparent 70%);}
body.fa .gb-faq-top .gb-media::before{-webkit-mask-image:linear-gradient(270deg,#000,transparent 70%);mask-image:linear-gradient(270deg,#000,transparent 70%);}
.gb-qmark{display:none;}

/* ================= FAQ · bottom: "ask a real person" ================= */
.gb-faq-bottom .gb-img{object-position:62% 40%;}
.gb-chat{position:absolute;inset-inline-end:clamp(18px,4vw,46px);bottom:34px;width:min(44%,340px);display:flex;flex-direction:column;gap:10px;z-index:2;}
.gb-msg{align-self:flex-start;max-width:100%;padding:12px 16px;border-radius:18px 18px 18px 6px;background:rgba(255,255,255,.96);color:var(--gb-ink);font-weight:600;font-size:14px;line-height:1.45;box-shadow:0 18px 30px -18px rgba(0,0,0,.6);opacity:0;animation:gbMsgA 11s var(--gb-ease) infinite;}
.gb-msg.me{align-self:flex-end;border-radius:18px 18px 6px 18px;background:linear-gradient(135deg,#22c55e,#128c4a);color:#fff;animation-name:gbMsgB;}
body.fa .gb-msg{border-radius:18px 18px 6px 18px;} body.fa .gb-msg.me{border-radius:18px 18px 18px 6px;}
.gb-reply{position:relative;align-self:stretch;display:flex;justify-content:flex-end;}
.gb-typing{position:absolute;top:0;inset-inline-end:0;display:inline-flex;gap:5px;padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.9);opacity:0;animation:gbTyping 11s linear infinite;}
.gb-typing i{width:7px;height:7px;border-radius:50%;background:#128c4a;animation:gbDots 1s ease-in-out infinite;}
.gb-typing i:nth-child(2){animation-delay:.15s;} .gb-typing i:nth-child(3){animation-delay:.3s;}
@keyframes gbMsgA{0%{opacity:0;transform:translate3d(0,12px,0)}5%,88%{opacity:1;transform:none}96%,100%{opacity:0;transform:translate3d(0,-6px,0)}}
@keyframes gbTyping{0%,16%{opacity:0;transform:translate3d(0,8px,0)}20%,38%{opacity:1;transform:none}42%,100%{opacity:0;transform:scale(.9)}}
@keyframes gbMsgB{0%,40%{opacity:0;transform:translate3d(0,12px,0) scale(.97)}45%,88%{opacity:1;transform:none}96%,100%{opacity:0;transform:translate3d(0,-6px,0)}}
@keyframes gbDots{0%,100%{transform:translateY(0);opacity:.5}50%{transform:translateY(-4px);opacity:1}}

/* ================= How to apply · top: "step by step" ================= */
.gb-hta-top .gb-img{object-position:40% 38%;}
.gb-hta-top .gb-media::after{content:"";position:absolute;inset:auto 0 0 0;height:46%;background:linear-gradient(180deg,transparent,rgba(12,28,56,.28));}
.gb-track{position:relative;margin-top:16px;padding-top:4px;}
.gb-track ol{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;}
.gb-track li{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center;font-size:12px;font-weight:700;line-height:1.25;color:var(--gb-muted);}
.gb-track li b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:2px solid #d3d9e4;background:#fff;color:#8a93a3;font:800 12px/1 'Golos Text',sans-serif;transition:none;}
body.fa .gb-track li b{font-family:'Vazirmatn',Tahoma,sans-serif;}
.gb-track li:nth-child(1) b{animation:gbD1 9s linear infinite;} .gb-track li:nth-child(2) b{animation:gbD2 9s linear infinite;}
.gb-track li:nth-child(3) b{animation:gbD3 9s linear infinite;} .gb-track li:nth-child(4) b{animation:gbD4 9s linear infinite;}
.gb-track-line{position:absolute;z-index:0;top:17px;inset-inline:12.5%;height:3px;border-radius:3px;background:#e3e7ee;overflow:hidden;}
.gb-track-line::after{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:100%;transform:scaleX(0);transform-origin:0 50%;border-radius:3px;background:linear-gradient(90deg,var(--gb-red),#ff5a5f);animation:gbLine 9s linear infinite;}
body.fa .gb-track-line::after{background:linear-gradient(270deg,var(--gb-red),#ff5a5f);transform-origin:100% 50%;}
@keyframes gbLine{0%,6%{transform:scaleX(0)}75%,92%{transform:scaleX(1)}100%{transform:scaleX(0)}}
@keyframes gbD1{0%,3%{background:#fff;border-color:#d3d9e4;color:#8a93a3}6%,92%{background:var(--gb-red);border-color:var(--gb-red);color:#fff}100%{background:#fff;border-color:#d3d9e4;color:#8a93a3}}
@keyframes gbD2{0%,28%{background:#fff;border-color:#d3d9e4;color:#8a93a3}31%,92%{background:var(--gb-red);border-color:var(--gb-red);color:#fff}100%{background:#fff;border-color:#d3d9e4;color:#8a93a3}}
@keyframes gbD3{0%,52%{background:#fff;border-color:#d3d9e4;color:#8a93a3}55%,92%{background:var(--gb-red);border-color:var(--gb-red);color:#fff}100%{background:#fff;border-color:#d3d9e4;color:#8a93a3}}
@keyframes gbD4{0%,74%{background:#fff;border-color:#d3d9e4;color:#8a93a3}77%,92%{background:#1f9d55;border-color:#1f9d55;color:#fff}100%{background:#fff;border-color:#d3d9e4;color:#8a93a3}}

/* ================= How to apply · bottom: "start early" ================= */
.gb-hta-bottom .gb-img{object-position:60% 50%;}
.gb-plane{position:absolute;z-index:2;top:22%;inset-inline-start:0;width:40px;height:40px;color:var(--gb-blue);animation:gbFly 10s linear infinite;filter:drop-shadow(0 6px 8px rgba(21,41,79,.25));}
.gb-plane svg{width:100%;height:100%;fill:currentColor;}
body.fa .gb-plane{animation-name:gbFlyRtl;}
body.fa .gb-plane svg{transform:scaleX(-1);}
@keyframes gbFly{0%{opacity:0;transform:translate3d(-10%,60px,0) rotate(-12deg)}8%{opacity:1}50%{transform:translate3d(180%,0,0) rotate(-6deg)}92%{opacity:1}100%{opacity:0;transform:translate3d(380%,-50px,0) rotate(-14deg)}}
@keyframes gbFlyRtl{0%{opacity:0;transform:translate3d(10%,60px,0) rotate(12deg)}8%{opacity:1}50%{transform:translate3d(-180%,0,0) rotate(6deg)}92%{opacity:1}100%{opacity:0;transform:translate3d(-380%,-50px,0) rotate(14deg)}}
.gb-chip{position:absolute;z-index:2;display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;background:rgba(255,255,255,.95);color:var(--gb-ink);font-weight:800;font-size:13px;box-shadow:0 16px 28px -18px rgba(21,41,79,.6);white-space:nowrap;}
.gb-chip i{width:9px;height:9px;border-radius:50%;background:var(--gb-red);box-shadow:0 0 0 0 rgba(215,25,32,.5);animation:gbPulse 2s ease-out infinite;}
@keyframes gbPulse{0%{box-shadow:0 0 0 0 rgba(215,25,32,.55)}100%{box-shadow:0 0 0 10px rgba(215,25,32,0)}}
.gb-hta-bottom .gb-chip{bottom:26px;inset-inline-end:26px;animation:gbFloat 6s ease-in-out infinite;}

/* ================= Education · top: "leading universities" ================= */
.gb-edu-top .gb-img{object-position:50% 58%;}
.gb-edu-top .gb-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,22,46,0) 40%,rgba(9,22,46,.55) 100%);}
.gb-stats{position:absolute;z-index:2;inset-inline-start:18px;bottom:18px;height:44px;width:calc(100% - 36px);}
.gb-stat{position:absolute;inset-inline-start:0;bottom:0;display:inline-flex;align-items:center;gap:10px;max-width:100%;padding:10px 16px;border-radius:14px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;font-weight:700;font-size:14px;line-height:1.3;white-space:nowrap;opacity:0;animation:gbCycle4 14s var(--gb-ease) infinite;}
.gb-stat b{font:800 17px/1 'PT Serif',Georgia,serif;color:#fff;}
body.fa .gb-stat b{font-family:'Vazirmatn',Tahoma,sans-serif;}
.gb-stat:nth-child(2){animation-delay:3.5s;} .gb-stat:nth-child(3){animation-delay:7s;} .gb-stat:nth-child(4){animation-delay:10.5s;}

/* ================= Education · bottom: "choose your programme" ================= */
.gb-edu-bottom .gb-img{object-position:42% 45%;}
.gb-tags{position:absolute;inset:0;z-index:2;pointer-events:none;}
.gb-tag{position:absolute;display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border-radius:999px;background:rgba(255,255,255,.95);color:var(--gb-navy-2);font-weight:800;font-size:12.5px;box-shadow:0 14px 26px -16px rgba(21,41,79,.6);white-space:nowrap;animation:gbFloat 6.5s ease-in-out infinite;}
.gb-tag::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--gb-red);}
.gb-tag.t1{top:10%;inset-inline-start:18%;} .gb-tag.t2{top:24%;inset-inline-end:6%;animation-delay:1.1s;}
.gb-tag.t3{bottom:30%;inset-inline-start:30%;animation-delay:2.2s;} .gb-tag.t4{bottom:12%;inset-inline-end:10%;animation-delay:.6s;}
.gb-tag.t5{top:44%;inset-inline-start:12%;animation-delay:1.7s;} .gb-tag.t6{bottom:8%;inset-inline-start:22%;animation-delay:2.8s;}
.gb-tag.t2::before,.gb-tag.t5::before{background:var(--gb-blue);}

/* ================= Preparatory · top: "learn Russian first" (animated classroom board) ================= */
.gb-prep-top .gb-media{background:#eaf1fb;}
/* Preparatory · top: animated classroom board (generated by src/prep_board.py) */
.gb-board{position:absolute;inset:0;display:block;width:100%;height:100%;}
.gb-board .pb-chalk{animation:pbWipe 10s linear infinite;}
.gb-board .pb-chalk path{opacity:0;animation-duration:10s;animation-timing-function:linear;animation-iteration-count:infinite;animation-fill-mode:both;}
.gb-board .pb-plant{transform-box:fill-box;transform-origin:50% 100%;animation:pbSway 7s ease-in-out infinite;}
.gb-board .pb-star{transform-box:fill-box;transform-origin:50% 50%;animation:pbTwinkle 3.2s ease-in-out infinite;}
.gb-board .pb-star.s2{animation-delay:1.1s;} .gb-board .pb-star.s3{animation-delay:2.2s;}
.gb-board .pbw1{stroke-dasharray:114 118;stroke-dashoffset:114;animation-name:pbW1;}
.gb-board .pbw2{stroke-dasharray:121.46 125.46;stroke-dashoffset:121.46;animation-name:pbW2;}
.gb-board .pbw3{stroke-dasharray:96.62 100.62;stroke-dashoffset:96.62;animation-name:pbW3;}
.gb-board .pbw4{stroke-dasharray:124.3 128.3;stroke-dashoffset:124.3;animation-name:pbW4;}
.gb-board .pbw5{stroke-dasharray:101.79 105.79;stroke-dashoffset:101.79;animation-name:pbW5;}
.gb-board .pbw6{stroke-dasharray:54 58;stroke-dashoffset:54;animation-name:pbW6;}
.gb-board .pbw7{stroke-dasharray:31.2 35.2;stroke-dashoffset:31.2;animation-name:pbW7;}
.gb-board .pbu{stroke-dasharray:204.25 208.25;stroke-dashoffset:204.25;animation-name:pbU;}
.gb-board .pba1{stroke-dasharray:57.54 61.54;stroke-dashoffset:57.54;animation-name:pbA1;}
.gb-board .pba2{stroke-dasharray:73.03 77.03;stroke-dashoffset:73.03;animation-name:pbA2;}
.gb-board .pba3{stroke-dasharray:88.52 92.52;stroke-dashoffset:88.52;animation-name:pbA3;}
.gb-board .pba4{stroke-dasharray:35 39;stroke-dashoffset:35;animation-name:pbA4;}
.gb-board .pba5{stroke-dasharray:84.36 88.36;stroke-dashoffset:84.36;animation-name:pbA5;}
.gb-board .pba6{stroke-dasharray:59 63;stroke-dashoffset:59;animation-name:pbA6;}
.gb-board .pba7{stroke-dasharray:81.46 85.46;stroke-dashoffset:81.46;animation-name:pbA7;}
@keyframes pbW1{0%,3.0%{stroke-dashoffset:114;opacity:0}3.2%{opacity:1}6.4%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:1}}
@keyframes pbW2{0%,7.0%{stroke-dashoffset:121.46;opacity:0}7.2%{opacity:1}11.2%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:1}}
@keyframes pbW3{0%,11.8%{stroke-dashoffset:96.62;opacity:0}12.0%{opacity:1}15.2%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:1}}
@keyframes pbW4{0%,15.8%{stroke-dashoffset:124.3;opacity:0}16.0%{opacity:1}20.0%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:1}}
@keyframes pbW5{0%,20.6%{stroke-dashoffset:101.79;opacity:0}20.8%{opacity:1}24.0%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:1}}
@keyframes pbW6{0%,24.6%{stroke-dashoffset:54;opacity:0}24.8%{opacity:1}28.0%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:1}}
@keyframes pbW7{0%,28.6%{stroke-dashoffset:31.2;opacity:0}28.8%{opacity:1}31.2%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:1}}
@keyframes pbU{0%,33.0%{stroke-dashoffset:204.25;opacity:0}33.2%{opacity:1}37.2%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:1}}
@keyframes pbA1{0%,38.5%{stroke-dashoffset:57.54;opacity:0}38.7%{opacity:1}40.5%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:1}}
@keyframes pbA2{0%,40.2%{stroke-dashoffset:73.03;opacity:0}40.4%{opacity:1}42.2%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:1}}
@keyframes pbA3{0%,41.9%{stroke-dashoffset:88.52;opacity:0}42.1%{opacity:1}43.9%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:1}}
@keyframes pbA4{0%,43.6%{stroke-dashoffset:35;opacity:0}43.8%{opacity:1}45.6%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:1}}
@keyframes pbA5{0%,45.3%{stroke-dashoffset:84.36;opacity:0}45.5%{opacity:1}47.3%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:1}}
@keyframes pbA6{0%,47.0%{stroke-dashoffset:59;opacity:0}47.2%{opacity:1}49.0%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:1}}
@keyframes pbA7{0%,48.7%{stroke-dashoffset:81.46;opacity:0}48.9%{opacity:1}50.7%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:1}}
@keyframes pbWipe{0%,84%{opacity:1}90%,100%{opacity:0}}
@keyframes pbHello{0%,37.5%{opacity:0;transform:translate3d(0,8px,0) scale(.94)}40.5%,82%{opacity:1;transform:none}87%,100%{opacity:0;transform:translate3d(0,-6px,0)}}
@keyframes pbSway{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}
@keyframes pbTwinkle{0%,100%{opacity:.25;transform:scale(.8)}50%{opacity:.9;transform:scale(1.08)}}
@media(prefers-reduced-motion:reduce){.gb-board .pb-chalk,.gb-board .pb-chalk path{animation:none!important;opacity:1!important;stroke-dashoffset:0!important;}.gb-board .pb-plant,.gb-board .pb-star{animation:none!important;}}
.gb-hello{position:absolute;z-index:3;top:16px;right:16px;left:auto;}
.gb-hello span{position:relative;display:inline-flex;align-items:center;padding:10px 17px;border-radius:17px 17px 17px 5px;background:linear-gradient(135deg,#e32027,#b4141b);color:#fff;font-weight:800;font-size:15px;line-height:1.25;white-space:nowrap;box-shadow:0 16px 30px -16px rgba(180,20,27,.75);opacity:0;animation:pbHello 10s var(--gb-ease) infinite;}

/* ================= Preparatory · bottom: "beginner → ready for lectures" ================= */
.gb-prep-bottom .gb-img{object-position:50% 70%;filter:saturate(.8) contrast(1.04);}
.gb-meter{position:absolute;z-index:2;inset-inline-end:clamp(18px,4vw,46px);bottom:34px;width:min(44%,330px);padding:16px 18px 14px;border-radius:18px;background:rgba(255,255,255,.95);color:var(--gb-ink);box-shadow:0 22px 40px -24px rgba(0,0,0,.7);}
.gb-meter-bars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.gb-meter-bars span{position:relative;height:10px;border-radius:999px;background:#e6eaf1;overflow:hidden;}
.gb-meter-bars span::after{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:100%;transform:scaleX(0);transform-origin:0 50%;border-radius:999px;background:linear-gradient(90deg,#164b9b,#2f6fd6);animation:gbBar1 9s ease-in-out infinite;}
.gb-meter-bars span:nth-child(2)::after{animation-name:gbBar2;}
.gb-meter-bars span:nth-child(3)::after{animation-name:gbBar3;background:linear-gradient(90deg,#d71920,#ff5a5f);}
body.fa .gb-meter-bars span::after{background:linear-gradient(270deg,#164b9b,#2f6fd6);transform-origin:100% 50%;}
body.fa .gb-meter-bars span:nth-child(3)::after{background:linear-gradient(270deg,#d71920,#ff5a5f);}
.gb-meter-levels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px;font:800 12px/1 'Golos Text',sans-serif;color:#8a93a3;}
.gb-meter-levels b{font:inherit;}
.gb-meter-levels b:nth-child(1){animation:gbLv1 9s linear infinite;} .gb-meter-levels b:nth-child(2){animation:gbLv2 9s linear infinite;} .gb-meter-levels b:nth-child(3){animation:gbLv3 9s linear infinite;}
.gb-meter-say{position:relative;height:22px;margin-top:10px;font-weight:800;font-size:14px;}
.gb-meter-say span{position:absolute;inset-inline-start:0;top:0;white-space:nowrap;opacity:0;animation:gbCycle3 9s var(--gb-ease) infinite;}
.gb-meter-say span:nth-child(2){animation-delay:3s;} .gb-meter-say span:nth-child(3){animation-delay:6s;color:var(--gb-red);}
@keyframes gbBar1{0%,4%{transform:scaleX(0)}26%,90%{transform:scaleX(1)}100%{transform:scaleX(0)}}
@keyframes gbBar2{0%,33%{transform:scaleX(0)}56%,90%{transform:scaleX(1)}100%{transform:scaleX(0)}}
@keyframes gbBar3{0%,63%{transform:scaleX(0)}86%,90%{transform:scaleX(1)}100%{transform:scaleX(0)}}
@keyframes gbLv1{0%,4%{color:#8a93a3}8%,95%{color:#164b9b}100%{color:#8a93a3}}
@keyframes gbLv2{0%,34%{color:#8a93a3}38%,95%{color:#164b9b}100%{color:#8a93a3}}
@keyframes gbLv3{0%,64%{color:#8a93a3}68%,95%{color:#d71920}100%{color:#8a93a3}}

/* ---------- entrance ---------- */


@keyframes gbIn{from{opacity:0;transform:translate3d(0,12px,0)}to{opacity:1;transform:none}}

/* ---------- tablets ---------- */
@media(max-width:1100px){
  .gb-bottom{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);}
  .gb-bottom .gb-copy{padding:38px 30px;}
}
/* ---------- phones and small tablets: art on top, words below ---------- */
@media(max-width:820px){
  .gb-bottom{grid-template-columns:minmax(0,1fr);min-height:0;margin:36px 0 8px;border-radius:22px;}
  .gb-bottom .gb-media{order:-1;min-height:0;height:clamp(210px,52vw,300px);}
  .gb-bottom .gb-copy{padding:24px 22px 26px;}
  .gb-bottom.gb-light .gb-img,body.fa .gb-bottom.gb-light .gb-img{-webkit-mask-image:linear-gradient(180deg,#000 72%,transparent 100%);mask-image:linear-gradient(180deg,#000 72%,transparent 100%);}
  .gb-bottom.gb-dark{display:flex;flex-direction:column;}
  .gb-bottom.gb-dark .gb-media{position:relative;inset:auto;height:clamp(230px,56vw,320px);}
  .gb-bottom.gb-dark .gb-media::after,body.fa .gb-bottom.gb-dark .gb-media::after{background:linear-gradient(180deg,rgba(9,22,46,.05) 0%,rgba(9,22,46,.25) 55%,rgba(9,22,46,1) 100%);}
  .gb-bottom.gb-dark .gb-stage{position:absolute;top:0;inset-inline:0;height:clamp(230px,56vw,320px);grid-column:auto;}
  .gb-chat,.gb-meter{width:min(78%,320px);bottom:18px;}
  .gb-hta-bottom .gb-chip{bottom:14px;inset-inline-end:14px;}
  .gb-title{margin-top:8px;}
}
@media(max-width:480px){
  .gb{border-radius:20px;}
  .gb-top .gb-media{height:208px;}
  .gb-top .gb-copy{padding:18px 18px 20px;}
  .gb-top .gb-copy::before{inset-inline:18px;}
  .gb-faq-top .gb-media{height:218px;}
  .gb-faq-top .gb-girl{inset-inline-end:2%;height:88%;}
  .gb-q-stack{inset-inline-start:12px;top:12px;bottom:12px;width:calc(98% - 138px - 20px);gap:7px;}
  .gb-q{font-size:12.5px;padding:7px 11px 7px 7px;gap:7px;border-radius:15px 15px 15px 5px;}
  body.fa .gb-q{font-size:12.5px;padding:7px 7px 7px 11px;border-radius:15px 15px 5px 15px;}
  .gb-q::before{width:21px;height:21px;font-size:12px;}
  .gb-q:nth-child(n){margin-inline-start:0;}
  .gb-track li{font-size:11px;}
  .gb-track li b{width:26px;height:26px;}
  .gb-track-line{top:16px;}
  .gb-stat{font-size:13px;padding:9px 13px;} .gb-stat b{font-size:15px;}
  .gb-hello{top:10px;right:10px;}
  .gb-hello span{font-size:13.5px;padding:8px 13px;}
  .gb-tag{font-size:11.5px;padding:7px 11px;}
  .gb-tag.t5,.gb-tag.t6{display:none;}
  .gb-actions{gap:10px 14px;}
  .gb .gb-btn{padding:12px 20px!important;}
  .gb-wa{padding:10px 16px;}
  .gb-text{font-size:14.5px;}
}

/* ---------- people who prefer less motion ---------- */
@media(prefers-reduced-motion:reduce){
  .gb *,.gb *::before,.gb *::after{animation:none!important;transition:none!important;}
  .gb-q,.gb-stat:first-child,.gb-hello span,.gb-meter-say span:last-child,.gb-msg{opacity:1!important;}
  .gb-typing{display:none!important;}
  .gb-track li b{background:var(--gb-red)!important;border-color:var(--gb-red)!important;color:#fff!important;}
  .gb-track-line::after,.gb-meter-bars span::after{transform:none!important;}
  .gb-plane{display:none!important;}
}

/* How to apply: eyebrow in the same red as the other guide pages */
.hta-hero .eyebrow{color:var(--ru-red,#d71920)!important;}
/* arrows that point "forward" follow the reading direction */
.gb-arr{display:inline-block;}
body.fa .gb-arr{transform:scaleX(-1);}
/* Persian headings on the guide pages: a little more room between lines */
body.fa h1,body.fa h2,body.fa h3{line-height:1.4;}
/* banners rest while they are off screen (set by site-common.js) */
.gb.gb-off *,.gb.gb-off *::before,.gb.gb-off *::after{animation-play-state:paused!important;}
