
.ctgh-page{padding-bottom:10px;font-size:17px}
.ctgh .pg-sec{padding:44px 0}
.ctgh .pg-hero{padding:40px 0 28px}
.ctgh .pg-hero .wrap{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.ctgh .pg-h1{font-size:52px;font-weight:800;line-height:1.08;letter-spacing:-.02em;margin:0 0 20px}
.ctgh .pg-lead{font-size:20px;line-height:1.5;color:#3c3550;margin:0 0 28px;max-width:540px}
.ctgh .pg-cta{display:flex;gap:26px;flex-wrap:wrap;align-items:center}
.ctgh .pg-tl{font-weight:600;color:var(--ink);text-decoration:none;border-bottom:2px solid #cdb9dc;padding-bottom:2px;transition:border-color .15s}
.ctgh .pg-tl:hover{border-color:var(--teal)}
.ctgh .pg-facts{margin:24px 0 0;color:var(--muted);font-size:15px}
.ctgh .pg-rating{display:inline-flex;align-items:center;gap:10px;margin-top:18px;color:var(--ink);text-decoration:none;font-size:15px;flex-wrap:wrap}
.ctgh .pg-rating .stars{color:#f0a500;letter-spacing:2px;font-size:17px}
.ctgh .pg-rating span:last-child{color:var(--muted)}
/* 3D-композиция из фото классов в первом экране */
.ctgh .pg-stack{perspective:1200px;height:470px;position:relative}
.ctgh .pg-stack-in{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateY(var(--ry,-9deg)) rotateX(var(--rx,4deg));transition:transform .25s ease-out;animation:pgfloat 7s ease-in-out infinite}
.ctgh .st{position:absolute;border-radius:14px;overflow:hidden;box-shadow:0 34px 60px -18px rgba(36,29,54,.35);background:#e9e2f0}
.ctgh .st img{width:100%;height:100%;object-fit:cover;display:block}
.ctgh .st-main{left:12%;top:4%;width:80%;height:76%}
.ctgh .st-a{left:0;bottom:2%;width:46%;height:36%;transform:translateZ(70px)}
.ctgh .st-b{right:0;top:0;width:36%;height:30%;transform:translateZ(46px)}
.ctgh .st-rocket{position:absolute;right:6%;bottom:6%;width:92px;height:92px;transform:translateZ(120px);filter:drop-shadow(0 18px 18px rgba(36,29,54,.3));animation:pgrocket 5s ease-in-out infinite}
@keyframes pgfloat{0%,100%{translate:0 0}50%{translate:0 -8px}}
@keyframes pgrocket{0%,100%{translate:0 0;rotate:-4deg}50%{translate:0 -14px;rotate:3deg}}
.ctgh .pg-h2{font-size:36px;font-weight:800;line-height:1.15;margin:0 0 22px}
.ctgh .pg-h2-s{font-size:28px;margin:38px 0 6px}
/* список программ: при наведении появляется фото */
.ctgh .pg-pick{border-top:2px solid var(--ink)}
.ctgh .pg-pick-row{display:grid;grid-template-columns:minmax(230px,max-content) 1fr auto 28px;gap:24px;align-items:baseline;padding:22px 8px;border-bottom:1px solid #dcd6e4;color:var(--ink);text-decoration:none;transition:background .15s,padding .2s}
.ctgh .pg-pick-row:hover{background:#f6f1fa;padding-left:18px}
.ctgh .pg-pick-row b{font-size:24px;font-weight:800;letter-spacing:-.01em}
.ctgh .pg-pick-row .d{color:var(--muted);font-size:16px;line-height:1.45}
.ctgh .pg-pick-row .pr{font-weight:700;font-size:16px;white-space:nowrap;color:var(--teal-d)}
.ctgh .pg-pick-row .ar{color:var(--teal);font-size:20px;transition:transform .2s}
.ctgh .pg-pick-row:hover .ar{transform:translateX(6px)}
.ctgh .pg-peek{position:fixed;left:0;top:0;width:300px;height:225px;object-fit:cover;border-radius:12px;box-shadow:0 26px 50px -14px rgba(36,29,54,.45);pointer-events:none;opacity:0;transform:translate3d(-9999px,0,0) rotate(-3deg) scale(.92);transition:opacity .18s,scale .18s;z-index:50}
.ctgh .pg-peek.on{opacity:1}
/* 3D-кольцо с фото классов */
.ctgh .pg-ring-sec{padding:30px 0 10px;overflow:hidden}
.ctgh .pg-ring-cap{color:var(--muted);margin:-10px 0 0;font-size:16px}
.ctgh .pg-ring{height:420px;perspective:1500px;margin-top:-10px}
.ctgh .pg-ring-in{position:relative;width:300px;height:225px;margin:70px auto 0;transform-style:preserve-3d;animation:pgspin 48s linear infinite}
.ctgh .pg-ring:hover .pg-ring-in{animation-play-state:paused}
.ctgh .pg-ring figure{position:absolute;inset:0;margin:0;transform:rotateY(calc(var(--i)*72deg)) translateZ(310px);border-radius:12px;overflow:hidden;box-shadow:0 24px 44px -16px rgba(36,29,54,.4)}
.ctgh .pg-ring img{width:100%;height:100%;object-fit:cover;display:block}
@keyframes pgspin{to{transform:rotateY(-360deg)}}
.ctgh .pg-prices{background:#f6f1fa;border-radius:18px;margin:10px 24px;padding:34px 0}
.ctgh .pg-people{display:grid;grid-template-columns:1.05fr .95fr;gap:72px;align-items:start}
.ctgh .pg-teachers{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ctgh .pg-teacher{display:flex;flex-direction:column;gap:4px;color:var(--ink);text-decoration:none;transition:transform .2s ease-out;transform:perspective(800px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}
.ctgh .pg-teacher img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:10px;margin-bottom:8px;display:block}
.ctgh .pg-teacher b{font-size:19px;font-weight:800}
.ctgh .pg-teacher span{font-size:14px;color:var(--teal-d);font-weight:600}
.ctgh .pg-teacher em{font-style:normal;font-size:14px;color:var(--muted);line-height:1.4}
.ctgh .pg-more{margin:24px 0 0}
.ctgh .pg-quote{margin:0 0 26px;padding:0 0 0 22px;border-left:3px solid var(--teal)}
.ctgh .pg-quote p{margin:0 0 8px;font-size:17px;line-height:1.55;color:#2d2640}
.ctgh .pg-quote .pg-qf{font-size:14px;color:var(--muted)}
.ctgh .pg-quote .pg-qf b{color:var(--ink)}
.ctgh .pg-narrow>*{max-width:900px}
.ctgh .pg-intro{font-size:18px;font-weight:400;line-height:1.65;color:#3c3550;letter-spacing:0;margin:0 0 6px}
.ctgh .pg-prog{border-top:1px solid #dcd6e4}
.ctgh .pg-prog:last-of-type{border-bottom:1px solid #dcd6e4}
.ctgh .pg-prog summary{list-style:none;cursor:pointer;position:relative;padding:22px 44px 22px 0}
.ctgh .pg-prog summary::-webkit-details-marker{display:none}
.ctgh .pg-prog summary::after{content:"+";position:absolute;right:6px;top:18px;font-size:28px;font-weight:400;color:var(--teal);transition:transform .25s}
.ctgh .pg-prog[open] summary::after{transform:rotate(45deg)}
.ctgh .pg-prog summary h3{font-size:22px;font-weight:800;margin:0;letter-spacing:-.01em}
.ctgh .pg-prog-in{display:grid;grid-template-columns:1fr 280px;gap:36px;align-items:start;padding-bottom:26px}
.ctgh .pg-prog-img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:12px;display:block}
.ctgh .pg-body{font-size:16.5px;line-height:1.7;color:#3c3550;max-width:640px}
.ctgh .pg-body p{margin:0 0 14px}
.ctgh .pg-body ul,.ctgh .pg-body ol{margin:0 0 16px;padding-left:22px}
.ctgh .pg-body li{padding:3px 0}
.ctgh .pg-actions{display:flex;gap:22px;flex-wrap:wrap;align-items:center;margin-top:18px}
.ctgh .pg-testbar{position:relative;display:grid;grid-template-columns:auto 1.4fr .6fr;gap:34px;align-items:center;background:#f1e8f6;border-radius:14px;padding:30px 40px}
.ctgh .pg-testbar-rocket{width:96px;height:96px;animation:pgrocket 5s ease-in-out infinite;filter:drop-shadow(0 12px 12px rgba(36,29,54,.25))}
.ctgh .pg-testbar h2{font-size:26px;font-weight:800;margin:0 0 6px}
.ctgh .pg-testbar p{margin:0;color:#3c3550;font-size:16px;line-height:1.55}
.ctgh .pg-testlinks{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.ctgh .btn-line{border:2px solid var(--ink);color:var(--ink);background:none}
/* плавное появление блоков (только при включённом JS) */
.ctgh.js .rv{opacity:0;transform:translateY(26px) rotateX(7deg);transform-origin:50% 100%;transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.ctgh.js .rv.on{opacity:1;transform:none}
/* форма «Остались вопросы?» (контейнер Elementor с классами ctgh ctgh-formsec) */
.ctgh-formsec{box-sizing:border-box!important;max-width:1136px!important;width:calc(100% - 48px)!important;margin:0 auto 70px!important;background:var(--card)!important;border:1px solid var(--line)!important;border-radius:14px!important;padding:40px 44px!important;display:block!important}
.ctgh-formsec .ctgh{background:none}
.ctgh-formsec h2{font-size:34px;font-weight:800;margin:0 0 8px;color:var(--ink)}
.ctgh-formsec .b24-form-wrapper{max-width:560px;margin:0!important;box-shadow:none!important;background:none!important;padding:0!important}
.ctgh-formsec .b24-form-btn{background:linear-gradient(115deg,#a7519d,#4751a0)!important;border-radius:12px!important;font:600 16px 'Golos Text',Arial,sans-serif!important;border:0!important;color:#fff!important;min-height:52px}
.ctgh-formsec .b24-form-field input,.ctgh-formsec .b24-form-control{font-family:'Golos Text',Arial,sans-serif!important;font-size:16px!important}
.ctgh-formsec .fs-lead{font-size:18px;color:var(--muted);margin:0 0 22px;line-height:1.5}
.ctgh-formsec .fs-note{font-size:14px;color:var(--muted);margin:18px 0 0;line-height:1.5}
@media(max-width:1020px){
  .ctgh .pg-hero .wrap,.ctgh .pg-people{grid-template-columns:1fr}
  .ctgh .pg-hero .wrap{gap:28px}
  .ctgh .pg-h1{font-size:38px}
  .ctgh .pg-stack{height:330px}
  .ctgh .pg-pick-row{grid-template-columns:1fr auto;gap:4px 16px;padding:18px 4px}
  .ctgh .pg-pick-row .d{grid-column:1/-1;order:3}
  .ctgh .pg-pick-row .ar{display:none}
  .ctgh .pg-peek{display:none}
  .ctgh .pg-ring{height:300px}
  .ctgh .pg-ring-in{width:220px;height:165px;margin-top:50px}
  .ctgh .pg-ring figure{transform:rotateY(calc(var(--i)*72deg)) translateZ(230px)}
  .ctgh .pg-people{gap:44px}
  .ctgh .pg-prices{margin:10px 12px;border-radius:14px}
  .ctgh .pg-prog-in{grid-template-columns:1fr}
  .ctgh .pg-prog-img{aspect-ratio:4/3;max-width:420px}
  .ctgh .pg-testbar{grid-template-columns:1fr;padding:26px 22px}
  .ctgh .pg-testbar-rocket{width:72px;height:72px}
  .ctgh-formsec{padding:28px 20px!important;margin:0 16px 50px!important;width:calc(100% - 32px)!important}
}
@media(max-width:640px){
  .ctgh .pg-h1{font-size:32px}
  .ctgh .pg-h2{font-size:28px}
  .ctgh .pg-lead{font-size:18px}
  .ctgh .pg-stack{height:270px}
  .ctgh .st-rocket{width:64px;height:64px}
  .ctgh .pg-teachers{grid-template-columns:1fr 1fr 1fr;gap:10px}
  .ctgh .pg-teacher em{display:none}
  .ctgh .pg-teacher b{font-size:16px}
  .ctgh .pg-teacher span{font-size:12.5px}
}
@media(prefers-reduced-motion:reduce){
  .ctgh .pg-stack-in,.ctgh .st-rocket,.ctgh .pg-testbar-rocket,.ctgh .pg-ring-in{animation:none!important}
  .ctgh .pg-ring{height:auto;perspective:none}
  .ctgh .pg-ring-in{width:auto;height:auto;margin:20px 0 0;display:flex;gap:14px;overflow-x:auto;transform:none!important}
  .ctgh .pg-ring figure{position:static;transform:none;flex:0 0 260px;height:195px}
  .ctgh.js .rv{opacity:1;transform:none;transition:none}
}
/* таблица цен и вопросы, которые выводит плагин ctgroup-ai-schema (стили только на страницах нового дизайна) */
body:has(.ctgh-page) .ctg-prices,body:has(.ctgh-page) .ctg-faq{box-sizing:border-box!important;width:100%!important;max-width:1136px!important;margin:0 auto!important;padding:0 24px!important;font-family:'Golos Text',Arial,sans-serif}
body:has(.ctgh-page) .ctg-prices{padding:0!important}
body:has(.ctgh-page) .ctg-prices h2,body:has(.ctgh-page) .ctg-faq h2{font-size:36px!important;font-weight:800!important;color:#241d36!important;letter-spacing:-.015em;line-height:1.15!important;text-align:left!important;margin:0 0 22px!important}
body:has(.ctgh-page) .ctg-prices>div{border:1px solid #e7e2ef;border-radius:12px;overflow:hidden;background:#fff}
body:has(.ctgh-page) .ctg-prices table{width:100%;border-collapse:collapse!important;background:#fff!important}
body:has(.ctgh-page) .ctg-prices th{background:#241d36!important;color:#fff!important;font-weight:600;padding:14px 18px!important;border:0!important}
body:has(.ctgh-page) .ctg-prices td{border:0!important;border-bottom:1px solid #eee9f4!important;padding:14px 18px!important;color:#241d36;font-size:15.5px}
body:has(.ctgh-page) .ctg-prices tr:last-child td{border-bottom:0!important}
body:has(.ctgh-page) .ctg-prices td:nth-child(2){color:#6d3d85!important;font-weight:700!important;white-space:nowrap}
body:has(.ctgh-page) .ctg-prices p{color:#6b6480!important;font-size:13.5px!important}
body:has(.ctgh-page) .ctg-prices a{color:#6d3d85!important}
body:has(.ctgh-page) .ctg-faq{max-width:1200px!important;margin:30px auto 20px!important;padding:0 32px!important}
body:has(.ctgh-page) .ctg-faq details{border:0!important;border-top:1px solid #dcd6e4!important;border-radius:0!important;background:none!important;margin:0!important}
body:has(.ctgh-page) .ctg-faq details:last-of-type{border-bottom:1px solid #dcd6e4!important}
body:has(.ctgh-page) .ctg-faq summary{color:#241d36!important;font-size:17px!important;font-weight:600!important;padding:22px 40px 22px 0!important;list-style:none;position:relative}
body:has(.ctgh-page) .ctg-faq summary::-webkit-details-marker{display:none}
body:has(.ctgh-page) .ctg-faq summary::after{content:"+";position:absolute;right:4px;top:16px;color:#8a51a0;font-size:26px;font-weight:400;transition:transform .25s}
body:has(.ctgh-page) .ctg-faq details[open] summary::after{transform:rotate(45deg)}
body:has(.ctgh-page) .ctg-faq details>div{color:#6b6480!important;padding:0 0 22px!important;max-width:760px;font-size:15.5px}
@media(max-width:640px){body:has(.ctgh-page) .ctg-prices h2,body:has(.ctgh-page) .ctg-faq h2{font-size:28px!important}body:has(.ctgh-page) .ctg-prices td:nth-child(2){white-space:normal}body:has(.ctgh-page) .ctg-faq{padding:0 16px!important}}
