/* =========================================================
   Physics.SQ — Theme stylesheet
   Design tokens, keyframes and every component class.
   Colours / type / spacing reproduce the original HTML 1:1.
   ========================================================= */

:root{
  --pq-bg:#050D14;
  --pq-bg-2:#081826;
  --pq-bg-3:#0B2130;
  --pq-text:#E8F6F4;
  --pq-teal:#2DD4BF;
  --pq-amber:#FFB454;
  --pq-danger:#FF7A66;
  --pq-on-teal:#04231E;
  --pq-on-amber:#2A1600;
  --pq-line:rgba(45,212,191,0.22);
  --pq-line-soft:rgba(45,212,191,0.2);
  --pq-line-strong:rgba(45,212,191,0.28);
  --pq-muted-40:rgba(232,246,244,0.4);
  --pq-muted-45:rgba(232,246,244,0.45);
  --pq-muted-50:rgba(232,246,244,0.5);
  --pq-muted-55:rgba(232,246,244,0.55);
  --pq-muted-60:rgba(232,246,244,0.6);
  --pq-muted-62:rgba(232,246,244,0.62);
  --pq-muted-70:rgba(232,246,244,0.7);
  --pq-muted-85:rgba(232,246,244,0.85);
  --pq-sans:Helvetica,Arial,sans-serif;
  --pq-mono:ui-monospace,Menlo,Consolas,monospace;
  --pq-max:1340px;
  --pq-gutter:26px;
  --pq-ease:cubic-bezier(.2,.8,.3,1);
}

/* ---------- Keyframes (identical to source) ---------- */
@keyframes pq-draw{from{stroke-dashoffset:1400}to{stroke-dashoffset:0}}
@keyframes pq-scan{from{transform:translateY(-100%)}to{transform:translateY(1200%)}}
@keyframes pq-orbit{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes pq-orbit-rev{from{transform:rotate(360deg)}to{transform:rotate(0deg)}}
@keyframes pq-pulse{0%,100%{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.18)}}
@keyframes pq-skewIn{from{opacity:0;transform:translateY(56px) skewY(3deg)}to{opacity:1;transform:translateY(0) skewY(0deg)}}
@keyframes pq-slideL{from{opacity:0;transform:translateX(-60px) skewX(-4deg)}to{opacity:1;transform:translateX(0) skewX(0deg)}}
@keyframes pq-slideR{from{opacity:0;transform:translateX(60px) skewX(4deg)}to{opacity:1;transform:translateX(0) skewX(0deg)}}
@keyframes pq-meter{from{transform:scaleX(0);transform-origin:0 50%}to{transform:scaleX(1);transform-origin:0 50%}}
@keyframes pq-flicker{0%,100%{opacity:1}92%{opacity:1}94%{opacity:.72}96%{opacity:1}}
@keyframes pq-pop{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001s!important;animation-iteration-count:1!important}
}

/* ---------- Base ---------- */
html{scroll-behavior:smooth}
body{margin:0;background:var(--pq-bg);color:var(--pq-text);font:400 16px/1.6 var(--pq-sans);-webkit-font-smoothing:antialiased}
body a{color:var(--pq-teal);text-decoration:none;transition:color .2s}
body a:hover{color:var(--pq-amber)}
img{max-width:100%;height:auto}
*,*::before,*::after{box-sizing:border-box}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);margin:-1px;word-wrap:normal!important}
.pq-mono{font-family:var(--pq-mono)}
.pq-wrap{max-width:var(--pq-max);margin:0 auto;padding:0 var(--pq-gutter)}
.pq-teal{color:var(--pq-teal)}

/* Scroll reveal (JS adds .is-visible via IntersectionObserver; native
   animation-timeline is used when the browser supports it) */
.pq-js .pq-reveal{opacity:0}
.pq-js .pq-reveal.is-visible[data-reveal="skew"]{animation:pq-skewIn .8s var(--pq-ease) both}
.pq-js .pq-reveal.is-visible[data-reveal="left"]{animation:pq-slideL .9s var(--pq-ease) both}
.pq-js .pq-reveal.is-visible[data-reveal="right"]{animation:pq-slideR .9s var(--pq-ease) both}
.pq-js .pq-reveal.is-visible{opacity:1}
/* Stagger for grids */
.pq-js .pq-reveal.is-visible:nth-child(2){animation-delay:.07s}
.pq-js .pq-reveal.is-visible:nth-child(3){animation-delay:.14s}
.pq-js .pq-reveal.is-visible:nth-child(4){animation-delay:.21s}
.pq-js .pq-reveal.is-visible:nth-child(5){animation-delay:.28s}
.pq-js .pq-reveal.is-visible:nth-child(6){animation-delay:.35s}
/* Inside the Elementor editor everything is always visible */
.elementor-editor-active .pq-reveal{opacity:1!important;animation:none!important}

