/* Reading rhythm and small headings on public pages. */
html body main {
  --reading-line: 1.5;
  --reading-heading-line: 1.3;
}

html[lang="ar"] body main {
  --reading-line: 1.6;
  --reading-heading-line: 1.4;
}

html[lang] body main p,
html[lang] body main :is(.article-body, .public-content-frame) li {
  line-height: var(--reading-line) !important;
}

html[lang] body main :is(.article-body, .public-content-frame) p {
  margin-block-end: .75em;
}

html[lang] body main :is(
  .cert-card, .cert-image-copy, .domain-copy, .why-icon-grid,
  .knowledge-copy, .detail-card, .process-steps, .journey-step,
  .launch-stage-cards, .capability-card, .ukg-cert-v494
) h3,
html[lang] body main .content h4 {
  font-size: clamp(1.125rem, 1rem + .45vw, 1.3125rem) !important;
  line-height: var(--reading-heading-line) !important;
}

/* UKGLTD 7.2.16 | Public site visual polish only
 * No payment, checkout, invoice, candidate dashboard, admin or business logic.
 * Loaded by the existing public-reading.css link on public index.php pages.
 */
:root{--ukg-polish-ink:#172e50;--ukg-polish-muted:#60738b;--ukg-polish-border:#dfe7f1;--ukg-polish-shadow:0 14px 38px rgba(20,43,76,.065)}

/* Maintain readable typography, card content and consistent geometry. */
html body main :is(.cert-card,.ukg-about-v619 .about619-reg,.registration-record-card,.office-card){min-width:0}
html body main :is(.cert-card,.registration-record-card,.office-card) :is(h2,h3,p){overflow-wrap:break-word}
html body main :is(.cert-card,.registration-record-card,.office-card) a{overflow-wrap:anywhere}
html body main :is(.ukg-about-v619 .about619-company dd,.ukg-about-v619 .about619-reg-text){min-width:0;overflow-wrap:anywhere}

@media (min-width:1024px){
  /* Core rhythm across homepage, categories, resource pages, About and registries. */
  html body .section{padding-block:clamp(58px,5vw,82px)}
  html body .section-head{align-items:center;gap:30px;margin-bottom:30px}
  html body .section-head .copy{max-width:780px}
  html body .section-head h2{font-size:clamp(30px,2.8vw,44px);line-height:1.2;letter-spacing:-.025em}
  html[lang="ar"] body .section-head h2{letter-spacing:0;line-height:1.35}
  html body .section-head p{max-width:68ch;line-height:1.75}
  html body .site-subheader-v622{padding-block:44px 38px}
  html body .site-subheader-v622 h1{font-size:clamp(34px,3.15vw,50px);line-height:1.22;max-width:980px}
  html body .site-subheader-v622 p{max-width:880px;font-size:17px;line-height:1.7}

  /* Menu: better target and clearer hierarchy without changing direction/order. */
  html body .site-header .main-nav{column-gap:5px;min-width:0}
  html body .site-header .main-nav>a,
  html body .site-header .nav-item>a{border-radius:11px;transition:background-color .16s ease,color .16s ease}
  html body .site-header .main-nav>a:hover,
  html body .site-header .main-nav>a:focus-visible,
  html body .site-header .nav-item>a:hover,
  html body .site-header .nav-item>a:focus-visible{background:#f0f5fc}
  html body .site-header .mega-menu{border-radius:20px;border-color:var(--ukg-polish-border);box-shadow:0 22px 60px rgba(18,40,71,.13);padding:15px;gap:7px}
  html body .site-header .mega-menu a{border-radius:12px;padding:13px 14px;line-height:1.5;min-width:0}
  html body .site-header .mega-menu strong{font-size:14px;line-height:1.35}
  html body .site-header .mega-menu small{font-size:12px;line-height:1.5}

  /* Certifications: 3 airy columns instead of cramped 4 at desktop widths. */
  html body main .cert-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
  html body main .cert-grid .cert-card{padding:24px;border-radius:22px;min-height:260px;box-shadow:var(--ukg-polish-shadow);border-color:var(--ukg-polish-border)}
  html body main .cert-grid .cert-card h3{font-size:19px;line-height:1.45}
  html body main .cert-grid .cert-card p{font-size:14px;line-height:1.65}
  html body main .cert-grid .cert-card a{position:relative;z-index:1;font-size:13px}

  /* Public interior cards, announcements, registries and content. */
  html body main .content-section{padding-block:52px 84px}
  html body main .content{max-width:1080px}
  html body main .public-content-frame:not(.policy-content){max-width:1120px}
  html body main .content :is(.card,.ukg-card),
  html body main .registration-record-card{border:1px solid var(--ukg-polish-border);border-radius:20px;box-shadow:var(--ukg-polish-shadow);background:#fff}
  html body main .content .cards{gap:19px}
  html body main .content :is(.card,.ukg-card){padding:25px}
  html body main .registration-record-card{padding:25px;gap:7px;min-height:224px}
  html body main .registration-record-card h2{font-size:20px;line-height:1.3;margin:6px 0}
  html body main .registration-record-card p{margin:3px 0 10px;line-height:1.55}
  html body main .registration-record-card .registration-record-logo{min-height:68px;margin-bottom:7px}
  html body main .office-grid{gap:22px}
  html body main .office-card{border-color:var(--ukg-polish-border);border-radius:23px;box-shadow:var(--ukg-polish-shadow)}

  /* About: predictable columns, spacing and readable registry logos. */
  html body main .ukg-about-v619{gap:23px;max-width:1200px}
  html body main .ukg-about-v619>section,
  html body main .ukg-about-v619>.about619-split>section{padding:clamp(26px,3.1vw,40px);border-color:var(--ukg-polish-border);box-shadow:var(--ukg-polish-shadow);border-radius:24px}
  html body main .ukg-about-v619 h2{font-size:clamp(26px,2.55vw,36px);line-height:1.3}
  html body main .ukg-about-v619 p{font-size:16px;line-height:1.76}
  html body main .ukg-about-v619 .about619-head{margin-bottom:20px}
  html body main .ukg-about-v619 .about619-hero{grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:25px}
  html body main .ukg-about-v619 .about619-facts{gap:12px}
  html body main .ukg-about-v619 .about619-facts>div{min-height:100px;padding:16px}
  html body main .ukg-about-v619 .about619-cards{gap:16px}
  html body main .ukg-about-v619 .about619-cards>article{min-width:0;padding:23px;border-radius:18px}
  html body main .ukg-about-v619 .about619-registers{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
  html body main .ukg-about-v619 .about619-reg{min-height:104px;padding:15px;gap:12px;border-radius:16px;border-color:var(--ukg-polish-border);box-shadow:0 6px 22px rgba(20,43,76,.04)}
  html body main .ukg-about-v619 .about619-reg-text h3{font-size:15px;line-height:1.35;margin-bottom:4px}
  html body main .ukg-about-v619 .about619-reg-text p{font-size:12px;line-height:1.55}
  html body main .ukg-about-v619 .about619-company{grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:22px}
  html body main .ukg-about-v619 .about619-company dl>div{grid-template-columns:175px minmax(0,1fr);padding:16px;gap:14px}
  html body main .ukg-about-v619 .about619-company aside{padding:26px}
  html body main .ukg-about-v619 .about619-steps{gap:14px}
}

/* Between phone and desktop keep cards from squeezing into 4 columns. */
@media (min-width:761px) and (max-width:1023px){
  html body main .cert-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
  html body main .ukg-about-v619 .about619-registers{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
}
/* Visible keyboard focus without affecting click handlers. */
html body main :is(.cert-card a,.about619-reg-link,.registration-record-card a):focus-visible{outline:3px solid #7fa7e4;outline-offset:3px}
@media (prefers-reduced-motion:reduce){
 html body .site-header .main-nav>a,html body .site-header .nav-item>a{transition:none}
}
