/* ClassJot Website Core 0.3.3 — unified, reversible visual design layer.
   Scoped to ClassJot's own WordPress pages, not to WP admin or the private demo. */

body.cjcore-managed-site {
  --cj-ink:#182b46;--cj-muted:#586f89;--cj-blue:#1764e8;
  --cj-border:#e0e8f3;--cj-soft:#f3f7fd;--cj-white:#ffffff;
  --cj-container:1180px;
  color:var(--cj-ink);
  background:#ffffff;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  text-rendering:optimizeLegibility;
}
body.cjcore-managed-site * {box-sizing:border-box}
body.cjcore-managed-site :where(a,button,summary):focus-visible{
  outline:3px solid #246ce9!important;outline-offset:3px;
}
body.cjcore-managed-site .site-content {background:#fff}
body.cjcore-managed-site .entry-content {margin-top:0}
body.cjcore-managed-site .entry-content > :first-child {margin-top:0}
body.cjcore-managed-site .ast-article-single {padding-bottom:0}
body.cjcore-managed-site :is(.cj-site,.cjsite-page){overflow-wrap:break-word}
body.cjcore-managed-site :is(.cj-site,.cjsite-page) :is(h1,h2,h3){
  font-family:inherit;font-weight:760;text-wrap:balance;color:#182b46;
}
body.cjcore-managed-site :is(.cj-site,.cjsite-page) p{
  font-weight:400;letter-spacing:0;text-wrap:pretty;
}

/* Consistent white navigation and distinctive selected-page styling. */
body.cjcore-managed-site .cjcore-site-header {
  top:0;border-bottom:1px solid #e2eaf5;background:rgba(255,255,255,.985);
  box-shadow:0 4px 20px rgba(17,41,76,.045);
}
body.admin-bar.cjcore-managed-site .cjcore-site-header{top:32px}
body.cjcore-managed-site .cjcore-site-header-inner{
  max-width:1260px;min-height:72px;padding:11px 28px;gap:24px;
}
body.cjcore-managed-site .cjcore-site-brand{
  gap:11px;letter-spacing:-.035em;font-size:1.39rem;font-weight:800;
}
body.cjcore-managed-site .cjcore-site-brand img{border:1px solid #e8edf5;border-radius:11px}
body.cjcore-managed-site .cjcore-site-links{gap:clamp(12px,1.75vw,25px)}
body.cjcore-managed-site .cjcore-site-links a{
  position:relative;display:inline-block;padding:8px 0;color:#3e526d!important;
  font-size:.85rem;font-weight:640;letter-spacing:-.01em;
  text-decoration:none!important;white-space:nowrap;border:0;
}
body.cjcore-managed-site .cjcore-site-links a[aria-current=page]{color:#1764e8!important}
body.cjcore-managed-site .cjcore-site-links a[aria-current=page]::after{
  content:"";position:absolute;inset-inline:0;bottom:0;height:2px;
  background:#1764e8;border-radius:2px;
}
body.cjcore-managed-site .cjcore-language-nav{gap:4px}
body.cjcore-managed-site .cjcore-language-tab{
  min-width:32px;min-height:33px;padding:7px 8px;border:1px solid #d8e5f6;
  border-radius:8px;font-size:.72rem;
}
body.cjcore-managed-site .cjcore-language-chooser-button{
  width:32px;height:34px;font-size:18px;
}
body.cjcore-managed-site .cjcore-mobile-menu summary{
  border:1px solid #d9e5f3;background:#f4f8fe;border-radius:10px;
  color:#1f3b62;font-size:.78rem;min-height:36px;display:flex;align-items:center;
}
body.cjcore-managed-site .cjcore-mobile-menu nav{
  z-index:30;min-width:min(268px,calc(100vw - 28px));padding:15px;
  box-shadow:0 18px 48px rgba(16,43,78,.18);
}
body.cjcore-managed-site .cjcore-mobile-menu nav a{
  padding:8px 10px;border-radius:8px;font-size:.9rem;
}
body.cjcore-managed-site .cjcore-mobile-menu nav a:hover,
body.cjcore-managed-site .cjcore-mobile-menu nav a[aria-current=page]{background:#eef5ff;color:#1764e8!important}

/* Home, consistent vertical rhythm and more measured hero. */
body.cjcore-homepage .entry-content > .cj-site{margin-block:0}
body.cjcore-homepage .cj-site .cj-hero{
  padding:clamp(42px,5vw,75px) max(25px,calc((100vw - 1180px)/2));
  background:radial-gradient(ellipse 53% 74% at 93% 21%,#d6e8ff 0%,transparent 80%),
    linear-gradient(130deg,#f9fbff 0%,#f0f6ff 74%,#e7f1ff 100%);
  border-bottom:1px solid #e4ecf7;
}
body.cjcore-homepage .cj-site .cj-hero-columns{
  max-width:1180px;margin:0 auto;align-items:center;gap:clamp(27px,4vw,60px);
}
body.cjcore-homepage .cj-site .cj-hero-copy{padding:0}
body.cjcore-homepage .cj-site .cj-eyebrow{
  color:#1465df;letter-spacing:.15em;font-size:.72rem;line-height:1.6;
  font-weight:800;margin:0 0 17px;
}
body.cjcore-homepage .cj-site h1{
  font-size:clamp(2.45rem,4.6vw,4.15rem);line-height:1.11;
  letter-spacing:-.055em;margin-bottom:21px;max-width:16ch;
}
body.cjcore-homepage .cj-site .cj-lead{
  font-size:clamp(1rem,1.46vw,1.17rem);line-height:1.72;
  color:#4c6784;max-width:590px;
}
body.cjcore-homepage .cj-site .cj-hero .wp-block-buttons{
  margin:25px 0 0;gap:11px;
}
body.cjcore-homepage .cj-site .wp-block-button__link{
  border-radius:11px;min-height:48px;padding:12px 21px;font-size:.91rem;
  font-weight:720;box-shadow:none!important;transition:transform .15s,background .15s;
}
body.cjcore-homepage .cj-site .wp-block-button__link:hover{transform:translateY(-1px)}
body.cjcore-homepage .cj-site .cj-micro{
  font-size:.77rem;line-height:1.6;margin:18px 0 0;color:#6f88a4;
}
body.cjcore-homepage .cj-site .cj-showcase-hero-visual{
  max-width:450px;margin-inline:auto;min-height:470px;
}
body.cjcore-homepage .cj-site .cj-showcase-phone{
  box-shadow:0 26px 52px rgba(18,48,85,.23),0 9px 18px rgba(18,48,85,.09);
}
body.cjcore-homepage .cj-site .cj-section{
  padding:clamp(50px,5.4vw,77px) max(25px,calc((100vw - 1180px)/2));
}
body.cjcore-homepage .cj-site .cj-section > :first-child{margin-top:0}
body.cjcore-homepage .cj-site :is(.cj-section,.cj-last-cta) h2{
  font-size:clamp(1.78rem,2.65vw,2.55rem);letter-spacing:-.041em;
  line-height:1.2;margin-bottom:13px;
}
body.cjcore-homepage .cj-site .cj-section-intro{
  margin:0 0 29px;font-size:1.02rem;line-height:1.7;
}
body.cjcore-homepage .cj-site .cj-trust-band{
  padding:17px max(25px,calc((100vw - 1180px)/2));
}
body.cjcore-homepage .cj-site .cj-trust{
  padding:9px 14px;border-left:3px solid #d2e4ff;
}
body.cjcore-homepage .cj-site .cj-trust h3{font-size:.91rem;line-height:1.35;margin:0 0 5px}
body.cjcore-homepage .cj-site .cj-trust p{font-size:.78rem;line-height:1.52}
body.cjcore-homepage .cj-site .cj-features-grid,
body.cjcore-homepage .cj-site .cj-plan-columns,
body.cjcore-homepage .cj-site .cj-download-grid{gap:17px}
body.cjcore-homepage .cj-site :is(.cj-feature,.cj-plan,.cj-download-card){
  border:1px solid #dfe8f4;background:#fff;border-radius:17px;
  padding:clamp(20px,2.5vw,29px);box-shadow:0 7px 24px rgba(23,55,95,.04);
}
body.cjcore-homepage .cj-site .cj-feature h3{font-size:1.12rem;line-height:1.36}
body.cjcore-homepage .cj-site .cj-feature-icon{margin-bottom:13px}
body.cjcore-homepage .cj-site .cj-workflow{background:#f5f8fc}
body.cjcore-homepage .cj-site .cj-pricing{background:linear-gradient(180deg,#f4f8ff,#fff)}
body.cjcore-homepage .cj-site .cj-plan-pro{border:2px solid #91b6f8}
body.cjcore-homepage .cj-site .cj-download-card{min-height:190px}
body.cjcore-homepage .cj-site .cj-last-cta{
  padding:clamp(48px,5vw,70px) 24px;background:#132942;
}
body.cjcore-homepage .cj-site .cj-last-cta h2{color:white}
body.cjcore-homepage .cj-site .cj-last-cta p{font-size:.98rem;color:#d0deee}
body.cjcore-homepage .cj-site .cj-last-cta .cj-legal{display:none}

/* Website screenshots: balanced heights, no oversized images in four cards. */
body.cjcore-homepage .cj-site .cj-showcase-gallery{
  padding:clamp(50px,5vw,76px) max(25px,calc((100vw - 1180px)/2));
  background:linear-gradient(175deg,#f5f9ff 0%,#eef5ff 100%);
}
body.cjcore-homepage .cj-site .cj-showcase-gallery-header{margin-bottom:28px}
body.cjcore-homepage .cj-site .cj-showcase-gallery-header h2{
  font-size:clamp(1.88rem,2.65vw,2.55rem);
}
body.cjcore-homepage .cj-site .cj-showcase-cards{gap:16px;margin-bottom:21px}
body.cjcore-homepage .cj-site .cj-showcase-card{border-radius:16px;box-shadow:0 8px 22px rgba(24,56,100,.06)}
body.cjcore-homepage .cj-site .cj-showcase-card-media{height:202px;padding:12px 12px 0}
body.cjcore-homepage .cj-site .cj-showcase-card-media img{
  object-fit:contain;object-position:center top;height:100%;max-width:100%;
  border:1px solid #e2eaf4;border-radius:10px 10px 0 0;
}
body.cjcore-homepage .cj-site .cj-showcase-card-copy{padding:17px 17px 21px;min-height:112px}
body.cjcore-homepage .cj-site .cj-showcase-card-copy h3{font-size:1.06rem}
body.cjcore-homepage .cj-site .cj-showcase-card-copy p{font-size:.82rem;line-height:1.55}
body.cjcore-homepage .cj-site .cj-showcase-demo-cta{
  padding:22px 25px;border-radius:16px;border:1px solid #dbe7f5;
}

/* Interior pages (Downloads, Support, Privacy, Terms). */
body.cjcore-innerpage .entry-content{max-width:unset}
body.cjcore-innerpage .cjsite-page{
  width:min(100% - 42px,1120px);max-width:1120px;margin:clamp(24px,3vw,43px) auto 66px;
}
body.cjcore-innerpage .cjsite-page .cjsite-page-hero{
  border:1px solid #dce7f5;border-radius:21px;
  background:linear-gradient(122deg,#f7faff 0%,#ebf3ff 100%);
  padding:clamp(28px,4.2vw,54px);
  margin:0 0 36px;
}
body.cjcore-innerpage .cjsite-page p.cjsite-eyebrow{
  color:#1764e8;font-weight:800;letter-spacing:.14em;
  font-size:.73rem;margin:0 0 13px;line-height:1.5;
}
body.cjcore-innerpage .cjsite-page h2.cjsite-hero-heading{
  font-size:clamp(2.15rem,4vw,3.45rem);max-width:21ch;
  line-height:1.15;margin:0 0 17px;letter-spacing:-.048em;
}
body.cjcore-innerpage .cjsite-page .cjsite-lead{
  line-height:1.65;font-size:clamp(1rem,1.3vw,1.16rem);
  color:#4d6887;max-width:750px;
}
body.cjcore-innerpage .cjsite-page h2:not(.cjsite-hero-heading){
  font-size:clamp(1.6rem,2.25vw,2.1rem);letter-spacing:-.035em;
  margin:35px 0 18px;line-height:1.23;
}
body.cjcore-innerpage .cjsite-page .wp-block-columns{gap:16px;margin:19px 0 29px}
body.cjcore-innerpage .cjsite-page :is(.cjsite-card,.cjsite-pricing-columns > .wp-block-column,.cjsite-steps > .wp-block-column){
  border-radius:16px;border:1px solid #dce7f5;padding:clamp(20px,2.4vw,28px);
  box-shadow:0 5px 20px rgba(19,49,85,.035);
}
body.cjcore-innerpage .cjsite-page .cjsite-platform-columns .cjsite-card{
  min-height:225px;transition:border-color .15s,box-shadow .15s;
}
body.cjcore-innerpage .cjsite-page .cjsite-platform-columns .cjsite-card:hover{
  box-shadow:0 12px 25px rgba(19,49,85,.075);border-color:#b4d0f8;
}
body.cjcore-innerpage .cjsite-page .cjsite-platform-columns h3{font-size:1.14rem;gap:12px}
body.cjcore-innerpage .cjsite-page .cjsite-section-highlight{
  margin:37px 0;padding:clamp(26px,3.4vw,43px);border-radius:19px;
}
body.cjcore-innerpage .cjsite-page .cjsite-final-cta{
  border-radius:18px;padding:clamp(25px,3vw,38px);margin:34px 0 0;
}
body.cjcore-innerpage .cjsite-page .cjsite-steps > .wp-block-column{height:auto}
body.cjcore-innerpage .cjsite-page .cjsite-faq{max-width:100%;border-radius:18px;padding:clamp(24px,3.4vw,41px)}
body.cjcore-innerpage .cjsite-page .cjsite-faq h3{padding-top:19px;margin-top:20px}
body.cjcore-innerpage .cjsite-page .cjsite-faq h3:first-child{padding-top:0}
body.cjcore-innerpage .cjsite-page :is(.cjsite-legal-section,.cjsite-note){max-width:100%}
body.cjcore-innerpage .cjsite-page .cjsite-legal-section{
  padding:clamp(22px,2.9vw,32px);margin:12px 0;
  border-radius:15px;border-color:#e0e8f3;box-shadow:none;
}
body.cjcore-innerpage .cjsite-page .cjsite-legal-section h3{
  font-size:1.12rem;line-height:1.45;margin:0 0 12px;font-weight:760;
}
body.cjcore-innerpage .cjsite-page .cjsite-legal-section p{
  font-size:.97rem;line-height:1.77;max-width:88ch;color:#405a79;margin:0 0 11px;
}
body.cjcore-innerpage .cjsite-page .cjsite-legal-section p:last-child{margin-bottom:0}
body.cjcore-innerpage .cjsite-page .cjsite-legal-contact{
  max-width:100%;padding:16px 24px;border-radius:11px;
  background:#f5f9ff;border:1px solid #e2eaf5;color:#496680;
  font-size:.9rem;margin:12px 0 0;
}
body.cjcore-innerpage .cjsite-page .cjsite-legal-section:last-of-type + p{
  padding:12px 23px;margin-top:0;
}
body.cjcore-innerpage .cjsite-page p{font-size:.99rem;line-height:1.7}
body.cjcore-innerpage .cjsite-page .cjsite-note{
  border-inline-start:3px solid #1764e8;border-left:0;padding:16px 19px;
  background:#f2f7ff;margin:29px 0;
}
body.cjcore-innerpage .cjsite-page .wp-block-button__link{
  min-height:46px;line-height:1.3;padding:12px 21px;border-radius:10px;
  font-size:.92rem;font-weight:730;box-shadow:none;
}

/* Proper responsive footer, with all website links staying on WordPress. */
body.cjcore-managed-site .cjcore-footer{
  display:block;padding:0;margin:0;background:#11243d;color:#d7e5f8;
  border-top:1px solid #1e3554;line-height:1.5;
}
body.cjcore-managed-site .cjcore-footer-inner{
  width:min(100% - 48px,1180px);margin:0 auto;padding:43px 0 21px;
}
body.cjcore-managed-site .cjcore-footer-main{
  display:grid;grid-template-columns:minmax(230px,1.55fr) minmax(220px,1.15fr) minmax(180px,1fr);
  gap:clamp(24px,5vw,75px);align-items:start;padding-bottom:34px;
}
body.cjcore-managed-site .cjcore-footer-logo{
  display:inline-flex;align-items:center;gap:11px;color:#fff!important;text-decoration:none!important;
  font-weight:800;font-size:1.42rem;letter-spacing:-.035em;
}
body.cjcore-managed-site .cjcore-footer-logo img{width:42px;height:42px;border-radius:10px}
body.cjcore-managed-site .cjcore-footer-brand-col p{
  font-size:.9rem;color:#b8cbe3;max-width:300px;line-height:1.7;margin:16px 0 0;
}
body.cjcore-managed-site :is(.cjcore-footer-nav,.cjcore-footer-help){
  display:flex;flex-direction:column;align-items:flex-start;gap:10px;
}
body.cjcore-managed-site :is(.cjcore-footer-nav,.cjcore-footer-help) > strong{
  font-size:.79rem;text-transform:uppercase;letter-spacing:.12em;
  color:#e9f2ff;font-weight:760;margin-bottom:5px;
}
body.cjcore-managed-site .cjcore-footer a:not(.cjcore-footer-logo){
  color:#c2d5ed;text-decoration:none;font-size:.86rem;line-height:1.45;
}
body.cjcore-managed-site .cjcore-footer a:hover{
  color:#fff;text-decoration:underline;text-underline-offset:4px;
}
body.cjcore-managed-site .cjcore-footer-bottom{
  border-top:1px solid #29405e;padding-top:18px;display:flex;gap:12px;
  align-items:center;justify-content:space-between;flex-wrap:wrap;
}
body.cjcore-managed-site .cjcore-footer-bottom span{font-size:.77rem;color:#9eb4d0}

/* Arabic site: consistent document direction, logical spacing, no Latin tracking. */
body.cjcore-ar :is(.cjcore-site-header,.cjcore-footer,.cj-site,.cjsite-page){direction:rtl;text-align:right}
body.cjcore-ar :is(.cj-site,.cjsite-page) :is(h1,h2,h3,p){letter-spacing:0!important}
body.cjcore-ar .cjcore-site-brand{letter-spacing:0}
body.cjcore-ar .cjcore-site-links{margin-inline-start:auto}
body.cjcore-ar .cj-site h1{line-height:1.24!important}
body.cjcore-ar .cj-site h2{line-height:1.32!important}
body.cjcore-ar .cj-site .cj-hero-columns{direction:rtl}
body.cjcore-ar .cj-site .wp-block-buttons{justify-content:flex-start}
body.cjcore-ar .cj-site .cj-trust{border-left:0;border-right:3px solid #d2e4ff}
body.cjcore-ar .cjcore-footer-main{direction:rtl}
body.cjcore-ar .cjcore-footer-nav,body.cjcore-ar .cjcore-footer-help{align-items:flex-start}
body.cjcore-ar .cjsite-page .cjsite-note{border-inline-start:3px solid #1764e8}
body.cjcore-ar .cjcore-language-nav{direction:ltr}

@media(max-width:1110px){
  body.cjcore-managed-site .cjcore-site-header-inner{padding-inline:19px;gap:16px}
  body.cjcore-managed-site .cjcore-site-links{gap:14px}
  body.cjcore-managed-site .cjcore-site-links a{font-size:.8rem}
  body.cjcore-homepage .cj-site .cj-showcase-card-media{height:185px}
}
@media(max-width:900px){
  body.cjcore-managed-site .cjcore-site-links{display:none}
  body.cjcore-managed-site .cjcore-mobile-menu{display:block}
  body.cjcore-managed-site .cjcore-site-header-inner{min-height:66px}
  body.cjcore-homepage .cj-site .cj-hero-columns{gap:24px}
  body.cjcore-homepage .cj-site h1{font-size:clamp(2.2rem,5.2vw,3.65rem)}
  body.cjcore-homepage .cj-site .cj-showcase-card-media{height:205px}
}
@media(max-width:782px){body.admin-bar.cjcore-managed-site .cjcore-site-header{top:46px}}
@media(max-width:781px){
  body.cjcore-homepage .cj-site .cj-hero{padding:43px 24px 42px}
  body.cjcore-homepage .cj-site .cj-hero-columns{gap:24px}
  body.cjcore-homepage .cj-site .cj-section{padding:48px 24px}
  body.cjcore-homepage .cj-site .cj-showcase-gallery{padding:48px 24px}
  body.cjcore-homepage .cj-site .cj-trust-band{padding:18px 24px}
  body.cjcore-homepage .cj-site .cj-showcase-hero-visual{min-height:425px}
  body.cjcore-homepage .cj-site .cj-showcase-gallery-header{margin-bottom:24px}
  body.cjcore-homepage .cj-site .cj-showcase-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.cjcore-homepage .cj-site .cj-showcase-card-media{height:185px}
  body.cjcore-innerpage .cjsite-page{width:min(100% - 36px,1120px);margin:24px auto 50px}
  body.cjcore-innerpage .cjsite-page .cjsite-page-hero{padding:29px 24px;margin-bottom:25px}
  body.cjcore-innerpage .cjsite-page .cjsite-platform-columns .cjsite-card{min-height:unset}
  body.cjcore-managed-site .cjcore-footer-inner{width:min(100% - 40px,1180px);padding:34px 0 20px}
  body.cjcore-managed-site .cjcore-footer-main{grid-template-columns:1.3fr 1fr;gap:28px}
  body.cjcore-managed-site .cjcore-footer-help{grid-column:1/-1}
}
@media(max-width:580px){
  body.cjcore-managed-site .cjcore-site-header-inner{padding:9px 12px;min-height:61px;gap:6px}
  body.cjcore-managed-site .cjcore-site-brand{gap:6px;font-size:1.08rem}
  body.cjcore-managed-site .cjcore-site-brand img{width:28px;height:28px;border-radius:8px}
  body.cjcore-managed-site .cjcore-language-tab{min-width:29px;padding:6px 5px;font-size:.67rem;min-height:29px}
  body.cjcore-managed-site .cjcore-language-nav{gap:2px}
  body.cjcore-managed-site .cjcore-language-chooser-button{width:27px;height:30px;font-size:16px}
  body.cjcore-managed-site .cjcore-mobile-menu summary{padding:7px 9px;min-height:32px;font-size:.7rem}
  body.cjcore-homepage .cj-site .cj-hero{padding:37px 19px 27px}
  body.cjcore-homepage .cj-site h1{font-size:clamp(2.2rem,8vw,3.2rem);line-height:1.14}
  body.cjcore-homepage .cj-site .cj-lead{font-size:1rem}
  body.cjcore-homepage .cj-site .wp-block-buttons{flex-direction:column;align-items:stretch}
  body.cjcore-homepage .cj-site .wp-block-button{width:100%}
  body.cjcore-homepage .cj-site .wp-block-button__link{width:100%;text-align:center}
  body.cjcore-homepage .cj-site .cj-micro{font-size:.72rem}
  body.cjcore-homepage .cj-site .cj-showcase-phone{width:240px;height:410px}
  body.cjcore-homepage .cj-site .cj-showcase-hero-visual{min-height:415px}
  body.cjcore-homepage .cj-site .cj-section{padding:42px 19px}
  body.cjcore-homepage .cj-site .cj-showcase-gallery{padding:44px 19px 50px}
  body.cjcore-homepage .cj-site .cj-showcase-cards{grid-template-columns:1fr;gap:14px}
  body.cjcore-homepage .cj-site .cj-showcase-card-media{height:210px}
  body.cjcore-homepage .cj-site .cj-showcase-card-copy{min-height:0}
  body.cjcore-homepage .cj-site .cj-showcase-demo-cta{padding:18px;gap:13px}
  body.cjcore-homepage .cj-site .cj-trust{padding:8px 10px}
  body.cjcore-innerpage .cjsite-page{width:calc(100% - 26px);margin:16px auto 42px}
  body.cjcore-innerpage .cjsite-page .cjsite-page-hero{padding:24px 19px;margin-bottom:22px;border-radius:16px}
  body.cjcore-innerpage .cjsite-page h2.cjsite-hero-heading{font-size:clamp(2rem,9vw,2.75rem)}
  body.cjcore-innerpage .cjsite-page :is(.cjsite-card,.cjsite-pricing-columns > .wp-block-column,.cjsite-steps > .wp-block-column){padding:20px}
  body.cjcore-innerpage .cjsite-page .cjsite-final-cta{padding:22px}
  body.cjcore-innerpage .cjsite-page .cjsite-legal-section{padding:21px 19px}
  body.cjcore-managed-site .cjcore-footer-main{grid-template-columns:1fr;gap:28px}
  body.cjcore-managed-site .cjcore-footer-help{grid-column:auto}
  body.cjcore-managed-site .cjcore-footer-inner{width:calc(100% - 34px);padding-top:29px}
  body.cjcore-managed-site .cjcore-footer-bottom{gap:8px;flex-direction:column;align-items:flex-start}
}
@media(max-width:360px){
  body.cjcore-managed-site .cjcore-site-brand{font-size:.97rem}
  body.cjcore-managed-site .cjcore-site-brand img{width:26px;height:26px}
  body.cjcore-managed-site .cjcore-language-tab{font-size:.62rem;min-width:25px;padding:5px 4px}
  body.cjcore-managed-site .cjcore-language-chooser-button{font-size:14px;width:24px}
  body.cjcore-managed-site .cjcore-mobile-menu summary{padding:5px 6px}
}
@media(prefers-reduced-motion:reduce){
  body.cjcore-managed-site .cj-site .wp-block-button__link,
  body.cjcore-managed-site .cj-showcase-card,
  body.cjcore-managed-site .cjsite-card{transition:none!important}
}
/* English policy originally stored the final email paragraph just outside its
   Contact group. Visually join the two existing Gutenberg blocks without
   modifying or duplicating any policy text. */
body.cjcore-innerpage .cjsite-page .cjsite-legal-section:has(> h3:only-child){
  margin-bottom:0;border-bottom:0;border-radius:15px 15px 0 0;
  padding-bottom:7px;
}
body.cjcore-innerpage .cjsite-page .cjsite-legal-section:has(> h3:only-child) + p.cjsite-legal-contact{
  margin-top:0;padding:0 clamp(22px,2.9vw,32px) 23px;
  background:#fff;border:1px solid #e0e8f3;border-top:0;
  border-radius:0 0 15px 15px;color:#405a79;
}
/* Keep the decorative phone halo inside narrow viewports; no horizontal scroll. */
@media(max-width:580px){
  body.cjcore-homepage .cj-site .cj-showcase-halo-one{
    max-width:calc(100vw - 42px);height:min(350px,calc(100vw - 42px));
  }
}


/* v0.3.4: live screenshots — eliminate duplicate legacy glyphs in Downloads.
 * Proper SVG device icons are already provided by website-shell.css on h3::before.
 * Preserve the editable Gutenberg paragraphs in WordPress itself.
 */
body.cjcore-innerpage .cjsite-page .cjsite-platform-columns .cjsite-card > p.cjsite-card-icon{
  display:none!important;
}
body.cjcore-innerpage .cjsite-page .cjsite-platform-columns .cjsite-card{
  display:flex;flex-direction:column;align-items:stretch;gap:0;
}
body.cjcore-innerpage .cjsite-page .cjsite-platform-columns .cjsite-card > h3{
  margin:0 0 14px;display:flex;align-items:center;gap:13px;
}
body.cjcore-innerpage .cjsite-page .cjsite-platform-columns .cjsite-card > p.cjsite-status{
  margin-top:auto;padding-top:14px;
}

/* Let the hero and bottom CTA meet the site shell cleanly. Astra may add
 * article/container bottom spacing that previously produced an empty white band.
 */
body.cjcore-homepage .site-content,
body.cjcore-homepage #primary,
body.cjcore-homepage .site-main,
body.cjcore-homepage .ast-article-single,
body.cjcore-homepage .entry-content{
  margin-bottom:0!important;padding-bottom:0!important;
}
body.cjcore-homepage .cj-site,
body.cjcore-homepage .cj-site .cj-last-cta{
  margin-bottom:0!important;
}
body.cjcore-managed-site .cjcore-footer{margin-top:0!important}

/* Real navigation links replace the decorative, unclickable footer languages. */
body.cjcore-managed-site .cjcore-footer-language-links .cjcore-language-nav{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;direction:ltr;
}
body.cjcore-managed-site .cjcore-footer-language-links .cjcore-language-tab{
  min-height:31px;padding:6px 10px;border:1px solid #3c587d;
  background:#1c3554!important;color:#e0edff!important;font-size:.76rem;
  text-decoration:none!important;
}
body.cjcore-managed-site .cjcore-footer-language-links .cjcore-language-tab.is-current{
  background:#2874f0!important;border-color:#478cff;color:#fff!important;
}
body.cjcore-managed-site .cjcore-footer-language-links .cjcore-language-tab.is-pending{
  color:#a9bbd2!important;border-style:dashed;background:#1d314a!important;
}
body.cjcore-managed-site .cjcore-footer-language-links .cjcore-language-tab:hover,
body.cjcore-managed-site .cjcore-footer-language-links .cjcore-language-tab:focus-visible{
  background:#2c527f!important;color:#fff!important;
}
body.cjcore-ar .cjcore-footer-language-links .cjcore-language-nav{direction:ltr}

/* Remove Astra's optional content padding above the already padded homepage hero. */
body.cjcore-homepage .site-content,
body.cjcore-homepage #primary,
body.cjcore-homepage .site-main,
body.cjcore-homepage .entry-content{
  padding-top:0!important;margin-top:0!important;
}

/* ClassJot Website Core 0.4.0 — editorial/product visual system.
   One public-site visual layer, maintained in design-system.css.
   No page-content, licensing, demo, or privacy-policy changes. */
body.cjcore-managed-site {
  --cj-ink:#172940; --cj-muted:#526983; --cj-blue:#1764e8;
  --cj-border:#e4eaf2; --cj-soft:#f5f8fc; --cj-white:#fff;
  --cj-ease:cubic-bezier(.2,.8,.2,1);
  font-family:"Inter","Avenir Next","Segoe UI",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
  font-synthesis:none;
}
body.cjcore-ar {font-family:"Noto Sans Arabic","SF Arabic","Segoe UI",Tahoma,Arial,sans-serif}
body.cjcore-managed-site :is(.cj-site,.cjsite-page) :is(h1,h2,h3){
  font-weight:750;color:var(--cj-ink);letter-spacing:-.035em;
}
body.cjcore-ar :is(.cj-site,.cjsite-page) :is(h1,h2,h3){letter-spacing:0; font-weight:730}
body.cjcore-managed-site :is(.cj-site,.cjsite-page) p{color:var(--cj-muted)}

/* The theme's default dotted pointer outline is visually distracting.
   Only pointer-focus is suppressed. Keyboard focus is always clear. */
body.cjcore-managed-site :is(a,button,summary,[role="button"],input,select,textarea):focus:not(:focus-visible){
  outline:none!important;box-shadow:none!important;
}
body.cjcore-managed-site :is(a,button,summary,[role="button"],input,select,textarea):focus-visible{
  outline:2px solid #1764e8!important;outline-offset:3px!important;
  border-radius:9px;box-shadow:0 0 0 5px rgba(23,100,232,.14)!important;
  text-decoration:none;
}
body.cjcore-managed-site .cj-showcase-card-link:focus-visible{
  border-radius:15px!important;outline-offset:-3px!important;
}
body.cjcore-managed-site .cjcore-footer a:focus-visible{outline-color:#9ec5ff!important}

/* Crisp branded mark: keep original vector geometry, add a subtle tile. */
body.cjcore-managed-site :is(.cjcore-site-brand img,.cjcore-footer-logo img){
  display:block;object-fit:contain;box-sizing:border-box;
  width:39px;height:39px;padding:6px;background:#fff;
  border:1px solid #e3e9f1;border-radius:12px;
  box-shadow:0 2px 8px rgba(24,49,80,.045);
}
body.cjcore-managed-site .cjcore-site-header{box-shadow:0 2px 16px rgba(13,36,66,.035)}
body.cjcore-managed-site .cjcore-site-header-inner{
  max-width:1250px;min-height:74px;padding-block:13px;gap:27px;
}
body.cjcore-managed-site .cjcore-site-brand{
  font-size:1.27rem;font-weight:780;letter-spacing:-.045em;gap:10px;
}
body.cjcore-managed-site .cjcore-site-links{gap:clamp(13px,1.8vw,25px)}
body.cjcore-managed-site .cjcore-site-links a{
  font-size:.82rem;font-weight:600;color:#465a72!important;
  padding:10px 0 11px;transition:color .15s ease;
}
body.cjcore-managed-site .cjcore-site-links a:hover{color:#125bd7!important}
body.cjcore-managed-site .cjcore-language-tab{
  background:#f7faff!important;border:1px solid #e4ebf6;
  min-width:36px;min-height:35px;border-radius:10px;font-weight:730;
}
body.cjcore-managed-site .cjcore-language-tab.is-current{
  background:#1764e8!important;border-color:#1764e8;
  box-shadow:0 3px 9px rgba(23,100,232,.16)!important;
}
body.cjcore-managed-site .cjcore-language-tab.is-pending{background:#f6f8fb!important;color:#788aa4!important}
body.cjcore-managed-site .cjcore-language-chooser-button{border-radius:9px}

/* Main story — compact headline, measured whitespace, same approved phone. */
body.cjcore-homepage .cj-site .cj-hero{
  padding:clamp(45px,5.25vw,72px) max(25px,calc((100vw - 1180px)/2));
  background:radial-gradient(circle at 87% 31%,#dcecff 0%,transparent 42%),
    linear-gradient(118deg,#fafcff 0%,#eff6ff 100%);
}
body.cjcore-homepage .cj-site .cj-hero-columns{
  gap:clamp(30px,4.2vw,64px);align-items:center;
}
body.cjcore-homepage .cj-site h1{
  font-size:clamp(2.65rem,4.05vw,3.65rem);line-height:1.12;
  letter-spacing:-.052em;margin:0 0 22px;max-width:17ch;
  font-weight:760;
}
body.cjcore-homepage .cj-site .cj-eyebrow{
  font-size:.74rem;font-weight:750;letter-spacing:.13em;margin-bottom:17px;
}
body.cjcore-homepage .cj-site .cj-lead{
  font-size:clamp(1.01rem,1.22vw,1.14rem);line-height:1.72;
  color:#546d88;max-width:53ch;
}
body.cjcore-homepage .cj-site .cj-hero .wp-block-buttons{gap:12px;margin-top:27px}
body.cjcore-managed-site :is(.cj-site,.cjsite-page) .wp-block-button__link,
body.cjcore-managed-site .cj-showcase-demo-button{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:47px;padding:12px 21px;border-radius:12px;
  font-family:inherit;font-size:.9rem;font-weight:670;line-height:1.4;
  letter-spacing:-.006em;text-decoration:none!important;
  transition:background-color .17s var(--cj-ease),border-color .17s var(--cj-ease),
             box-shadow .17s var(--cj-ease),transform .17s var(--cj-ease);
}
body.cjcore-managed-site :is(.cj-site,.cjsite-page) .wp-block-button__link:hover,
body.cjcore-managed-site .cj-showcase-demo-button:hover{
  transform:translateY(-1px);
  box-shadow:0 6px 15px rgba(20,73,153,.11)!important;
}
body.cjcore-managed-site :is(.cj-site,.cjsite-page) .wp-block-button__link:active,
body.cjcore-managed-site .cj-showcase-demo-button:active{transform:translateY(0)}
body.cjcore-homepage .cj-site .cj-showcase-hero-visual{min-height:462px}
body.cjcore-homepage .cj-site .cj-showcase-phone{
  transform:rotate(1.25deg);box-shadow:0 22px 45px rgba(16,37,67,.19),0 8px 17px rgba(16,37,67,.08);
}
body.cjcore-homepage .cj-site .cj-showcase-halo-one{opacity:.68}
body.cjcore-homepage .cj-site .cj-micro{margin-top:15px;font-size:.77rem;color:#70859f}

/* Shared vertical rhythm and structured content cards. */
body.cjcore-homepage .cj-site .cj-section{
  padding:clamp(53px,5.2vw,72px) max(25px,calc((100vw - 1180px)/2));
}
body.cjcore-homepage .cj-site .cj-showcase-gallery{
  padding:clamp(56px,5.2vw,74px) max(25px,calc((100vw - 1180px)/2));
  background:linear-gradient(180deg,#f7faff,#f1f6fd);
}
body.cjcore-homepage .cj-site :is(.cj-section,.cj-last-cta) h2,
body.cjcore-homepage .cj-site .cj-showcase-gallery-header h2{
  font-size:clamp(1.8rem,2.5vw,2.35rem);font-weight:730;
  line-height:1.22;letter-spacing:-.038em;
}
body.cjcore-homepage .cj-site .cj-showcase-gallery-header{margin-bottom:27px}
body.cjcore-homepage .cj-site .cj-showcase-gallery-header > p:last-child{font-size:.98rem}
body.cjcore-homepage .cj-site .cj-section-intro{font-size:.98rem;line-height:1.65}
body.cjcore-homepage .cj-site :is(.cj-feature,.cj-plan,.cj-download-card),
body.cjcore-innerpage .cjsite-page :is(.cjsite-card,.cjsite-steps>.wp-block-column,.cjsite-pricing-columns>.wp-block-column){
  border-radius:16px;border:1px solid var(--cj-border);
  box-shadow:0 4px 17px rgba(18,43,78,.037);
}
body.cjcore-homepage .cj-site .cj-showcase-card{
  border:1px solid #e2eaf4;border-radius:16px;
  box-shadow:0 5px 18px rgba(21,49,83,.048);
  transition:transform .18s var(--cj-ease),box-shadow .18s var(--cj-ease),border-color .18s var(--cj-ease);
}
body.cjcore-homepage .cj-site .cj-showcase-card:hover{
  transform:translateY(-2px);border-color:#b8d0f4;
  box-shadow:0 10px 28px rgba(21,49,83,.075);
}
body.cjcore-homepage .cj-site .cj-showcase-card-media{height:195px;background:#f3f7fc}
body.cjcore-homepage .cj-site .cj-showcase-card-copy{padding:18px 19px 21px}
body.cjcore-homepage .cj-site .cj-showcase-card-copy h3{font-weight:700;font-size:1.02rem}
body.cjcore-homepage .cj-site .cj-showcase-card-copy p{font-size:.85rem;line-height:1.58}
body.cjcore-homepage .cj-site .cj-showcase-demo-cta{background:#fff;border-radius:16px;padding:24px 27px}

/* Interior page proportion and text density. */
body.cjcore-innerpage .cjsite-page{
  width:min(calc(100% - 40px),1120px);margin:30px auto 54px;
}
body.cjcore-innerpage .cjsite-page .cjsite-page-hero{
  padding:clamp(30px,4.2vw,49px);margin-bottom:29px;
  background:linear-gradient(120deg,#f9fbff 0%,#f0f6ff 100%);
  border-color:#e3ebf6;border-radius:20px;
}
body.cjcore-innerpage .cjsite-page h2.cjsite-hero-heading{
  font-size:clamp(2.17rem,3.55vw,3.15rem);line-height:1.18;
  letter-spacing:-.047em;margin-bottom:15px;
}
body.cjcore-innerpage .cjsite-page .cjsite-lead{
  font-size:1.03rem;line-height:1.7;max-width:65ch;
}
body.cjcore-innerpage .cjsite-page h2:not(.cjsite-hero-heading){
  font-size:clamp(1.5rem,2.15vw,1.92rem);margin:35px 0 17px;
}
body.cjcore-innerpage .cjsite-page .cjsite-platform-columns .cjsite-card{min-height:210px;padding:25px}
body.cjcore-innerpage .cjsite-page .cjsite-platform-columns .cjsite-card > h3{
  font-weight:720;font-size:1.14rem;margin-bottom:13px;
}
body.cjcore-innerpage .cjsite-page .cjsite-card p{
  font-size:.93rem;line-height:1.65;
}
body.cjcore-innerpage .cjsite-page .cjsite-legal-section{
  border-radius:14px;padding:24px 27px;box-shadow:none;
}
body.cjcore-innerpage .cjsite-page .cjsite-legal-section p{line-height:1.76;font-size:.95rem}
body.cjcore-innerpage .cjsite-page .cjsite-legal-section h3{font-size:1.09rem}

/* Complete footer, with consistent rhythm and crisp branding. */
body.cjcore-managed-site .cjcore-footer{background:#11243b;border-top:0}
body.cjcore-managed-site .cjcore-footer-inner{max-width:1160px;padding-top:45px}
body.cjcore-managed-site .cjcore-footer-main{gap:clamp(36px,5vw,72px);padding-bottom:37px}
body.cjcore-managed-site .cjcore-footer-logo{font-size:1.3rem;font-weight:760}
body.cjcore-managed-site .cjcore-footer-logo img{width:40px;height:40px;padding:6px;background:#fff;border-color:#fff}
body.cjcore-managed-site .cjcore-footer-brand-col p{font-size:.88rem;line-height:1.7;max-width:29ch;margin-top:15px}
body.cjcore-managed-site :is(.cjcore-footer-nav,.cjcore-footer-help){gap:12px}
body.cjcore-managed-site :is(.cjcore-footer-nav,.cjcore-footer-help)>strong{letter-spacing:.08em;font-size:.75rem}
body.cjcore-managed-site .cjcore-footer a:not(.cjcore-footer-logo){font-size:.84rem}
body.cjcore-managed-site .cjcore-footer-bottom{padding-block:18px 2px}
body.cjcore-managed-site .cjcore-footer-language-links .cjcore-language-tab{border-radius:9px}

/* French/Arabic: same hierarchy, but type fits natural script proportions. */
body.cjcore-ar .cj-site h1{line-height:1.29!important;font-size:clamp(2.45rem,3.8vw,3.4rem);max-width:18ch}
body.cjcore-ar .cj-site h2{line-height:1.35!important;letter-spacing:0!important}
body.cjcore-ar .cjsite-page h2.cjsite-hero-heading{letter-spacing:0;line-height:1.3}
body.cjcore-ar .cjcore-site-links a{letter-spacing:0}

@media(max-width:960px){
 body.cjcore-homepage .cj-site h1{font-size:clamp(2.4rem,5.2vw,3.25rem)}
 body.cjcore-homepage .cj-site .cj-showcase-card-media{height:185px}
}
@media(max-width:781px){
 body.cjcore-homepage .cj-site .cj-hero{padding:43px 23px 39px}
 body.cjcore-homepage .cj-site .cj-section{padding:48px 23px}
 body.cjcore-homepage .cj-site .cj-showcase-gallery{padding:48px 23px}
 body.cjcore-homepage .cj-site .cj-showcase-phone{transform:none}
 body.cjcore-managed-site .cjcore-site-header-inner{min-height:65px;padding-block:10px}
 body.cjcore-managed-site .cjcore-site-brand img{width:35px;height:35px;padding:5px}
 body.cjcore-innerpage .cjsite-page{margin:22px auto 44px}
 body.cjcore-innerpage .cjsite-page .cjsite-platform-columns .cjsite-card{min-height:0}
}
@media(max-width:580px){
 body.cjcore-managed-site .cjcore-site-header-inner{padding:9px 11px;gap:5px;min-height:60px}
 body.cjcore-managed-site .cjcore-site-brand{font-size:1.07rem;gap:7px}
 body.cjcore-managed-site .cjcore-site-brand img{width:30px;height:30px;padding:4px;border-radius:9px}
 body.cjcore-managed-site .cjcore-language-tab{min-height:29px;min-width:27px;padding:5px 5px}
 body.cjcore-homepage .cj-site .cj-hero{padding:33px 18px 27px}
 body.cjcore-homepage .cj-site h1{font-size:clamp(2.2rem,8.2vw,2.86rem);margin-bottom:18px}
 body.cjcore-homepage .cj-site .cj-lead{font-size:.99rem;line-height:1.65}
 body.cjcore-homepage .cj-site .cj-showcase-hero-visual{min-height:410px}
 body.cjcore-homepage .cj-site .cj-section{padding:41px 18px}
 body.cjcore-homepage .cj-site .cj-showcase-gallery{padding:43px 18px}
 body.cjcore-homepage .cj-site .cj-showcase-card-media{height:210px}
 body.cjcore-homepage .cj-site .cj-showcase-gallery-header h2{font-size:1.85rem}
 body.cjcore-innerpage .cjsite-page{width:calc(100% - 28px);margin:15px auto 38px}
 body.cjcore-innerpage .cjsite-page .cjsite-page-hero{padding:25px 19px;margin-bottom:22px}
 body.cjcore-innerpage .cjsite-page h2.cjsite-hero-heading{font-size:clamp(2rem,8.9vw,2.55rem)}
 body.cjcore-innerpage .cjsite-page .cjsite-platform-columns .cjsite-card{padding:21px}
 body.cjcore-innerpage .cjsite-page .cjsite-legal-section{padding:20px 18px}
 body.cjcore-managed-site .cjcore-footer-inner{padding-top:33px}
}
@media(prefers-reduced-motion:reduce){
 body.cjcore-managed-site :is(.wp-block-button__link,.cj-showcase-card,.cj-showcase-demo-button){transition:none!important}
}

/* ═══ v0.4 · ClassJot editorial product design ════════════════════════════
   Non-destructive; harmonizes English/French/Arabic pages and respects original
   WordPress content and the separate, administrator-only browser demo. */
body.cjcore-managed-site{
  --cj-ink:#12243b;--cj-muted:#536880;--cj-blue:#1764e8;
  --cj-border:#e3e9f1;--cj-soft:#f6f9fd;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;
  color:var(--cj-ink);
}
body.cjcore-ar{font-family:"Noto Sans Arabic","Geeza Pro","Segoe UI",Tahoma,Arial,sans-serif}
body.cjcore-managed-site :is(.cjsite-page,.cj-site) :is(h1,h2,h3){
  font-weight:750;letter-spacing:-.038em;line-height:1.2;
}
body.cjcore-ar :is(.cjsite-page,.cj-site) :is(h1,h2,h3){letter-spacing:0;line-height:1.4}
/* WordPress/Astra/browser focus styles should not leave dotted borders after mouse clicks. */
body.cjcore-managed-site :is(a,button,summary,[role="button"]):focus:not(:focus-visible){outline:0!important;box-shadow:none}
body.cjcore-managed-site :is(a,button,summary,[role="button"]):focus-visible{
  outline:2px solid #1c67e9!important;outline-offset:3px!important;
  border-radius:8px;box-shadow:0 0 0 5px rgba(23,100,232,.13)!important;
}
body.cjcore-managed-site .cjcore-site-brand img,
body.cjcore-managed-site .cjcore-footer-logo img{
  object-fit:contain;border:0!important;background:transparent!important;
  image-rendering:auto;
}
body.cjcore-managed-site .cjcore-site-header{box-shadow:0 2px 15px rgba(17,40,70,.035)}
body.cjcore-managed-site .cjcore-site-header-inner{max-width:1240px;min-height:70px}
body.cjcore-managed-site .cjcore-site-links a{font-weight:620;font-size:.83rem}
body.cjcore-managed-site .cjcore-site-brand{font-size:1.32rem;letter-spacing:-.04em}
body.cjcore-managed-site .cjcore-footer-inner{max-width:1180px;padding-top:38px}
body.cjcore-managed-site .cjcore-footer-main{padding-bottom:28px}
/* More restrained marketing typography and generously balanced content. */
body.cjcore-homepage .cj-site h1{font-size:clamp(2.45rem,4.2vw,3.95rem);line-height:1.11}
body.cjcore-homepage .cj-site .cj-lead{line-height:1.65}
body.cjcore-homepage .cj-site .cj-section{padding-block:clamp(46px,5vw,68px)}
body.cjcore-homepage .cj-site .cj-showcase-gallery{padding-block:clamp(46px,5vw,68px)}
body.cjcore-homepage .cj-site :is(.cj-feature,.cj-plan,.cj-download-card){
  border-radius:18px;box-shadow:0 6px 20px rgba(19,48,88,.035);
}
/* Main content pages: use a single comfortable reading scale across languages. */
body.cjcore-innerpage .cjsite-page{
  width:min(100% - 44px,1080px);max-width:1080px;margin:34px auto 65px;
}
body.cjcore-innerpage .cjsite-page .cjsite-page-hero{
  position:relative;overflow:hidden;
  padding:clamp(32px,4.5vw,50px) clamp(28px,4.4vw,50px);
  margin:0 0 39px;
  border:1px solid #e0e9f5;border-radius:21px;
  background:linear-gradient(125deg,#f8fbff 0%,#f0f6ff 100%);
  box-shadow:none;
}
body.cjcore-innerpage .cjsite-page .cjsite-page-hero::before{
  content:"";position:absolute;width:240px;height:240px;border-radius:50%;
  right:-105px;top:-120px;background:radial-gradient(circle,#bdd8ff85 0%,#bdd8ff00 72%);
  pointer-events:none;
}
body.cjcore-innerpage .cjsite-page .cjsite-hero-heading,
body.cjcore-innerpage .cjsite-page h2.cjsite-hero-heading{
  font-size:clamp(2.1rem,3.7vw,3.15rem);letter-spacing:-.047em;
  line-height:1.13;max-width:23ch;margin:0 0 15px;
}
body.cjcore-innerpage .cjsite-page .cjsite-lead{
  color:#506a85;font-size:clamp(.99rem,1.45vw,1.12rem);
  line-height:1.68;max-width:66ch;margin-bottom:18px;
}
body.cjcore-innerpage .cjsite-page p{font-size:.96rem;line-height:1.74;color:#4e647d}
body.cjcore-innerpage .cjsite-page h2:not(.cjsite-hero-heading){
  font-size:clamp(1.5rem,2.2vw,1.95rem);margin:38px 0 19px;
  letter-spacing:-.035em;
}
body.cjcore-innerpage .cjsite-page :is(.cjsite-card,.cjsite-steps > .wp-block-column,.cjsite-pricing-columns > .wp-block-column){
  border-radius:17px;background:#fff;border:1px solid #e2eaf4;
  box-shadow:0 8px 25px rgba(17,47,83,.035);padding:24px;
}
body.cjcore-innerpage .cjsite-page .cjsite-steps > .wp-block-column .cjsite-card{
  padding:0;border:0;box-shadow:none;background:transparent;
}
body.cjcore-innerpage .cjsite-page .cjsite-platform-columns .cjsite-card{
  min-height:218px;position:relative;border-top:3px solid #c9ddff;
}
body.cjcore-innerpage .cjsite-page .cjsite-platform-columns h3{
  font-size:1.17rem;margin:0 0 15px;line-height:1.35;
}
body.cjcore-innerpage .cjsite-page .cjsite-platform-columns .cjsite-card p{line-height:1.65}
body.cjcore-innerpage .cjsite-page .cjsite-platform-columns .cjsite-status{
  margin-top:auto;font-size:.81rem;font-weight:700;color:#2967b4;
}
body.cjcore-innerpage .cjsite-page .cjsite-section-highlight{
  border-radius:17px;background:#f5f9ff;margin:33px 0;padding:clamp(26px,3.2vw,38px);
}
body.cjcore-innerpage .cjsite-page .cjsite-final-cta{
  border-radius:17px;padding:clamp(24px,3vw,33px);margin-top:32px;
}
body.cjcore-innerpage .cjsite-page .wp-block-button__link,
body.cjcore-homepage .cj-site .wp-block-button__link{
  font-weight:700;border-radius:11px;transition:background .15s,transform .15s,box-shadow .15s;
}
body.cjcore-innerpage .cjsite-page .wp-block-button__link:hover,
body.cjcore-homepage .cj-site .wp-block-button__link:hover{transform:translateY(-1px)}
/* Legal pages: editorial document instead of eleven separate bordered boxes. */
body.cjcore-innerpage .cjsite-legal{
  width:min(100% - 44px,1100px);max-width:1100px;
}
body.cjcore-innerpage .cjsite-legal .cjsite-page-hero{
  background:transparent;border:0;box-shadow:none;padding:16px 0 27px;
  margin:0 0 22px;border-radius:0;border-bottom:1px solid #e0e8f2;
}
body.cjcore-innerpage .cjsite-legal .cjsite-page-hero::before{display:none}
body.cjcore-innerpage .cjsite-legal .cjsite-hero-heading{
  font-size:clamp(2.05rem,3.5vw,3rem);margin:0 0 13px;
}
body.cjcore-innerpage .cjsite-legal .cjsite-lead{max-width:73ch}
body.cjcore-innerpage .cjsite-legal .cjsite-page-hero p:last-child{
  display:inline-block;margin:4px 0 0;padding:8px 12px;
  border-radius:8px;background:#f1f6fd;color:#54708c;
  font-size:.79rem;line-height:1.45;
}
.cjx-document-layout{display:grid;grid-template-columns:238px minmax(0,1fr);gap:clamp(30px,4vw,56px);align-items:start}
.cjx-document-toc{position:sticky;top:100px;padding:18px 16px;border-radius:14px;background:#f6f9fd;border:1px solid #e4ebf3;max-height:calc(100vh - 125px);overflow-y:auto}
.cjx-document-toc strong{display:block;font-size:.79rem;font-weight:750;letter-spacing:.04em;color:#263f5b;margin-bottom:12px}
.cjx-document-toc ol{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:3px}
.cjx-document-toc a{display:block;text-decoration:none;color:#62748a!important;padding:7px 10px;border-radius:8px;font-size:.79rem;line-height:1.47}
.cjx-document-toc a:hover,.cjx-document-toc a[aria-current]{background:#eaf2ff;color:#1858bf!important}
.cjx-document-content{min-width:0}
body.cjcore-innerpage .cjsite-legal .cjsite-legal-section{
  max-width:100%;background:transparent;border:0;border-radius:0;box-shadow:none;
  padding:0 0 25px;margin:0 0 25px;border-bottom:1px solid #e8edf3;
  scroll-margin-top:100px;
}
body.cjcore-innerpage .cjsite-legal .cjsite-legal-section:last-of-type{margin-bottom:0}
body.cjcore-innerpage .cjsite-legal .cjsite-legal-section h3{
  font-weight:740;font-size:clamp(1.03rem,1.45vw,1.17rem);line-height:1.45;
  margin:0 0 11px;color:#203753;
}
body.cjcore-innerpage .cjsite-legal .cjsite-legal-section p{
  font-size:.92rem;line-height:1.82;color:#455b72;
  max-width:76ch;margin:0 0 12px;
}
body.cjcore-innerpage .cjsite-legal .cjsite-legal-section p:last-child{margin-bottom:0}
body.cjcore-innerpage .cjsite-legal .cjsite-legal-contact,
body.cjcore-innerpage .cjsite-legal .cjx-document-content > p:last-child{
  background:#f2f7ff;border:1px solid #e2ebf8;border-radius:11px;
  padding:15px 18px;margin:19px 0 0;color:#314e70;
  max-width:100%;font-size:.9rem;
}
/* Support: one-column FAQ accordion instead of huge stacked question blocks. */
body.cjcore-innerpage .cjsite-support .cjsite-faq{
  max-width:100%;border:0;padding:0;background:transparent;box-shadow:none;
  border-radius:0;margin-top:12px;
}
body.cjcore-innerpage .cjsite-support .cjx-faq-item{
  background:#fff;border:1px solid #e0e9f4;border-radius:12px;
  margin:0 0 11px;padding:0;overflow:hidden;
  box-shadow:0 3px 13px rgba(24,49,79,.025);
}
body.cjcore-innerpage .cjsite-support .cjx-faq-item summary{
  display:flex;align-items:center;justify-content:space-between;gap:15px;
  list-style:none;cursor:pointer;padding:18px 20px;
  font-weight:690;font-size:.95rem;color:#1f3652;
}
body.cjcore-innerpage .cjsite-support .cjx-faq-item summary::-webkit-details-marker{display:none}
body.cjcore-innerpage .cjsite-support .cjx-faq-item summary:hover{background:#f7faff}
body.cjcore-innerpage .cjsite-support .cjx-faq-chevron{width:10px;height:10px;flex:none;border-inline-end:2px solid #57728e;border-bottom:2px solid #57728e;transform:rotate(45deg);transition:transform .16s}
body.cjcore-innerpage .cjsite-support .cjx-faq-item[open] .cjx-faq-chevron{transform:rotate(225deg)}
body.cjcore-innerpage .cjsite-support .cjx-faq-item > p{padding:0 20px 19px;margin:0;line-height:1.7}
body.cjcore-innerpage .cjsite-support .cjsite-steps > .wp-block-column{border-top:3px solid #d2e3ff}
body.cjcore-innerpage .cjsite-support .cjsite-steps h3{font-size:1.06rem}
/* Prevent legacy doubled focus borders within platform, support and feature cards. */
body.cjcore-managed-site .cjsite-page :is(.cjsite-card,.cjsite-faq,.cjsite-platform-columns) :is(a,button,summary):focus:not(:focus-visible){outline:0!important}
body.cjcore-ar .cjx-document-layout{direction:rtl}
body.cjcore-ar .cjx-document-toc{right:auto}
body.cjcore-ar .cjsite-page-hero p:last-child{letter-spacing:0}
body.cjcore-ar .cjx-document-toc strong{letter-spacing:0}
@media(max-width:900px){.cjx-document-layout{grid-template-columns:195px minmax(0,1fr);gap:24px}}
@media(max-width:720px){
  .cjx-document-layout{display:flex;flex-direction:column;gap:20px}
  .cjx-document-toc{position:static;width:100%;max-height:none;padding:13px 14px}
  .cjx-document-toc ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 7px}
  .cjx-document-content{width:100%}
  body.cjcore-innerpage .cjsite-page,body.cjcore-innerpage .cjsite-legal{width:min(100% - 32px,1080px);margin:20px auto 42px}
  body.cjcore-innerpage .cjsite-page .cjsite-page-hero{padding:25px 20px;margin-bottom:25px}
  body.cjcore-innerpage .cjsite-legal .cjsite-page-hero{padding:8px 0 23px}
  body.cjcore-innerpage .cjsite-page .cjsite-hero-heading{font-size:clamp(1.95rem,7vw,2.55rem)}
  body.cjcore-innerpage .cjsite-page h2:not(.cjsite-hero-heading){margin-top:26px;font-size:1.5rem}
}
@media(max-width:410px){
  .cjx-document-toc ol{grid-template-columns:1fr}
  body.cjcore-innerpage .cjsite-page,body.cjcore-innerpage .cjsite-legal{width:calc(100% - 28px)}
  body.cjcore-innerpage .cjsite-page .cjsite-page-hero{padding:24px 18px}
  body.cjcore-innerpage .cjsite-legal .cjsite-page-hero{padding:8px 0 20px}
}
@media(prefers-reduced-motion:reduce){body.cjcore-managed-site .cjsite-page *,body.cjcore-managed-site .cj-site *{transition:none!important;scroll-behavior:auto!important}}


/* ClassJot Website Core 0.4.1: consolidated polish (all managed languages/pages).
   The page-owned titles inside .cj-site / .cjsite-page remain untouched. */
body.cjcore-managed-site :is(.entry-header,.ast-single-post-order>.entry-title,.ast-single-post-order>.post-thumb){
  display:none!important;
}
body.cjcore-managed-site .ast-article-single{padding-top:0!important;padding-inline:0!important;margin-top:0!important}
body.cjcore-managed-site :is(#primary,.content-area,.site-main){margin-top:0!important;padding-top:0!important}
body.cjcore-managed-site .site-content>.ast-container{max-width:none;padding-inline:0!important}
body.cjcore-managed-site .entry-content{margin-top:0!important}
body.cjcore-managed-site :is(.cj-site,.cjsite-page){margin-top:0}
body.cjcore-managed-site .entry-content>:first-child{margin-top:0!important}
body.cjcore-managed-site .cjcore-site-brand img,
body.cjcore-managed-site .cjcore-footer-logo img{
  display:block;width:43px;height:43px;padding:2px;background:#fff;
  image-rendering:auto;object-fit:contain;object-position:center;
  border:0;border-radius:9px;filter:none;
}
body.cjcore-managed-site .cjcore-site-brand{gap:9px}
body.cjcore-managed-site .cjcore-site-header-inner{min-height:68px}
/* Clear single-purpose EN/FR/AR controls; language selection modal is still
   available for first visits and unpublished translations. */
body.cjcore-managed-site .cjcore-language-nav{gap:5px}
body.cjcore-managed-site .cjcore-language-tab{font-weight:700;min-height:34px}
body.cjcore-managed-site .cjcore-language-chooser-button{display:none!important}
/* Compact page rhythm; remove accumulated Gutenberg / theme vertical gaps. */
body.cjcore-homepage .cj-site .cj-hero{padding-block:clamp(35px,4vw,58px)}
body.cjcore-homepage .cj-site .cj-section{padding-block:clamp(38px,4.35vw,59px)}
body.cjcore-homepage .cj-site .cj-showcase-gallery{padding-block:clamp(39px,4.2vw,60px)}
body.cjcore-homepage .cj-site .cj-workflow,
body.cjcore-homepage .cj-site .cj-pricing{margin-block:0}
body.cjcore-homepage .cj-site .cj-section-intro{margin:0 0 23px}
body.cjcore-homepage .cj-site .cj-hero-columns{gap:clamp(20px,3.6vw,50px)}
body.cjcore-homepage .cj-site .cj-showcase-gallery-header{margin-bottom:22px}
body.cjcore-innerpage .cjsite-page{margin:clamp(15px,2.3vw,29px) auto 30px}
body.cjcore-innerpage .cjsite-page .cjsite-page-hero{margin-bottom:22px;padding:clamp(24px,3.4vw,39px)}
body.cjcore-innerpage .cjsite-page h2:not(.cjsite-hero-heading){margin-top:27px;margin-bottom:15px}
body.cjcore-innerpage .cjsite-page .wp-block-columns{margin:16px 0 23px}
body.cjcore-innerpage .cjsite-page .cjsite-section-highlight{margin:24px 0}
body.cjcore-innerpage .cjsite-page .cjsite-final-cta{margin:24px 0 0}
body.cjcore-innerpage .cjsite-page .cjsite-steps>.wp-block-column{display:flex;flex-direction:column}
body.cjcore-innerpage .cjsite-page .cjsite-steps>.wp-block-column>.cjsite-card{height:100%;width:100%}
body.cjcore-managed-site .cjcore-footer{margin-top:22px}
/* Balanced number hierarchy, with tabular figures in figures and metrics. */
body.cjcore-managed-site .cj-site :is(.cj-step-num,.cj-step-number,.cj-step-label,.cj-feature-number,.cj-feature-num,.cj-price,.cj-plan-price,.cj-plan-value),
body.cjcore-managed-site .cj-site :is(.cj-plan,.cj-feature) :is(strong,b){font-weight:700;font-variant-numeric:tabular-nums}
body.cjcore-innerpage .cjsite-steps .cjsite-card h3{font-weight:720}
body.cjcore-innerpage .cjsite-steps .cjsite-card h3::first-letter{font-weight:750}
body.cjcore-innerpage .cjsite-page .cjsite-platform-columns .cjsite-status{font-weight:700}
/* Restrain the phone frame and improve its placement without raster scaling. */
@media(min-width:821px){
  body.cjcore-homepage .cj-site .cj-showcase-hero-visual{min-height:410px;max-width:385px}
  body.cjcore-homepage .cj-site .cj-showcase-phone{
    max-width:315px;margin-inline:auto;transform:translateY(0) rotate(-1deg);
    box-shadow:0 25px 42px rgba(21,41,71,.17),0 7px 12px rgba(21,41,71,.07);
  }
}
body.cjcore-homepage .cj-site .cj-showcase-hero-visual:focus-within{outline-offset:4px}
/* Keep button styles crisp while preserving visible keyboard focus. */
body.cjcore-managed-site :is(a,button,summary):focus:not(:focus-visible){outline:none!important}
body.cjcore-managed-site :is(a,button,summary):focus-visible{outline:2px solid #1764e8!important;outline-offset:3px!important}
/* FAQ paragraphs remain compact after the JavaScript accordion conversion. */
body.cjcore-innerpage .cjsite-support .cjx-faq-item>p{line-height:1.6}
body.cjcore-ar .cjsite-page .cjsite-faq{text-align:right;direction:rtl}
@media(max-width:820px){
 body.cjcore-managed-site .cjcore-site-brand img{width:36px;height:36px;padding:2px}
 body.cjcore-homepage .cj-site .cj-hero{padding-block:32px}
 body.cjcore-homepage .cj-site .cj-section{padding-block:40px}
 body.cjcore-homepage .cj-site .cj-showcase-gallery{padding-block:40px}
 body.cjcore-innerpage .cjsite-page{margin:18px auto 24px}
 body.cjcore-managed-site .cjcore-footer{margin-top:16px}
}
@media(max-width:420px){
 body.cjcore-managed-site .cjcore-site-brand img{width:32px;height:32px}
 body.cjcore-managed-site .cjcore-language-tab{min-height:30px}
 body.cjcore-homepage .cj-site .cj-showcase-phone{transform:none}
}