/* ---------- Buttons ---------- */
.pq-btn{display:inline-flex;align-items:center;font:700 11px/1 var(--pq-mono);letter-spacing:1.6px;text-decoration:none;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.pq-btn--primary{color:var(--pq-on-teal);background:var(--pq-teal);padding:19px 30px;clip-path:polygon(14px 0,100% 0,calc(100% - 14px) 100%,0 100%)}
.pq-btn--primary:hover{background:var(--pq-amber);color:var(--pq-on-amber)}
.pq-btn--ghost{color:var(--pq-text);border:1px solid rgba(232,246,244,0.3);padding:18px 29px}
.pq-btn--ghost:hover{border-color:var(--pq-teal);color:var(--pq-teal)}
.pq-btn--amber{color:var(--pq-on-amber);background:var(--pq-amber);padding:19px 30px;clip-path:polygon(14px 0,100% 0,calc(100% - 14px) 100%,0 100%)}
.pq-btn--amber:hover{background:var(--pq-teal);color:var(--pq-on-teal)}
.pq-btn--link{color:var(--pq-amber);padding:0}
.pq-btn--link:hover{color:var(--pq-teal)}

/* ---------- Eyebrow / section headings ---------- */
.pq-eyebrow{display:flex;align-items:center;gap:12px;font:500 10px/1 var(--pq-mono);letter-spacing:2.4px;color:var(--pq-amber);margin:0 0 18px}
.pq-eyebrow--teal{color:var(--pq-teal)}
.pq-eyebrow__dot{width:6px;height:6px;border-radius:50%;background:var(--pq-amber);box-shadow:0 0 10px var(--pq-amber);flex:none}
.pq-h2{font:800 clamp(28px,3.6vw,46px)/1.08 var(--pq-sans);letter-spacing:-1.8px;margin:0 0 12px;color:var(--pq-text)}
.pq-h2--xl{font-size:clamp(32px,4.4vw,56px);line-height:1;letter-spacing:-2.4px;margin:0}
.pq-h2--lg{font-size:clamp(30px,4vw,50px);line-height:1.02;letter-spacing:-2.2px;margin:0 0 22px}
.pq-lead{font:400 14px/1.7 var(--pq-sans);color:var(--pq-muted-50);margin:0 0 40px;max-width:48ch}
.pq-section{position:relative;border-top:1px solid var(--pq-line);padding:92px var(--pq-gutter) 100px}
.pq-section--bg{background:var(--pq-bg)}
.pq-section--bg2{background:var(--pq-bg-2)}
.pq-section--no-border{border-top:0}
.pq-section__head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;margin-bottom:50px}
.pq-section__meta{font:500 11px/1.9 var(--pq-mono);color:var(--pq-muted-45);text-align:right;white-space:pre-line}
.pq-section--unis{padding:88px var(--pq-gutter)}
.pq-section--testimonials{padding:92px var(--pq-gutter)}
.pq-h2--testimonials{margin-bottom:48px}
.pq-grid{display:flex;flex-wrap:wrap;gap:16px}
.pq-grid--tight{gap:10px}

/* ---------- Header ---------- */
.pq-header{position:sticky;top:0;z-index:60;background:rgba(5,13,20,0.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--pq-line-strong)}
.pq-header__inner{max-width:var(--pq-max);margin:0 auto;padding:0 var(--pq-gutter);display:flex;align-items:stretch;justify-content:space-between;gap:22px}
.pq-brand{display:flex;align-items:center;gap:14px;padding:14px 0;color:var(--pq-text);text-decoration:none}
.pq-brand:hover{color:var(--pq-text)}
.pq-brand__mark{position:relative;width:36px;height:36px;flex:none}
.pq-brand__ring{position:absolute;inset:0;border:1px solid rgba(45,212,191,0.5);border-radius:50%;animation:pq-orbit 12s linear infinite}
.pq-brand__sat{position:absolute;top:-3px;left:50%;width:6px;height:6px;border-radius:50%;background:var(--pq-amber);box-shadow:0 0 8px var(--pq-amber)}
.pq-brand__core{position:absolute;top:50%;left:50%;width:10px;height:10px;margin:-5px;border-radius:50%;background:var(--pq-teal);box-shadow:0 0 14px var(--pq-teal);animation:pq-pulse 2.6s ease-in-out infinite}
.pq-brand__logo{height:36px;width:auto;display:block}
.pq-brand__name{font:800 19px/1 var(--pq-sans);letter-spacing:-0.4px}
.pq-brand__sub{font:500 9px/1.4 var(--pq-mono);letter-spacing:1.6px;color:var(--pq-muted-45)}
.pq-nav{display:flex;align-items:center;gap:24px;flex-wrap:nowrap;overflow:hidden}
.pq-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:24px}
.pq-nav li{margin:0}
.pq-nav a{font:500 11px/1 var(--pq-mono);letter-spacing:1.4px;color:var(--pq-muted-70);text-decoration:none;white-space:nowrap;transition:color .2s}
.pq-nav a:hover,.pq-nav .current-menu-item>a,.pq-nav .current_page_item>a{color:var(--pq-teal)}
.pq-header__cta{display:flex;align-items:center;font:700 11px/1 var(--pq-mono);letter-spacing:1.6px;color:var(--pq-on-teal);background:var(--pq-teal);padding:0 24px;white-space:nowrap;clip-path:polygon(12px 0,100% 0,100% 100%,0 100%);text-decoration:none;transition:background .2s,color .2s}
.pq-header__cta:hover{background:var(--pq-amber);color:var(--pq-on-amber)}
.pq-burger{display:none;background:none;border:1px solid var(--pq-line-strong);color:var(--pq-teal);width:44px;height:44px;align-self:center;cursor:pointer;padding:0;flex:none}
.pq-burger span{display:block;width:18px;height:2px;background:currentColor;margin:4px auto;transition:transform .25s,opacity .25s}
.pq-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.pq-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.pq-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
@media (max-width:900px){
  .pq-nav{display:none;position:absolute;left:0;right:0;top:100%;background:rgba(5,13,20,0.98);border-bottom:1px solid var(--pq-line-strong);padding:18px var(--pq-gutter) 22px;overflow:visible}
  .pq-nav.is-open{display:block}
  .pq-nav ul{flex-direction:column;align-items:flex-start;gap:18px}
  .pq-header__cta{display:none}
  .pq-burger{display:block}
  .pq-header__inner{position:relative}
}

/* ---------- Hero ---------- */
.pq-hero{position:relative;overflow:hidden;background:var(--pq-bg)}
.pq-hero__lines{position:absolute;inset:0;background-image:repeating-linear-gradient(0deg,rgba(45,212,191,0.05) 0 1px,transparent 1px 3px);opacity:.7;pointer-events:none}
.pq-hero__scan{position:absolute;left:0;right:0;top:0;height:70px;background:linear-gradient(180deg,transparent,rgba(45,212,191,0.06),transparent);animation:pq-scan 9s linear infinite;pointer-events:none}
.pq-hero__inner{position:relative;max-width:var(--pq-max);margin:0 auto;display:flex;flex-wrap:wrap;align-items:stretch}
.pq-hero__copy{flex:1 1 540px;min-width:300px;padding:74px 40px 70px var(--pq-gutter);animation:pq-slideL .9s var(--pq-ease) both}
.pq-hero__eyebrow{color:var(--pq-teal);margin-bottom:28px}
.pq-hero__title{font:800 clamp(42px,5.6vw,76px)/0.98 var(--pq-sans);letter-spacing:-3px;margin:0 0 26px;max-width:16ch;animation:pq-flicker 7s linear infinite;color:var(--pq-text)}
.pq-hero__lead{font:400 18px/1.7 var(--pq-sans);color:var(--pq-muted-62);max-width:46ch;margin:0 0 36px}
.pq-hero__actions{display:flex;flex-wrap:wrap;gap:12px}
.pq-hero__formulas{display:flex;flex-wrap:wrap;gap:26px;margin-top:44px;padding-top:22px;border-top:1px solid var(--pq-line-soft);font:500 11px/1.8 var(--pq-mono);color:var(--pq-muted-50)}
.pq-hero__scope{flex:1 1 380px;min-width:300px;position:relative;border-left:1px solid var(--pq-line-soft);min-height:460px;animation:pq-slideR .9s var(--pq-ease) both}
.pq-hero__scope-label{position:absolute;top:26px;left:26px;font:500 10px/1.8 var(--pq-mono);letter-spacing:1.4px;color:var(--pq-muted-40);white-space:pre-line}
.pq-hero__wave{position:absolute;inset:0;width:100%;height:100%}
.pq-hero__wave-a{animation:pq-draw 4.5s ease-out both;filter:drop-shadow(0 0 8px rgba(45,212,191,0.7))}
.pq-hero__wave-b{animation:pq-draw 6s .4s ease-out both}
.pq-orbit{position:absolute;bottom:36px;right:36px;width:150px;height:150px}
.pq-orbit__outer{position:absolute;inset:0;border:1px solid rgba(45,212,191,0.3);border-radius:50%}
.pq-orbit__mid{position:absolute;inset:22px;border:1px dashed rgba(255,180,84,0.4);border-radius:50%;animation:pq-orbit 16s linear infinite}
.pq-orbit__mid-sat{position:absolute;top:-4px;left:50%;width:8px;height:8px;border-radius:50%;background:var(--pq-amber);box-shadow:0 0 12px var(--pq-amber)}
.pq-orbit__inner{position:absolute;inset:48px;border:1px solid rgba(45,212,191,0.35);border-radius:50%;animation:pq-orbit-rev 11s linear infinite}
.pq-orbit__inner-sat{position:absolute;bottom:-3px;left:50%;width:6px;height:6px;border-radius:50%;background:var(--pq-teal);box-shadow:0 0 10px var(--pq-teal)}
.pq-orbit__core{position:absolute;top:50%;left:50%;width:14px;height:14px;margin:-7px;border-radius:50%;background:var(--pq-teal);box-shadow:0 0 22px var(--pq-teal);animation:pq-pulse 2.8s ease-in-out infinite}
@media (max-width:640px){.pq-hero__copy{padding:56px var(--pq-gutter) 48px}.pq-hero__scope{border-left:0;border-top:1px solid var(--pq-line-soft);min-height:360px}}

/* ---------- Stats ---------- */
.pq-stats{background:var(--pq-bg-2);border-top:1px solid var(--pq-line);border-bottom:1px solid var(--pq-line)}
.pq-stats__inner{max-width:var(--pq-max);margin:0 auto;display:flex;flex-wrap:wrap;padding:0 var(--pq-gutter)}
.pq-stat{flex:1 1 200px;padding:44px 26px 40px 0}
.pq-stat__ch{font:500 9.5px/1 var(--pq-mono);letter-spacing:1.8px;color:var(--pq-muted-40);margin-bottom:18px}
.pq-stat__value{font:700 clamp(30px,3.6vw,44px)/1 var(--pq-mono);color:var(--pq-teal);letter-spacing:-1px;margin-bottom:16px}
.pq-stat__meter{height:3px;background:rgba(45,212,191,0.16);margin-bottom:16px;max-width:120px}
.pq-stat__meter-fill{height:3px;background:var(--pq-amber);transform:scaleX(0);transform-origin:0 50%}
.pq-stat.is-visible .pq-stat__meter-fill,.elementor-editor-active .pq-stat__meter-fill{animation:pq-meter 1.2s .2s var(--pq-ease) both}
.pq-stat__label{font:400 12.5px/1.6 var(--pq-sans);color:var(--pq-muted-55);max-width:22ch}

/* ---------- Courses ---------- */
.pq-course{flex:1 1 300px;position:relative;overflow:hidden;background:var(--pq-bg-2);border:1px solid var(--pq-line);padding:30px 26px 28px;clip-path:polygon(0 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%);transition:transform .3s var(--pq-ease),border-color .3s,background .3s;color:var(--pq-text);text-decoration:none;display:block}
.pq-course:hover{transform:translateY(-8px);border-color:var(--pq-teal);background:var(--pq-bg-3);color:var(--pq-text)}
.pq-course__top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:34px}
.pq-course__tag{font:500 9.5px/1 var(--pq-mono);letter-spacing:1.8px;color:var(--pq-amber)}
.pq-course__idx{font:500 9.5px/1 var(--pq-mono);color:rgba(232,246,244,0.35)}
.pq-course__title{font:700 24px/1.2 var(--pq-sans);letter-spacing:-0.8px;margin:0 0 20px;color:var(--pq-text)}
.pq-course__foot{display:flex;align-items:center;gap:10px;border-top:1px solid var(--pq-line-soft);padding-top:16px}
.pq-course__dot{width:5px;height:5px;border-radius:50%;background:var(--pq-teal);box-shadow:0 0 8px var(--pq-teal);flex:none}
.pq-course__code{font:600 12px/1 var(--pq-mono);letter-spacing:1.2px;color:var(--pq-teal)}

/* ---------- About / teacher ---------- */
.pq-about{background:var(--pq-bg-2);border-top:1px solid var(--pq-line)}
.pq-about__inner{max-width:var(--pq-max);margin:0 auto;display:flex;flex-wrap:wrap;align-items:center}
.pq-about__media{flex:1 1 380px;min-width:300px;padding:64px var(--pq-gutter);display:flex;justify-content:center}
.pq-about__frame{position:relative;width:min(100%,380px)}
.pq-about__ring{position:absolute;inset:-26px;border:1px solid rgba(45,212,191,0.25);border-radius:50%;animation:pq-orbit 40s linear infinite;pointer-events:none}
.pq-about__ring-sat{position:absolute;top:-4px;left:50%;width:8px;height:8px;border-radius:50%;background:var(--pq-amber);box-shadow:0 0 12px var(--pq-amber)}
.pq-about__photo{position:relative;aspect-ratio:1/1;border-radius:50%;overflow:hidden;border:1px solid rgba(45,212,191,0.5);background:var(--pq-bg);display:flex;align-items:center;justify-content:center}
.pq-about__photo img{width:100%;height:100%;object-fit:cover;display:block}
.pq-about__photo-placeholder{font:500 10px/1.6 var(--pq-mono);letter-spacing:1.6px;color:var(--pq-muted-40);text-align:center;padding:20px}
.pq-about__name{position:absolute;bottom:-14px;left:50%;transform:translateX(-50%);background:var(--pq-bg);border:1px solid var(--pq-teal);padding:11px 20px;font:600 10px/1 var(--pq-mono);letter-spacing:1.8px;color:var(--pq-teal);white-space:nowrap}
.pq-about__copy{flex:1 1 460px;min-width:300px;padding:74px var(--pq-gutter) 74px 46px}
.pq-about__copy .pq-eyebrow{margin-bottom:20px}
.pq-about__title{margin:0 0 26px}
.pq-about__text p{font:400 17px/1.8 var(--pq-sans);color:var(--pq-muted-62);margin:0 0 18px;max-width:52ch}
.pq-about__text p:last-child{margin-bottom:32px}
.pq-chips{display:flex;flex-wrap:wrap;gap:10px}
.pq-chip{font:600 10px/1 var(--pq-mono);letter-spacing:1.6px;color:var(--pq-teal);border:1px solid rgba(45,212,191,0.35);padding:12px 16px}
@media (max-width:640px){.pq-about__copy{padding:40px var(--pq-gutter) 64px}}

/* ---------- Universities ---------- */
.pq-uni{flex:1 1 200px;display:flex;align-items:center;gap:12px;background:var(--pq-bg-2);border:1px solid var(--pq-line-soft);padding:20px 22px;font:600 14px/1.2 var(--pq-sans);letter-spacing:-0.3px;transition:border-color .25s,background .25s;color:var(--pq-text)}
.pq-uni:hover{border-color:var(--pq-amber);background:var(--pq-bg-3)}
.pq-uni__dot{width:5px;height:5px;border-radius:50%;background:var(--pq-amber);flex:none}

/* ---------- Testimonials ---------- */
.pq-testimonial{flex:1 1 300px;background:var(--pq-bg);border:1px solid var(--pq-line);padding:34px 30px;clip-path:polygon(0 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%);transition:border-color .25s}
.pq-testimonial:hover{border-color:var(--pq-teal)}
.pq-testimonial__entry{font:500 11px/1 var(--pq-mono);color:var(--pq-teal);margin-bottom:22px}
.pq-testimonial__quote{font:400 15.5px/1.75 var(--pq-sans);color:var(--pq-muted-85);margin:0 0 26px}
.pq-testimonial__name{font:700 13.5px/1 var(--pq-sans)}
.pq-testimonial__loc{font:500 10px/1 var(--pq-mono);letter-spacing:1.6px;color:var(--pq-muted-40);margin-top:9px}

/* ---------- Registration ---------- */
.pq-register{position:relative;overflow:hidden;background:var(--pq-bg);padding:92px var(--pq-gutter);border-top:1px solid var(--pq-line)}
.pq-register__lines{position:absolute;inset:0;background-image:repeating-linear-gradient(90deg,rgba(45,212,191,0.05) 0 1px,transparent 1px 46px);pointer-events:none}
.pq-register__inner{position:relative;max-width:1180px;margin:0 auto;display:flex;gap:52px;flex-wrap:wrap;align-items:flex-start}
.pq-register__aside{flex:1 1 320px;min-width:280px}
.pq-register__text{font:400 16px/1.7 var(--pq-sans);color:var(--pq-muted-60);margin:0 0 30px;max-width:40ch}
.pq-register__steps{font:500 11px/2 var(--pq-mono);color:var(--pq-muted-45);border-top:1px solid var(--pq-line);padding-top:20px}
.pq-register__form-col{flex:1 1 460px;min-width:300px}
.pq-form{background:var(--pq-bg-2);border:1px solid rgba(45,212,191,0.3);padding:38px 34px}
.pq-form__progress{display:flex;gap:6px;margin-bottom:30px}
.pq-form__bar{width:36px;height:4px;background:rgba(232,246,244,0.18);transition:background .3s}
.pq-form__bar.is-active{background:var(--pq-teal)}
.pq-form__step{display:none}
.pq-form__step.is-active{display:block;animation:pq-pop .3s ease}
.pq-form[data-mode="single"] .pq-form__step+.pq-form__step{margin-top:20px}
.pq-field{margin-bottom:20px}
.pq-field:last-child{margin-bottom:0}
.pq-field--choice{margin-bottom:26px}
.pq-label{display:block;font:500 9.5px/1 var(--pq-mono);letter-spacing:1.8px;color:var(--pq-muted-50);margin-bottom:10px}
.pq-field--choice .pq-label{margin-bottom:12px}
.pq-input{width:100%;box-sizing:border-box;padding:14px 15px;border-radius:0;border:1px solid rgba(232,246,244,0.18);background:var(--pq-bg);color:var(--pq-text);font:400 15px/1 var(--pq-sans);outline:none;transition:border-color .2s}
.pq-input:focus{border-color:var(--pq-teal)}
.pq-input.is-invalid{border-color:var(--pq-danger)}
.pq-input::placeholder{color:rgba(232,246,244,0.3)}
textarea.pq-input{line-height:1.5;min-height:120px;resize:vertical}
.pq-error{font:500 11px/1 var(--pq-mono);color:var(--pq-danger);margin-top:8px;display:none}
.pq-error.is-visible{display:block}
.pq-field--choice .pq-error{margin-top:10px}
.pq-choices{display:flex;gap:8px;flex-wrap:wrap}
.pq-choice{font:600 10.5px/1 var(--pq-mono);letter-spacing:1.6px;color:var(--pq-text);background:transparent;border:1px solid rgba(232,246,244,0.28);border-radius:0;padding:13px 17px;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.pq-choice:hover{border-color:var(--pq-teal)}
.pq-choice.is-active{color:var(--pq-on-teal);background:var(--pq-teal);border-color:var(--pq-teal)}
.pq-review{border:1px solid rgba(45,212,191,0.3);padding:22px}
.pq-review__title{font:500 9.5px/1 var(--pq-mono);letter-spacing:1.8px;color:var(--pq-amber);margin-bottom:16px}
.pq-review__rows{font:400 15px/1.9 var(--pq-sans);color:var(--pq-muted-85)}
.pq-form__actions{display:flex;gap:8px;margin-top:28px}
.pq-form__btn{flex:1;padding:16px;font:700 11px/1 var(--pq-mono);letter-spacing:1.6px;cursor:pointer;border-radius:0;transition:opacity .2s,background .2s,color .2s}
.pq-form__btn--back{border:1px solid rgba(232,246,244,0.3);background:transparent;color:var(--pq-text)}
.pq-form__btn--back:hover{border-color:var(--pq-teal);color:var(--pq-teal)}
.pq-form__btn--next{border:1px solid var(--pq-teal);background:var(--pq-teal);color:var(--pq-on-teal)}
.pq-form__btn--next:hover{background:var(--pq-amber);border-color:var(--pq-amber);color:var(--pq-on-amber)}
.pq-form__btn--submit{border:1px solid var(--pq-amber);background:var(--pq-amber);color:var(--pq-on-amber)}
.pq-form__btn--submit:hover{background:var(--pq-teal);border-color:var(--pq-teal);color:var(--pq-on-teal)}
.pq-form__btn[disabled]{opacity:.6;cursor:wait}
.pq-form__btn[hidden]{display:none}
.pq-form__notice{font:500 11px/1.5 var(--pq-mono);color:var(--pq-danger);margin-top:14px;display:none}
.pq-form__notice.is-visible{display:block}
.pq-form__success{display:none;background:var(--pq-bg-2);border:1px solid var(--pq-teal);padding:46px 36px;animation:pq-pop .35s ease}
.pq-form__success.is-visible{display:block}
.pq-form__success-check{font:700 40px/1 var(--pq-mono);color:var(--pq-teal);margin-bottom:18px}
.pq-form__success h3{font:800 24px/1.25 var(--pq-sans);letter-spacing:-1px;margin:0 0 14px;color:var(--pq-text)}
.pq-form__success p{font:400 15px/1.7 var(--pq-sans);color:rgba(232,246,244,0.65);margin:0}
.pq-form__success a{display:inline-block;margin-top:24px;font:700 11px/1 var(--pq-mono);letter-spacing:1.6px;color:var(--pq-amber)}
.pq-hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
@media (max-width:640px){.pq-register{padding:64px var(--pq-gutter)}.pq-form{padding:28px 22px}}

/* ---------- Contact block ---------- */
.pq-contact{display:flex;flex-wrap:wrap;gap:44px}
.pq-contact__col{flex:1 1 220px}
.pq-contact__label,.pq-footer__label{font:500 9.5px/1 var(--pq-mono);letter-spacing:2px;color:var(--pq-amber);margin-bottom:18px}
.pq-contact__lines,.pq-footer__lines{font:400 14px/1.9 var(--pq-sans);color:var(--pq-muted-60)}
.pq-contact__lines a,.pq-footer__lines a{color:inherit}
.pq-contact__lines a:hover,.pq-footer__lines a:hover{color:var(--pq-teal)}
.pq-social{display:flex;gap:8px;flex-wrap:wrap}
.pq-social a,.pq-social span{font:600 10px/1 var(--pq-mono);letter-spacing:1.4px;border:1px solid rgba(232,246,244,0.25);padding:11px 16px;color:var(--pq-text);transition:border-color .2s,color .2s}
.pq-social a:hover{border-color:var(--pq-teal);color:var(--pq-teal)}

/* ---------- Footer ---------- */
.pq-footer{background:var(--pq-bg-2);padding:70px var(--pq-gutter) 30px;border-top:1px solid var(--pq-line)}
.pq-footer__grid{max-width:var(--pq-max);margin:0 auto;display:flex;flex-wrap:wrap;gap:44px;padding-bottom:42px;border-bottom:1px solid var(--pq-line-soft)}
.pq-footer__brand{flex:1 1 280px}
.pq-footer__col{flex:1 1 220px}
.pq-footer__logo{font:800 19px/1 var(--pq-sans);letter-spacing:-0.4px;margin-bottom:16px;color:var(--pq-text)}
.pq-footer__desc{font:400 14px/1.7 var(--pq-sans);color:var(--pq-muted-55);max-width:32ch;margin:0}
.pq-footer__menu ul{list-style:none;margin:0;padding:0;font:400 14px/1.9 var(--pq-sans)}
.pq-footer__menu a{color:var(--pq-muted-60)}
.pq-footer__menu a:hover{color:var(--pq-teal)}
.pq-footer__bottom{max-width:var(--pq-max);margin:0 auto;padding-top:24px;font:500 10px/1 var(--pq-mono);letter-spacing:1.4px;color:var(--pq-muted-40)}
.pq-footer .widget{margin-bottom:22px}
.pq-footer .widget-title{font:500 9.5px/1 var(--pq-mono);letter-spacing:2px;color:var(--pq-amber);margin:0 0 18px;text-transform:uppercase}

/* ---------- Generic pages / blog ---------- */
.pq-page{background:var(--pq-bg);border-top:1px solid var(--pq-line)}
.pq-page__header{padding:88px var(--pq-gutter) 40px}
.pq-page__body{padding:0 var(--pq-gutter) 96px}
.pq-content{max-width:820px}
.pq-content p{font:400 17px/1.8 var(--pq-sans);color:var(--pq-muted-62);margin:0 0 18px}
.pq-content h2,.pq-content h3,.pq-content h4{font-family:var(--pq-sans);font-weight:800;letter-spacing:-1px;color:var(--pq-text);margin:40px 0 14px;line-height:1.15}
.pq-content h2{font-size:32px}.pq-content h3{font-size:24px}.pq-content h4{font-size:19px}
.pq-content ul,.pq-content ol{color:var(--pq-muted-62);font:400 17px/1.8 var(--pq-sans);padding-left:22px}
.pq-content blockquote{border-left:2px solid var(--pq-teal);margin:26px 0;padding:6px 0 6px 22px;color:var(--pq-muted-85);font-style:italic}
.pq-content pre,.pq-content code{font-family:var(--pq-mono);background:var(--pq-bg-2);border:1px solid var(--pq-line);font-size:13px}
.pq-content pre{padding:18px;overflow:auto}
.pq-content code{padding:2px 6px}
.pq-content img{display:block;margin:26px 0}
.pq-content .wp-block-image figcaption,.pq-content figcaption{font:500 10px/1.6 var(--pq-mono);letter-spacing:1.4px;color:var(--pq-muted-40)}
.pq-content table{width:100%;border-collapse:collapse;font:400 15px/1.6 var(--pq-sans);color:var(--pq-muted-85)}
.pq-content th,.pq-content td{border:1px solid var(--pq-line);padding:10px 12px;text-align:left}
.pq-content .alignleft{float:left;margin:6px 26px 18px 0}.pq-content .alignright{float:right;margin:6px 0 18px 26px}.pq-content .aligncenter{margin-left:auto;margin-right:auto}
.pq-meta{font:500 10px/1 var(--pq-mono);letter-spacing:1.8px;color:var(--pq-muted-40);margin-bottom:18px;text-transform:uppercase}
.pq-meta a{color:var(--pq-amber)}
.pq-posts{display:flex;flex-wrap:wrap;gap:16px}
.pq-post-card{flex:1 1 300px;max-width:100%;background:var(--pq-bg-2);border:1px solid var(--pq-line);padding:30px 26px 28px;clip-path:polygon(0 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%);transition:transform .3s var(--pq-ease),border-color .3s,background .3s;display:flex;flex-direction:column}
.pq-post-card:hover{transform:translateY(-8px);border-color:var(--pq-teal);background:var(--pq-bg-3)}
.pq-post-card__thumb{margin:-30px -26px 24px;display:block;aspect-ratio:16/9;overflow:hidden;border-bottom:1px solid var(--pq-line)}
.pq-post-card__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.pq-post-card__title{font:700 22px/1.2 var(--pq-sans);letter-spacing:-0.8px;margin:0 0 14px}
.pq-post-card__title a{color:var(--pq-text)}
.pq-post-card__title a:hover{color:var(--pq-teal)}
.pq-post-card__excerpt{font:400 14.5px/1.7 var(--pq-sans);color:var(--pq-muted-55);margin:0 0 20px;flex:1}
.pq-post-card__more{font:600 11px/1 var(--pq-mono);letter-spacing:1.4px;color:var(--pq-teal)}
.pq-pagination{display:flex;gap:8px;flex-wrap:wrap;margin-top:44px}
.pq-pagination .page-numbers{font:600 10px/1 var(--pq-mono);letter-spacing:1.4px;border:1px solid rgba(232,246,244,0.25);padding:12px 16px;color:var(--pq-text)}
.pq-pagination .page-numbers.current,.pq-pagination .page-numbers:hover{border-color:var(--pq-teal);color:var(--pq-teal)}
.pq-post-nav{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:56px;padding-top:26px;border-top:1px solid var(--pq-line)}
.pq-post-nav a{font:600 11px/1.6 var(--pq-mono);letter-spacing:1.2px}
.pq-featured{max-width:820px;margin:0 0 36px;border:1px solid var(--pq-line)}
.pq-featured img{display:block;width:100%}
.pq-course-single__meta{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 30px}
.pq-search-form{display:flex;gap:8px;max-width:520px}
.pq-search-form .pq-input{flex:1}
.pq-404{padding:120px var(--pq-gutter);text-align:center}
.pq-404 .pq-h2{font-size:clamp(48px,9vw,120px);letter-spacing:-5px;color:var(--pq-teal)}

/* Comments */
.pq-comments{max-width:820px;margin-top:64px;padding-top:36px;border-top:1px solid var(--pq-line)}
.pq-comments .comment-list{list-style:none;padding:0;margin:0 0 36px}
.pq-comments .comment{border:1px solid var(--pq-line);padding:22px;margin-bottom:12px;background:var(--pq-bg-2)}
.pq-comments .comment .children{list-style:none;padding-left:22px;margin-top:12px}
.pq-comments .comment-meta,.pq-comments .comment-metadata{font:500 10px/1.6 var(--pq-mono);letter-spacing:1.4px;color:var(--pq-muted-40)}
.pq-comments .comment-author .fn{font:700 13.5px/1 var(--pq-sans);color:var(--pq-text);font-style:normal}
.pq-comments .comment-content p{font:400 15px/1.7 var(--pq-sans);color:var(--pq-muted-85)}
.pq-comments .comment-reply-link{font:600 10px/1 var(--pq-mono);letter-spacing:1.4px}
.pq-comments .comment-respond label{display:block;font:500 9.5px/1 var(--pq-mono);letter-spacing:1.8px;color:var(--pq-muted-50);margin-bottom:10px}
.pq-comments .comment-respond input:not([type=submit]),.pq-comments .comment-respond textarea{width:100%;padding:14px 15px;border-radius:0;border:1px solid rgba(232,246,244,0.18);background:var(--pq-bg);color:var(--pq-text);font:400 15px/1.4 var(--pq-sans);outline:none;margin-bottom:16px}
.pq-comments .comment-respond input[type=submit]{border:1px solid var(--pq-teal);background:var(--pq-teal);color:var(--pq-on-teal);font:700 11px/1 var(--pq-mono);letter-spacing:1.6px;padding:16px 26px;cursor:pointer;border-radius:0}
.pq-comments .comment-respond input[type=submit]:hover{background:var(--pq-amber);border-color:var(--pq-amber);color:var(--pq-on-amber)}
.pq-comments .comment-reply-title{font:800 24px/1.2 var(--pq-sans);letter-spacing:-1px;margin:0 0 18px}

/* ---------- Elementor compatibility ---------- */
.elementor-widget-container>.pq-hero,.elementor-widget-container>.pq-stats,.elementor-widget-container>.pq-about,.elementor-widget-container>.pq-register,.elementor-widget-container>.pq-section{width:100%}
.elementor-section.pq-flush>.elementor-container{max-width:none}
.pq-elementor-full .elementor-widget:not(:last-child){margin-bottom:0}
body.elementor-page .pq-page__header,body.elementor-page .pq-page__body{display:none}
.elementor-widget-pq_hero,.elementor-widget-pq_stats,.elementor-widget-pq_courses,.elementor-widget-pq_about,.elementor-widget-pq_universities,.elementor-widget-pq_testimonials,.elementor-widget-pq_register_form,.elementor-widget-pq_section_heading,.elementor-widget-pq_contact{margin-bottom:0!important}
.elementor .pq-btn:hover,.elementor .pq-nav a:hover{color:inherit}
.elementor .pq-btn--primary:hover{color:var(--pq-on-amber)}
.elementor .pq-btn--ghost:hover,.elementor .pq-nav a:hover{color:var(--pq-teal)}
.elementor .pq-btn--amber:hover{color:var(--pq-on-teal)}
.elementor .pq-course:hover{color:var(--pq-text)}
