/* =========================================================
   IMS CONSISTENT THEME — Compact • Clear • Modern
   Shared across all customer-facing pages
   ========================================================= */
:root{
  --ims-navy:#0c2747;
  --ims-navy-2:#173d67;
  --ims-blue:#275e91;
  --ims-orange:#f47a20;
  --ims-pink:#e83e8c;
  --ims-ink:#16283b;
  --ims-muted:#5e6d7e;
  --ims-line:#dbe3eb;
  --ims-soft:#f5f8fb;
  --ims-warm:#fff7f2;
  --ims-pink-soft:#fff4f8;
  --ims-shadow:0 10px 28px rgba(12,39,71,.075);
}

html{scroll-padding-top:70px}
body{
  color:var(--ims-ink)!important;
  background:#f7f9fc!important;
  font-size:15px!important;
  line-height:1.62!important;
  letter-spacing:0!important;
}
p,li,label,input,select,textarea,button{line-height:1.62}
h1,h2,h3,h4{
  color:var(--ims-navy)!important;
  text-wrap:balance;
  overflow-wrap:anywhere;
}
p{overflow-wrap:anywhere}
.container{width:min(1280px,94%)!important}

/* ---------- Header ---------- */
.site-header{
  height:68px!important;
  background:rgba(255,255,255,.98)!important;
  border-bottom:1px solid #dfe6ee!important;
  box-shadow:0 4px 18px rgba(12,39,71,.055)!important;
}
.header-inner{
  width:min(1440px,98%)!important;
  height:68px!important;
  padding:0 14px!important;
  gap:18px!important;
}
.brand img{width:184px!important;max-height:46px!important}
.nav{gap:16px!important;align-items:center!important}
.nav a{
  position:relative;
  color:var(--ims-navy)!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:1!important;
  padding:27px 0 25px!important;
  white-space:nowrap;
}
.nav a::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:3px;
  background:linear-gradient(90deg,var(--ims-orange),var(--ims-pink));
  transform:scaleX(0);transform-origin:center;transition:.2s ease;
}
.nav a:hover{color:var(--ims-pink)!important}
.nav a:hover::after,.nav a.active-link::after,.nav a[aria-current="page"]::after{transform:scaleX(1)}
.nav a.active-link,.nav a[aria-current="page"]{color:var(--ims-pink)!important}
.nav-member{font-weight:800!important}
.nav-contact{font-weight:800!important}
.menu-btn{color:var(--ims-navy)!important}

/* ---------- Global rhythm ---------- */
.section{padding:54px 0!important}
.category-section{padding:48px 0!important}
.membership-section{padding:54px 0!important}
.section-head{margin-bottom:20px!important;gap:24px!important}
.section-head p{max-width:590px!important;color:var(--ims-muted)!important;font-size:14px!important}
.section-kicker{
  color:var(--ims-orange)!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:.12em!important;
  margin-bottom:5px!important;
}
h1{font-size:clamp(31px,3.2vw,44px)!important;line-height:1.22!important}
h2{font-size:clamp(25px,2.7vw,35px)!important;line-height:1.28!important}
h3{line-height:1.38!important}

.section-soft,.services-section,.monthly{background:#f0f4f8!important}
.section-dark{background:linear-gradient(135deg,#081d36,#0c2747 62%,#173d67)!important}

/* ---------- Home hero ---------- */
.hero-section{padding:14px 0 0!important;background:linear-gradient(180deg,#f7f9fc,#fff)!important}
.hero-slider{
  width:min(1320px,96%)!important;
  border-radius:20px!important;
  box-shadow:0 16px 38px rgba(12,39,71,.14)!important;
  border:1px solid #e2e8ef;
}
.slider-btn{width:42px!important;height:42px!important;font-size:28px!important}
.slider-dots{bottom:12px!important;padding:6px 10px!important}
.dot{width:9px!important;height:9px!important}

/* ---------- About ---------- */
.about-section{background:#fff!important}
.about-grid{gap:28px!important}
.about-intro p{font-size:14.5px!important;line-height:1.72!important;margin:9px 0!important}
.about-panel{padding:16px 22px!important;border-radius:18px!important;background:#eef4f9!important;box-shadow:var(--ims-shadow)}
.about-stat{padding:13px 0!important;grid-template-columns:44px 1fr!important;gap:12px!important}
.about-stat>span{width:36px!important;height:36px!important;border-radius:9px!important;background:linear-gradient(135deg,var(--ims-navy),var(--ims-blue))!important}
.about-stat p{font-size:13px!important;line-height:1.55!important}

/* ---------- Services as quick gateways ---------- */
.service-gateway-section{
  background:
    radial-gradient(circle at 8% 12%,rgba(244,122,32,.08),transparent 22%),
    radial-gradient(circle at 92% 85%,rgba(232,62,140,.07),transparent 24%),
    #f1f5f9!important;
}
.service-head{align-items:center!important}
.service-gateway-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.service-gateway{
  min-height:190px;
  display:grid;grid-template-columns:44px 1fr 28px;gap:14px;align-items:start;
  position:relative;overflow:hidden;
  padding:22px;
  color:inherit;text-decoration:none;
  border:1px solid var(--ims-line);border-radius:18px;background:#fff;
  box-shadow:var(--ims-shadow);transition:.2s ease;
}
.service-gateway::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:5px;
  background:linear-gradient(180deg,var(--ims-orange),var(--ims-pink));
}
.service-gateway:hover{transform:translateY(-3px);box-shadow:0 17px 36px rgba(12,39,71,.12);border-color:#cbd8e4}
.gateway-no{
  width:38px;height:38px;border-radius:10px;display:grid;place-items:center;
  background:var(--ims-navy);color:#fff;font-size:12px;font-weight:800;
}
.gateway-copy span{font-size:10px;font-weight:800;letter-spacing:.1em;color:var(--ims-orange)}
.gateway-copy h3{font-size:21px!important;margin:3px 0 5px!important}
.gateway-copy p{font-size:13px!important;color:var(--ims-muted)!important;line-height:1.55!important;margin:0!important}
.gateway-arrow{font-size:27px;color:var(--ims-pink);line-height:1}
.service-gateway.documents::before{background:linear-gradient(180deg,var(--ims-navy),var(--ims-blue))}
.service-gateway.regulation::before{background:linear-gradient(180deg,#16805a,#2f9973)}

/* ---------- Training ---------- */
.main-category-grid{gap:13px!important}
.main-category-card{padding:19px 21px!important;border-radius:17px!important;gap:14px!important;box-shadow:0 7px 18px rgba(12,39,71,.055)!important}
.main-cat-icon{height:50px!important;width:8px!important}
.main-cat-text h3{font-size:18px!important;margin:2px 0!important}
.main-cat-text p{font-size:13px!important;line-height:1.5!important}
.course-group{margin-bottom:48px!important}
.group-header{padding:20px 22px!important;border-radius:17px!important;margin-bottom:18px!important}
.course-category-block{margin:22px 0 34px!important}
.sub-category-title{margin-bottom:11px!important}
.sub-category-title h3{font-size:21px!important}
.course-grid{gap:10px!important}
.course-card{padding:16px 18px!important;border-radius:12px!important;grid-template-columns:155px 1.4fr .9fr!important;column-gap:18px!important}
.course-card h4{font-size:16px!important;line-height:1.45!important;margin-bottom:4px!important}
.course-card p{font-size:12.5px!important;line-height:1.55!important}
.action-btn{min-height:35px!important;padding:7px 8px!important;border-radius:8px!important}

/* ---------- Membership ---------- */
.membership-hero{padding:28px!important;border-radius:20px!important;gap:22px!important}
.membership-price{margin:12px 0!important}
.membership-price strong{font-size:40px!important}
.summary-card{padding:15px!important;border-radius:13px!important}
.summary-card strong{font-size:18px!important}
.summary-card p{font-size:12.5px!important}
.membership-package{padding-top:34px!important}
.package-card{padding:21px!important;border-radius:18px!important}
.package-price{font-size:33px!important;margin:11px 0!important}
.package-card li{margin:5px 0;font-size:14px}

/* ---------- Document System ---------- */
.compact-hero{
  padding:36px 0!important;
  background:
    radial-gradient(circle at 85% 15%,rgba(232,62,140,.10),transparent 25%),
    linear-gradient(135deg,#fff7f0,#fff 50%,#eef5fb)!important;
  border-bottom:1px solid #e1e7ee!important;
}
.doc-hero-grid{gap:24px!important;grid-template-columns:1.2fr .8fr!important}
.doc-hero h1 span{color:var(--ims-pink)!important}
.doc-hero p,.checkout-hero p{font-size:14px!important;line-height:1.62!important}
.doc-value-panel{gap:8px!important}
.doc-value-panel>div{padding:14px 10px!important;border-radius:14px!important;border-color:#dfe6ee!important;box-shadow:var(--ims-shadow)!important}
.doc-value-panel strong{color:var(--ims-navy)!important;font-size:18px!important}
.doc-shop-section{padding:42px 0 48px!important}
.doc-tabs{margin-bottom:10px!important}
.doc-tab{padding:7px 12px!important;font-size:12px!important}
.doc-tab.active{background:var(--ims-navy)!important;border-color:var(--ims-navy)!important}
.doc-toolbar{margin-bottom:13px!important}
.document-grid{gap:11px!important}
.doc-card{padding:16px!important;min-height:238px!important;border-radius:15px!important;box-shadow:0 7px 18px rgba(12,39,71,.05)!important}
.doc-card h3{font-size:16px!important;line-height:1.42!important}
.doc-card p{font-size:12.5px!important;line-height:1.55!important}
.doc-standard{background:#eef4f9!important;color:var(--ims-navy)!important}
.doc-price{color:var(--ims-navy)!important}
.doc-note-section{padding:30px 0 38px!important;background:#eef3f7!important}
.doc-note-grid{gap:20px!important}
.doc-steps{gap:8px!important}
.doc-steps div{padding:11px!important;border-radius:11px!important}
.doc-steps b{background:var(--ims-navy)!important}
.buy-btn,.doc-primary,.place-order-btn{background:linear-gradient(135deg,var(--ims-orange),var(--ims-pink))!important}

/* ---------- Checkout ---------- */
.checkout-section{padding:34px 0 44px!important}
.checkout-grid{gap:14px!important}
.checkout-main{gap:10px!important}
.checkout-card,.summary-sticky{padding:17px!important;border-radius:15px!important;box-shadow:var(--ims-shadow)!important}
.checkout-card h2,.summary-sticky h2{font-size:18px!important;margin-bottom:10px!important}
.checkout-form-grid{gap:9px!important}
.checkout-card input,.checkout-card textarea{padding:9px 10px!important}
.summary-sticky{top:82px!important}

/* ---------- E-Regulation ---------- */
.ereg-page{background:#f7f9fc!important}
.ereg-page .hero{padding:34px 0 26px!important;background:linear-gradient(135deg,#fff 0,#f2f6fa 68%,#fff5f8 100%)!important}
.ereg-page .hero-grid{gap:18px!important}
.ereg-page .hero-lead{font-size:14.5px!important;line-height:1.62!important;margin-bottom:11px!important}
.ereg-page .hero-tags{margin:10px 0 13px!important}
.ereg-page .hero-panel{padding:17px!important;border-radius:16px!important;background:linear-gradient(145deg,var(--ims-navy),var(--ims-navy-2))!important}
.ereg-page .hero-panel h3{color:#fff!important}
.ereg-page .value-strip{padding:12px 0!important;background:#fff!important}
.ereg-page .value-grid{gap:8px!important}
.ereg-page .value-card{padding:11px!important;border-radius:12px!important}
.ereg-page .compact-section{padding:36px 0!important}
.ereg-page .section-title{margin-bottom:13px!important}
.ereg-page .section-title p{font-size:12.5px!important;line-height:1.55!important}
.ereg-page .iso-flow{gap:7px!important}
.ereg-page .iso-step{padding:11px!important;min-height:112px!important;border-radius:12px!important}
.ereg-page .monthly{background:#eef3f7!important}
.ereg-page .stats{gap:7px!important;margin-bottom:10px!important}
.ereg-page .stat{padding:10px!important}
.ereg-page .search-card{padding:13px!important;border-radius:14px!important;box-shadow:var(--ims-shadow)!important}
.ereg-page .member-zone{background:linear-gradient(135deg,#081d36,#0c2747 70%,#173d67)!important}
.ereg-page .member-card h3{color:#fff!important}
.ereg-page .scope-note{padding:14px 0 28px!important}

/* ---------- Knowledge ---------- */
.knowledge-hero{padding:38px 0 30px!important;background:linear-gradient(135deg,#fff,#eef4f9 70%,#fff4f8)!important}
.knowledge-hero .intro{max-width:860px!important}
.knowledge-hero p{font-size:14px!important;line-height:1.62!important;color:var(--ims-muted)!important}
.infographic-section{padding:42px 0!important;background:#fff!important}
.download-section{padding:42px 0!important;background:#eef3f7!important}
.knowledge-grid,.download-grid{gap:11px!important}
.knowledge-highlight{margin:14px 0!important}
.highlight-box{border-radius:14px!important;box-shadow:var(--ims-shadow)!important}

/* ---------- Member register ---------- */
.reg-wrap{padding:36px 0 44px!important;background:linear-gradient(180deg,#f7f9fc,#eef3f7)!important}
.reg-head{margin-bottom:16px!important}
.reg-head p{font-size:14px!important;line-height:1.58!important;max-width:800px!important}
.reg-grid{gap:14px!important}
.reg-card{border-radius:16px!important;box-shadow:var(--ims-shadow)!important;padding:19px!important}
.step-title{gap:10px!important}
.step-title h2{font-size:18px!important;margin:0!important}
.step-title p{font-size:12px!important;margin:2px 0 0!important}
.step-no{background:linear-gradient(135deg,var(--ims-navy),var(--ims-blue))!important}
.form-grid{gap:9px!important}
.profile-list{gap:7px!important}
.check,.consent{border-radius:10px!important}
.summary .price{color:var(--ims-navy)!important}
.submit{background:linear-gradient(135deg,var(--ims-orange),var(--ims-pink))!important}

/* ---------- Footer ---------- */
.site-footer{padding:13px 0!important;background:#fff!important;border-top:1px solid #dce4ec!important}
.footer-wrap{font-size:12.5px!important;color:#687587!important}
.footer-wrap img{height:34px!important}

/* ---------- Focus / accessibility ---------- */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid rgba(244,122,32,.32)!important;outline-offset:2px!important
}

@media(max-width:1250px){
  .nav{gap:11px!important}
  .nav a{font-size:12px!important}
  .brand img{width:166px!important}
}
@media(max-width:1040px){
  .service-gateway-grid{grid-template-columns:1fr!important}
  .service-gateway{min-height:0!important}
  .course-card{grid-template-columns:140px 1fr!important}
  .course-actions{grid-column:1/-1!important;grid-template-columns:repeat(4,1fr)!important}
}
@media(max-width:900px){
  .header-inner{padding:0 4%!important}
  .nav{top:68px!important;gap:0!important;padding:8px 4% 14px!important}
  .nav a{font-size:14px!important;padding:11px 0!important}
  .nav a::after{display:none}
  .section,.category-section,.membership-section{padding:38px 0!important}
  .about-grid,.doc-hero-grid{grid-template-columns:1fr!important}
}
@media(max-width:680px){
  body{font-size:14.5px!important}
  .container{width:min(94%,1280px)!important}
  .brand img{width:154px!important}
  h1{font-size:29px!important}
  h2{font-size:24px!important}
  .hero-section{padding-top:8px!important}
  .hero-slider{width:96%!important;border-radius:14px!important}
  .service-gateway{grid-template-columns:38px 1fr 22px!important;padding:17px!important}
  .gateway-copy h3{font-size:19px!important}
  .course-card{grid-template-columns:1fr!important;padding:14px!important}
  .course-actions{grid-template-columns:1fr 1fr!important}
  .membership-hero{padding:20px!important}
  .ereg-page .compact-section{padding:30px 0!important}
  .knowledge-hero,.compact-hero{padding:28px 0!important}
}

/* =========================================================
   IMS VISUAL HIERARCHY REFINEMENT — Readable • Layered • Modern
   ========================================================= */

/* Stronger orange micro-headings */
.section-kicker{
  font-size:13px!important;
  line-height:1.35!important;
  letter-spacing:.08em!important;
  margin-bottom:8px!important;
  font-weight:800!important;
}
.gateway-copy span,
.promo-eyebrow,
.package-label,
.eyebrow-light{
  font-size:12px!important;
  line-height:1.4!important;
  letter-spacing:.06em!important;
  font-weight:800!important;
}

/* Better reading rhythm and separation */
.section,
.category-section,
.membership-section,
.infographic-section,
.download-section,
.doc-shop-section,
.checkout-section,
.reg-wrap,
.ereg-page .compact-section{
  position:relative;
}
.section + .section,
.category-section + .section,
.membership-section + .section,
.infographic-section + .download-section{
  border-top:1px solid rgba(12,39,71,.065);
}

/* Alternating visual zones, subtle enough to keep IMS corporate feel */
main > section:nth-of-type(even):not(.hero-section):not(.section-dark):not(.member-zone):not(.compact-hero):not(.checkout-hero){
  background:linear-gradient(180deg,#f3f7fb 0%,#eef4f8 100%)!important;
}
main > section:nth-of-type(odd):not(.hero-section):not(.section-dark):not(.member-zone):not(.compact-hero):not(.checkout-hero){
  background:#ffffff!important;
}

/* Section headings become visual anchors */
.section-head,
.section-title{
  position:relative;
  padding-bottom:14px!important;
  margin-bottom:20px!important;
  border-bottom:1px solid #dfe7ef;
}
.section-head::after,
.section-title::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-1px;
  width:72px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--ims-orange),var(--ims-pink));
}
.section-head h2,
.section-title h2{
  margin-top:1px!important;
  margin-bottom:4px!important;
}
.section-head p,
.section-title p{
  margin-top:4px!important;
}

/* Card hierarchy: less visual noise, more breathing space inside each block */
.service-gateway,
.main-category-card,
.course-card,
.package-card,
.doc-card,
.checkout-card,
.summary-sticky,
.reg-card,
.ereg-page .value-card,
.ereg-page .iso-step,
.ereg-page .search-card,
.highlight-box{
  border-color:#dbe5ee!important;
  box-shadow:0 8px 22px rgba(12,39,71,.065)!important;
}
.service-gateway:hover,
.main-category-card:hover,
.doc-card:hover{
  box-shadow:0 15px 34px rgba(12,39,71,.11)!important;
}

/* Text hierarchy */
p,
li{color:#4e6072}
.card p,
.service-gateway p,
.course-card p,
.doc-card p,
.summary-card p,
.reg-card p,
.ereg-page .value-card p,
.ereg-page .iso-step p{color:#5b6b7b!important}
strong,b{color:var(--ims-ink)}

/* Constrain long text lines for comfortable scanning */
.about-intro p,
.knowledge-hero .intro,
.reg-head p,
.ereg-page .hero-lead,
.section-head p,
.section-title p{
  max-width:780px;
}

/* Back to top button */
.ims-back-to-top{
  position:fixed;
  right:20px;
  bottom:20px;
  z-index:9999;
  width:46px;
  height:46px;
  border:0;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--ims-orange),var(--ims-pink));
  color:#fff;
  font-size:23px;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 10px 26px rgba(12,39,71,.22);
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  transition:opacity .2s ease,transform .2s ease,visibility .2s ease,box-shadow .2s ease;
}
.ims-back-to-top:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(12,39,71,.28);
}
.ims-back-to-top.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.ims-back-to-top:focus-visible{
  outline:3px solid rgba(244,122,32,.28);
  outline-offset:3px;
}

/* Mobile: keep separation without feeling oversized */
@media (max-width: 768px){
  .section-kicker{font-size:12px!important;letter-spacing:.055em!important}
  .gateway-copy span,.promo-eyebrow,.package-label,.eyebrow-light{font-size:11.5px!important}
  .section-head,.section-title{padding-bottom:11px!important;margin-bottom:16px!important}
  .section-head::after,.section-title::after{width:58px;height:3px}
  .ims-back-to-top{right:14px;bottom:14px;width:43px;height:43px;font-size:21px}
}

/* Services system flow */
.service-gateway-grid{align-items:stretch}.service-gateway .gateway-copy p{margin:.38rem 0;line-height:1.55}.service-gateway .gateway-copy p strong{color:#17233c}.service-system-flow{margin-top:20px;padding:16px 18px;border:1px solid rgba(20,38,70,.10);border-radius:16px;background:linear-gradient(90deg,#fff8f2,#fff,#fff3f8);display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;font-weight:800;color:#17233c}.service-system-flow span{padding:7px 12px;border-radius:999px;background:#fff;box-shadow:0 6px 18px rgba(24,38,72,.07)}.service-system-flow b{color:#f07a24}.service-system-flow small{flex-basis:100%;text-align:center;color:#667085;font-weight:600}.nav a{white-space:nowrap}
@media(max-width:900px){.service-system-flow{gap:8px}.service-gateway .gateway-copy p{font-size:.95rem}}

/* =========================================================
   IMS READABILITY + ACCESSIBLE CONTRAST REFINEMENT
   2026-09-29
   ========================================================= */
:root{
  --ims-text-dark:#12263a;
  --ims-text-muted:#45586b;
  --ims-light:#ffffff;
  --ims-light-muted:#e8eef5;
}
html{scroll-behavior:auto!important}
body{
  font-size:17px!important;
  line-height:1.72!important;
  color:var(--ims-text-dark)!important;
}
p,li,label,input,select,textarea,button,a{font-size:inherit}
p,li{color:var(--ims-text-muted)}
h1,h2,h3,h4{letter-spacing:-.01em}
h1{font-size:clamp(36px,4vw,52px)!important;line-height:1.16!important}
h2{font-size:clamp(28px,3vw,39px)!important;line-height:1.24!important}
h3{font-size:clamp(20px,2vw,25px)!important;line-height:1.35!important}
h4{font-size:18px!important;line-height:1.42!important}

/* Header: readable without overcrowding */
.nav{gap:15px!important}
.nav a{font-size:14.5px!important;font-weight:700!important;letter-spacing:-.01em!important}
@media(max-width:1180px){.nav{gap:11px!important}.nav a{font-size:13.5px!important}.brand img{width:170px!important}}
@media(max-width:1020px){.menu-btn{display:block!important}.nav{position:absolute!important;top:68px!important;left:0!important;right:0!important;background:#fff!important;display:none!important;flex-direction:column!important;align-items:stretch!important;padding:14px 5%!important;border-bottom:1px solid var(--ims-line)!important;box-shadow:0 12px 24px rgba(12,39,71,.08)!important}.nav.open{display:flex!important}.nav a{font-size:16px!important;padding:13px 0!important}}

/* Orange / accent labels: never tiny */
.section-kicker,
.sub-category-title span,
.gateway-copy span,
.ereg-page .section-kicker,
.knowledge-kicker,
.doc-kicker{
  font-size:14px!important;
  line-height:1.4!important;
  letter-spacing:.08em!important;
  font-weight:800!important;
}

/* Light background -> dark readable text */
.section:not(.section-dark),.section-soft,.about-section,.service-gateway-section,.category-section,.membership-section,.compact-hero,.doc-note-section,.monthly{
  color:var(--ims-text-dark)!important;
}
.section:not(.section-dark) p,.section-soft p,.about-section p,.service-gateway-section p,.category-section p,.compact-hero p,.doc-note-section p,.monthly p{
  color:var(--ims-text-muted)!important;
}

/* Dark background -> light text, including headings */
.section-dark,.home-cta-section,.ereg-page .member-zone,.membership-hero,.membership-promo-banner{
  color:#fff!important;
}
.section-dark h1,.section-dark h2,.section-dark h3,.section-dark h4,
.home-cta-section h1,.home-cta-section h2,.home-cta-section h3,.home-cta-section h4,
.ereg-page .member-zone h1,.ereg-page .member-zone h2,.ereg-page .member-zone h3,.ereg-page .member-zone h4,
.membership-hero h1,.membership-hero h2,.membership-hero h3,.membership-hero h4,
.membership-promo-banner h1,.membership-promo-banner h2,.membership-promo-banner h3,.membership-promo-banner h4{
  color:#fff!important;
}
.section-dark p,.section-dark li,.section-dark span:not(.section-kicker),
.home-cta-section p,.home-cta-section li,
.ereg-page .member-zone p,.ereg-page .member-zone li,
.membership-hero p,.membership-hero li,
.membership-promo-banner p,.membership-promo-banner li{
  color:#e8eef5!important;
}
.section-dark .section-kicker,.home-cta-section .section-kicker,.ereg-page .member-zone .section-kicker,.membership-hero .section-kicker{
  color:#ffbd91!important;
}

/* Cards and controls: readable font floor */
.gateway-copy p,.main-cat-text p,.course-card p,.doc-card p,.summary-card p,.package-card li,.about-stat p,
.ereg-page .value-card p,.ereg-page .member-card p,.ereg-page .member-cta p,.ereg-page .scope-box,
.checkout-small,.form-status{
  font-size:15px!important;
  line-height:1.65!important;
}
.gateway-copy span,.course-tag,.course-type,.doc-standard,.package-label,.summary-card span,.ereg-page .member-card span,
.ereg-page .stat small,.ereg-page .field label,.ereg-page .status,.ereg-page .update-row.header,.ereg-page .result-head{
  font-size:13px!important;
}
.action-btn,.doc-tab,.buy-btn,.doc-primary,.doc-secondary,.place-order-btn,.package-apply,.package-outline,.membership-link-btn,.membership-apply-btn,
.home-cta-primary,.home-cta-secondary,.btn{
  font-size:15px!important;
  min-height:42px!important;
}
input,select,textarea{font-size:16px!important;line-height:1.5!important}

/* E-Compliance inline rules need stronger overrides */
.ereg-page .hero-lead{font-size:17px!important;color:var(--ims-text-muted)!important}
.ereg-page .hero-tag,.ereg-page .cat-pill{font-size:13px!important}
.ereg-page .hero-panel h3{color:#fff!important;font-size:21px!important}
.ereg-page .hero-panel,.ereg-page .hero-panel p,.ereg-page .hero-panel span,.ereg-page .hero-panel small{color:#e8eef5!important}
.ereg-page .hero-panel strong{color:#fff!important}
.ereg-page .update-row{font-size:14px!important;line-height:1.55!important}
.ereg-page .result-row{font-size:14px!important;line-height:1.55!important}
.ereg-page .result-row strong{font-size:15px!important}
.ereg-page .member-card h3{font-size:19px!important;color:#fff!important}

/* Page transitions are direct; no visual smooth-scroll sensation */
a[href^="#"]{scroll-behavior:auto!important}

/* Standalone page hero */
.standard-page-hero{padding:42px 0 34px!important}
.standard-page-hero .container{max-width:980px;margin-left:auto;margin-right:auto;text-align:left}
.standard-page-hero p{font-size:18px!important;max-width:820px;margin:10px 0 0!important}

/* Home now intentionally shorter and segmented */
.home-intro-section{background:#fff!important}
.home-intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:center}
.home-intro-grid>div:first-child p{font-size:17px!important;max-width:720px}
.home-points{display:grid;gap:10px}
.home-points>div{padding:16px 18px;background:#f3f6fa;border:1px solid #dfe6ee;border-radius:14px}
.home-points strong{display:block;color:var(--ims-navy);font-size:18px;margin-bottom:2px}
.home-points span{font-size:15px;color:var(--ims-text-muted)}
.home-cta-section{background:linear-gradient(135deg,#081d36,#0c2747 62%,#173d67)!important;padding:42px 0!important}
.home-cta{display:flex;align-items:center;justify-content:space-between;gap:24px}
.home-cta h2{max-width:780px;margin:0!important}
.home-cta-actions{display:flex;gap:10px;flex-wrap:wrap}
.home-cta-primary,.home-cta-secondary{display:inline-flex;align-items:center;justify-content:center;padding:11px 17px;border-radius:10px;text-decoration:none;font-weight:800}
.home-cta-primary{background:linear-gradient(135deg,var(--ims-orange),var(--ims-pink));color:#fff!important}
.home-cta-secondary{background:#fff;color:var(--ims-navy)!important}
.member-page-cta{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px;border-radius:18px;background:#fff;border:1px solid var(--ims-line);box-shadow:var(--ims-shadow)}
.member-page-cta p{font-size:16px!important;max-width:760px}

/* Back to top always high contrast */
.back-to-top,.backtop,.to-top,#backToTop{
  background:var(--ims-navy)!important;
  color:#fff!important;
  border:2px solid rgba(255,255,255,.9)!important;
  font-size:15px!important;
}

@media(max-width:800px){
  body{font-size:16px!important}
  .home-intro-grid{grid-template-columns:1fr}
  .home-cta{display:block}.home-cta-actions{margin-top:18px}
  .member-page-cta{display:block}.member-page-cta .package-apply{margin-top:14px}
  .standard-page-hero p{font-size:16px!important}
}

/* =========================================================
   IMS FINAL CONTRAST LOCK — Dark means light text, always
   Fixes cascade conflicts from legacy/global rules.
   ========================================================= */

/* HOME dark CTA: lock both background and all readable text */
main section.home-cta-section{
  background:linear-gradient(135deg,#081d36 0%,#0c2747 62%,#173d67 100%)!important;
  color:#ffffff!important;
}
main section.home-cta-section h1,
main section.home-cta-section h2,
main section.home-cta-section h3,
main section.home-cta-section h4,
main section.home-cta-section strong,
main section.home-cta-section b{
  color:#ffffff!important;
}
main section.home-cta-section p,
main section.home-cta-section li,
main section.home-cta-section span:not(.section-kicker){
  color:#e8eef5!important;
}
main section.home-cta-section .section-kicker,
main section.home-cta-section .light-kicker{
  color:#ffb17d!important;
}

/* TRAINING group headers: navy background must use white type */
.group-header,
.group-header.tone-pink,
.group-header.tone-green,
.group-header.tone-blue{
  color:#ffffff!important;
  background:linear-gradient(135deg,#0b2849 0%,#173d67 68%,#245889 100%)!important;
}
.group-header h1,
.group-header h2,
.group-header h3,
.group-header h4,
.group-header strong,
.group-header b{
  color:#ffffff!important;
}
.group-header p,
.group-header span,
.group-header li{
  color:#e7eef6!important;
}
.group-header .eyebrow-light,
.group-header .section-kicker{
  color:#ffb17d!important;
}
.group-header .course-category-link{
  color:#ffffff!important;
}
.group-header .course-category-link:hover{
  color:#0c2747!important;
}

/* E-COMPLIANCE dashboard / member dark zones */
.ereg-page .hero-panel,
.ereg-page .member-zone{
  color:#ffffff!important;
}
.ereg-page .hero-panel h1,
.ereg-page .hero-panel h2,
.ereg-page .hero-panel h3,
.ereg-page .hero-panel h4,
.ereg-page .hero-panel strong,
.ereg-page .hero-panel b,
.ereg-page .dash-card strong,
.ereg-page .member-zone h1,
.ereg-page .member-zone h2,
.ereg-page .member-zone h3,
.ereg-page .member-zone h4,
.ereg-page .member-zone strong,
.ereg-page .member-zone b{
  color:#ffffff!important;
}
.ereg-page .hero-panel p,
.ereg-page .hero-panel small,
.ereg-page .hero-panel span,
.ereg-page .dash-card small,
.ereg-page .member-zone p,
.ereg-page .member-zone li{
  color:#e6edf5!important;
}
.ereg-page .dash-card{
  background:rgba(255,255,255,.10)!important;
  border-color:rgba(255,255,255,.18)!important;
}

/* MEMBERSHIP hero: price and emphasis must stay white */
.membership-hero{
  color:#ffffff!important;
}
.membership-hero h1,
.membership-hero h2,
.membership-hero h3,
.membership-hero h4,
.membership-hero strong,
.membership-hero b,
.membership-hero .membership-price strong,
.membership-hero .membership-price span,
.membership-hero .summary-card strong{
  color:#ffffff!important;
}
.membership-hero p,
.membership-hero li,
.membership-hero .summary-card p{
  color:#edf2f7!important;
}
.membership-hero .summary-card span,
.membership-hero .section-kicker,
.membership-hero .white-kicker{
  color:#ffd0b0!important;
}

/* Generic dark sections safety net */
.section-dark,
.section-dark *:not(.home-cta-secondary):not(input):not(select):not(textarea),
.membership-promo-banner,
.membership-promo-banner *:not(input):not(select):not(textarea){
  color:#ffffff!important;
}
.section-dark p,
.section-dark li,
.membership-promo-banner p,
.membership-promo-banner li{
  color:#e8eef5!important;
}

/* Active controls on dark background */
.doc-tab.active,
.doc-tab.active *{
  color:#ffffff!important;
}

/* Light cards / pages always stay dark */
.service-gateway,
.main-category-card,
.course-card,
.doc-card,
.package-card,
.checkout-card,
.summary-sticky,
.reg-card,
.ereg-page .value-card,
.ereg-page .iso-step,
.ereg-page .search-card{
  color:#12263a!important;
}
.service-gateway h1,.service-gateway h2,.service-gateway h3,.service-gateway h4,
.main-category-card h1,.main-category-card h2,.main-category-card h3,.main-category-card h4,
.course-card h1,.course-card h2,.course-card h3,.course-card h4,
.doc-card h1,.doc-card h2,.doc-card h3,.doc-card h4,
.package-card h1,.package-card h2,.package-card h3,.package-card h4{
  color:#0c2747!important;
}

/* Readability floor */
body{font-size:17px!important}
small{font-size:13px!important;line-height:1.5!important}

@media(max-width:680px){
  body{font-size:16px!important}
  small{font-size:12.5px!important}
}

/* Final single-section correction — Home closing CTA is a light section */
html body main section.home-cta-section{
  background:linear-gradient(135deg,#f4f7fb 0%,#eef3f8 58%,#fff1f7 100%)!important;
  color:#0c2747!important;
  border-top:1px solid #dfe7ef;
}
html body main section.home-cta-section h1,
html body main section.home-cta-section h2,
html body main section.home-cta-section h3,
html body main section.home-cta-section h4,
html body main section.home-cta-section strong,
html body main section.home-cta-section b{
  color:#0c2747!important;
}
html body main section.home-cta-section p,
html body main section.home-cta-section li,
html body main section.home-cta-section span:not(.section-kicker){
  color:#425466!important;
}
html body main section.home-cta-section .section-kicker,
html body main section.home-cta-section .light-kicker{
  color:#f47a3d!important;
}

/* =========================================================
   IMS FINAL POLISH — Bigger logo • Thai line flow • Light graphics
   ========================================================= */

/* Bigger, clearer header logo */
.site-header,.header-inner{height:76px!important}
.header-inner{gap:16px!important}
.brand{display:flex!important;align-items:center!important;flex:0 0 auto!important}
.brand img{
  width:218px!important;
  height:auto!important;
  max-height:58px!important;
  object-fit:contain!important;
}
.nav a{padding-top:30px!important;padding-bottom:28px!important}

/* Thai/English line breaks: keep phrases flowing naturally */
body,p,li,span,label,a,button,input,select,textarea{
  word-break:normal!important;
  overflow-wrap:normal!important;
  line-break:loose!important;
  hyphens:none!important;
}
h1,h2,h3,h4,.gateway-copy p,.section-head p,.section-title p{
  word-break:normal!important;
  overflow-wrap:normal!important;
  line-break:loose!important;
  text-wrap:pretty!important;
  hyphens:none!important;
}
/* Prevent small isolated phrase fragments where practical */
.section-head p,.section-title p,.compact-hero p,.knowledge-hero p,
.home-intro-grid p,.gateway-copy p,.about-intro p{
  max-width:68ch;
}

/* Subtle system graphic language — visual relief without clutter */
.standard-page-hero,
.knowledge-hero,
.doc-hero.compact-hero,
.ereg-page .hero{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
}
.standard-page-hero::after,
.knowledge-hero::after,
.doc-hero.compact-hero::after,
.ereg-page .hero::after{
  content:"";
  position:absolute;
  z-index:-1;
  right:2.2%;
  top:50%;
  width:250px;
  height:180px;
  transform:translateY(-50%);
  opacity:.78;
  border-radius:28px;
  background:
    radial-gradient(circle at 18% 28%, rgba(244,122,32,.94) 0 6px, transparent 7px),
    radial-gradient(circle at 54% 20%, rgba(232,62,140,.88) 0 8px, transparent 9px),
    radial-gradient(circle at 79% 51%, rgba(39,94,145,.88) 0 7px, transparent 8px),
    radial-gradient(circle at 38% 74%, rgba(12,39,71,.78) 0 6px, transparent 7px),
    linear-gradient(24deg, transparent 0 30%, rgba(244,122,32,.18) 31% 32%, transparent 33% 100%),
    linear-gradient(142deg, transparent 0 43%, rgba(232,62,140,.16) 44% 45%, transparent 46% 100%),
    linear-gradient(78deg, transparent 0 54%, rgba(39,94,145,.14) 55% 56%, transparent 57% 100%),
    linear-gradient(135deg, rgba(255,255,255,.86), rgba(237,243,249,.68));
  border:1px solid rgba(39,94,145,.12);
  box-shadow:0 16px 38px rgba(12,39,71,.07);
}
.standard-page-hero::before,
.knowledge-hero::before,
.doc-hero.compact-hero::before,
.ereg-page .hero::before{
  content:"";
  position:absolute;
  z-index:-1;
  right:13%;
  top:16%;
  width:92px;
  height:92px;
  border-radius:50%;
  border:14px solid rgba(244,122,32,.055);
}

/* Small decorative motif on content-heavy sections */
.home-intro-section,.service-gateway-section,.membership-section,.download-section{
  position:relative!important;
  overflow:hidden!important;
}
.home-intro-section::after,.membership-section::after{
  content:"";
  position:absolute;
  pointer-events:none;
  right:-52px;
  bottom:-68px;
  width:190px;
  height:190px;
  border-radius:50%;
  border:28px solid rgba(232,62,140,.045);
  box-shadow:0 0 0 24px rgba(244,122,32,.025);
}
.service-gateway-section::after,.download-section::after{
  content:"";
  position:absolute;
  pointer-events:none;
  left:-46px;
  top:28px;
  width:150px;
  height:150px;
  border-radius:28px;
  transform:rotate(18deg);
  background:linear-gradient(135deg,rgba(244,122,32,.055),rgba(232,62,140,.035));
  border:1px solid rgba(244,122,32,.07);
}

/* Add a visual marker to home benefit cards, reducing the all-text feeling */
.home-points>div{position:relative!important;padding-left:58px!important;min-height:70px}
.home-points>div::before{
  content:"";
  position:absolute;
  left:16px;
  top:16px;
  width:28px;
  height:28px;
  border-radius:9px;
  background:linear-gradient(135deg,var(--ims-orange),var(--ims-pink));
  box-shadow:0 6px 14px rgba(232,62,140,.16);
}
.home-points>div::after{
  content:"✓";
  position:absolute;
  left:23px;
  top:17px;
  color:#fff;
  font-size:16px;
  font-weight:900;
}

@media(max-width:1250px){
  .brand img{width:198px!important;max-height:54px!important}
  .nav{gap:10px!important}
  .nav a{font-size:13.2px!important}
}
@media(max-width:1020px){
  .site-header,.header-inner{height:70px!important}
  .brand img{width:190px!important;max-height:52px!important}
  .nav{top:70px!important}
  .standard-page-hero::after,.knowledge-hero::after,.doc-hero.compact-hero::after,.ereg-page .hero::after{
    width:190px;height:140px;right:-18px;opacity:.5;
  }
}
@media(max-width:760px){
  .brand img{width:174px!important;max-height:48px!important}
  .standard-page-hero::after,.standard-page-hero::before,
  .knowledge-hero::after,.knowledge-hero::before,
  .doc-hero.compact-hero::after,.doc-hero.compact-hero::before,
  .ereg-page .hero::after,.ereg-page .hero::before{display:none!important}
  .home-intro-section::after,.service-gateway-section::after,.membership-section::after,.download-section::after{opacity:.55}
}


/* =========================================================
   IMS FINAL REFINEMENT — Remove extra graphics • darker tone
   • real-image page headers • improved Thai line flow
   ========================================================= */

/* Remove decorative pseudo graphics added previously */
.standard-page-hero::before,.standard-page-hero::after,
.knowledge-hero::before,.knowledge-hero::after,
.doc-hero.compact-hero::before,.doc-hero.compact-hero::after,
.ereg-page .hero::before,.ereg-page .hero::after,
.home-intro-section::before,.home-intro-section::after,
.service-gateway-section::before,.service-gateway-section::after,
.membership-section::before,.membership-section::after,
.download-section::before,.download-section::after{
  content:none !important;
  display:none !important;
}

/* Slightly deeper overall tone */
body{background:#eef3f7!important;color:#13263a!important;}
main > section:nth-of-type(odd):not(.hero-section):not(.section-dark):not(.member-zone):not(.compact-hero):not(.checkout-hero){background:#ffffff!important;}
main > section:nth-of-type(even):not(.hero-section):not(.section-dark):not(.member-zone):not(.compact-hero):not(.checkout-hero){background:#edf2f6!important;}
.section-soft,.services-section,.monthly,.download-section,.doc-note-section,.reg-wrap{background:#edf2f6!important;}
.about-panel,.home-points>div,.service-system-flow{background:#f7fafc!important;}

/* Better Thai line flow */
body,p,li,span,label,a,button,input,select,textarea,
h1,h2,h3,h4,.gateway-copy p,.section-head p,.section-title p{
  word-break:normal!important;
  overflow-wrap:break-word!important;
  line-break:loose!important;
  hyphens:none!important;
}
h1,h2,h3,h4{
  text-wrap:pretty!important;
}
p,li,.gateway-copy p,.section-head p,.section-title p,.compact-hero p,.knowledge-hero p,.home-intro-grid p,.about-intro p{
  max-width:none!important;
}
.standard-page-hero .container,.knowledge-hero .intro{max-width:920px!important;}

/* Professional image headers */
.standard-page-hero,
.hero-knowledge,
.hero-documents,
.ereg-page .hero.hero-compliance{
  position:relative!important;
  overflow:hidden!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
}
.standard-page-hero::after,
.hero-knowledge::after,
.hero-documents::after,
.ereg-page .hero.hero-compliance::after{
  content:"" !important;
  display:block !important;
  position:absolute; inset:0;
  background:linear-gradient(90deg,rgba(6,22,40,.82) 0%,rgba(8,30,55,.72) 42%,rgba(10,39,71,.54) 64%,rgba(10,39,71,.28) 100%)!important;
  z-index:0!important;
}
.hero-about{background:url('assets/hero-consulting.png') center/cover no-repeat!important;}
.hero-services{background:url('assets/hero-systems.png') center/cover no-repeat!important;}
.hero-training-page{background:url('assets/hero-training.png') center/cover no-repeat!important;}
.hero-member{background:url('assets/hero-consulting.png') center 28%/cover no-repeat!important;}
.hero-contact{background:url('assets/hero-consulting.png') center 24%/cover no-repeat!important;}
.hero-documents{background:url('assets/hero-systems.png') center/cover no-repeat!important;}
.hero-knowledge{background:url('assets/hero-training.png') center 32%/cover no-repeat!important;}
.ereg-page .hero.hero-compliance{background:url('assets/hero-systems.png') center/cover no-repeat!important;}
.standard-page-hero .container,
.hero-documents .container,
.hero-knowledge .container,
.ereg-page .hero.hero-compliance .container,
.doc-hero-grid,
.knowledge-hero .intro,
.ereg-page .hero-grid{
  position:relative!important; z-index:1!important;
}
.standard-page-hero, .hero-documents, .hero-knowledge, .ereg-page .hero.hero-compliance{
  padding:54px 0 48px!important;
}
.standard-page-hero h1,.standard-page-hero h2,.standard-page-hero h3,.standard-page-hero h4,
.hero-documents h1,.hero-documents h2,.hero-documents h3,.hero-documents h4,
.hero-knowledge h1,.hero-knowledge h2,.hero-knowledge h3,.hero-knowledge h4,
.ereg-page .hero.hero-compliance h1,.ereg-page .hero.hero-compliance h2,.ereg-page .hero.hero-compliance h3,.ereg-page .hero.hero-compliance h4{
  color:#ffffff!important;
  text-shadow:0 2px 14px rgba(0,0,0,.18)!important;
}
.standard-page-hero p,.hero-documents p,.hero-knowledge p,.ereg-page .hero.hero-compliance p,
.standard-page-hero li,.hero-documents li,.hero-knowledge li,.ereg-page .hero.hero-compliance li{
  color:#edf3f8!important;
}
.standard-page-hero .section-kicker,.hero-documents .section-kicker,.hero-knowledge .section-kicker,.ereg-page .hero.hero-compliance .section-kicker{
  color:#ffbe8d!important;
}
.standard-page-hero .doc-secondary,.hero-documents .doc-secondary{
  background:rgba(255,255,255,.94)!important;
  color:#0c2747!important;
}
.standard-page-hero .doc-value-panel>div,.hero-documents .doc-value-panel>div{
  background:rgba(255,255,255,.92)!important;
  border-color:rgba(255,255,255,.35)!important;
}
.ereg-page .hero.hero-compliance .hero-tag{
  background:rgba(255,255,255,.94)!important;
  color:#1a2f48!important;
  border-color:rgba(255,255,255,.65)!important;
}
.ereg-page .hero.hero-compliance .hero-panel{
  background:rgba(8,27,49,.86)!important;
  border:1px solid rgba(255,255,255,.08)!important;
  box-shadow:0 20px 44px rgba(0,0,0,.18)!important;
}

/* Keep content headers from feeling too bright */
.section-head,.section-title{border-bottom-color:#d3dde7!important;}
.section-head::after,.section-title::after{height:4px!important;}

/* Mobile hero tuning */
@media(max-width:900px){
  .standard-page-hero,.hero-documents,.hero-knowledge,.ereg-page .hero.hero-compliance{padding:44px 0 38px!important;background-position:center center!important;}
  .standard-page-hero::after,.hero-documents::after,.hero-knowledge::after,.ereg-page .hero.hero-compliance::after{background:linear-gradient(180deg,rgba(6,22,40,.82) 0%,rgba(8,30,55,.70) 48%,rgba(10,39,71,.52) 100%)!important;}
}


/* =========================================================
   IMS FINAL FIX — new custom page headers + contact form text
   ========================================================= */

/* Clean custom header images for each page */
.standard-page-hero,
.hero-documents,
.hero-knowledge,
.ereg-page .hero.hero-compliance{
  position:relative!important;
  overflow:hidden!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  background-position:center center!important;
  min-height:300px!important;
  display:flex!important;
  align-items:center!important;
  padding:72px 0 62px!important;
}
.hero-about{background-image:url('assets/header-about.png')!important;}
.hero-services{background-image:url('assets/header-services.png')!important;}
.hero-training-page{background-image:url('assets/header-training.png')!important;}
.hero-documents{background-image:url('assets/header-documents.png')!important;}
.ereg-page .hero.hero-compliance{background-image:url('assets/header-compliance.png')!important;}
.hero-knowledge{background-image:url('assets/header-knowledge.png')!important;}
.hero-member{background-image:url('assets/header-member.png')!important;}
.hero-contact{background-image:url('assets/header-contact.png')!important;}

.standard-page-hero::before,
.hero-documents::before,
.hero-knowledge::before,
.ereg-page .hero.hero-compliance::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(90deg, rgba(8,24,43,.78) 0%, rgba(10,39,71,.62) 40%, rgba(10,39,71,.32) 68%, rgba(10,39,71,.16) 100%)!important;
  z-index:0!important;
}
.standard-page-hero > .container,
.hero-documents > .container,
.hero-knowledge > .container,
.ereg-page .hero.hero-compliance > .container,
.hero-documents .doc-hero-grid,
.knowledge-hero .intro,
.ereg-page .hero.hero-compliance .hero-grid{
  position:relative!important;
  z-index:1!important;
}
.standard-page-hero h1, .standard-page-hero h2, .standard-page-hero h3, .standard-page-hero h4,
.hero-documents h1, .hero-documents h2, .hero-documents h3, .hero-documents h4,
.hero-knowledge h1, .hero-knowledge h2, .hero-knowledge h3, .hero-knowledge h4,
.ereg-page .hero.hero-compliance h1, .ereg-page .hero.hero-compliance h2, .ereg-page .hero.hero-compliance h3, .ereg-page .hero.hero-compliance h4{
  color:#fff!important;
  text-shadow:0 2px 12px rgba(0,0,0,.18)!important;
}
.standard-page-hero p, .hero-documents p, .hero-knowledge p, .ereg-page .hero.hero-compliance p{
  color:#ecf2f7!important;
}
.standard-page-hero .section-kicker, .hero-documents .section-kicker, .hero-knowledge .section-kicker, .ereg-page .hero.hero-compliance .section-kicker{
  color:#ffc49d!important;
}
.hero-documents .doc-secondary{background:rgba(255,255,255,.95)!important;color:#0c2747!important;border-color:transparent!important;}
.hero-documents .doc-value-panel > div{background:rgba(255,255,255,.93)!important;border:1px solid rgba(255,255,255,.35)!important;}
.ereg-page .hero.hero-compliance .hero-tag{background:rgba(255,255,255,.94)!important;color:#16304d!important;border-color:rgba(255,255,255,.65)!important;}
.ereg-page .hero.hero-compliance .hero-panel{background:rgba(8,24,43,.82)!important;border:1px solid rgba(255,255,255,.08)!important;box-shadow:0 20px 42px rgba(0,0,0,.18)!important;}

/* Contact form: prevent dark-section white text from hiding labels */
#contact-content .contact-form,
#contact-content .contact-form h3,
#contact-content .contact-form label,
#contact-content .contact-form small,
#contact-content .contact-form p,
#contact-content .contact-form .form-status{
  color:#17324d!important;
}
#contact-content .contact-form input,
#contact-content .contact-form textarea{
  background:#ffffff!important;
  color:#17324d!important;
  border:1px solid #cfd8e3!important;
}
#contact-content .contact-form input::placeholder,
#contact-content .contact-form textarea::placeholder{
  color:#7a8795!important;
}
#contact-content .contact-form .submit-btn{
  color:#ffffff!important;
}

@media(max-width:900px){
  .standard-page-hero, .hero-documents, .hero-knowledge, .ereg-page .hero.hero-compliance{
    min-height:240px!important;
    padding:54px 0 44px!important;
    background-position:center center!important;
  }
  .standard-page-hero::before, .hero-documents::before, .hero-knowledge::before, .ereg-page .hero.hero-compliance::before{
    background:linear-gradient(180deg, rgba(8,24,43,.82) 0%, rgba(10,39,71,.66) 48%, rgba(10,39,71,.38) 100%)!important;
  }
}


/* =========================================================
   FINAL READABILITY TUNE — stronger text/background separation
   ========================================================= */

/* Shared boxed content on image headers */
.standard-page-hero > .container{
  max-width:760px!important;
  width:calc(100% - 32px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:26px 30px 28px!important;
  background:linear-gradient(135deg,rgba(8,24,43,.84),rgba(12,42,74,.72))!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:24px!important;
  box-shadow:0 18px 44px rgba(0,0,0,.18)!important;
  backdrop-filter:blur(3px)!important;
}
.standard-page-hero.hero-services > .container{max-width:840px!important;}
.standard-page-hero > .container .section-kicker{color:#ffc49d!important;margin-bottom:10px!important;}
.standard-page-hero > .container h1{color:#ffffff!important;margin-bottom:12px!important;line-height:1.12!important;}
.standard-page-hero > .container p{color:#eff4f9!important;margin-bottom:0!important;}

/* Knowledge header */
.knowledge-hero .intro{
  max-width:860px!important;
  margin:0!important;
  padding:26px 30px 28px!important;
  background:linear-gradient(135deg,rgba(8,24,43,.84),rgba(12,42,74,.72))!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:24px!important;
  box-shadow:0 18px 44px rgba(0,0,0,.18)!important;
  backdrop-filter:blur(3px)!important;
}
.knowledge-hero .intro .section-kicker{color:#ffc49d!important;}
.knowledge-hero .intro h1{color:#fff!important;line-height:1.08!important;margin-bottom:12px!important;}
.knowledge-hero .intro p{color:#eef4f8!important;margin-bottom:0!important;}

/* Documents header */
.hero-documents .doc-hero-grid{
  grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr)!important;
  gap:20px!important;
}
.hero-documents .doc-hero-grid > div:first-child{
  padding:26px 30px 28px!important;
  background:linear-gradient(135deg,rgba(8,24,43,.84),rgba(12,42,74,.72))!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:24px!important;
  box-shadow:0 18px 44px rgba(0,0,0,.18)!important;
  backdrop-filter:blur(3px)!important;
}
.hero-documents h1{line-height:1.12!important;margin-bottom:12px!important;}
.hero-documents h1 span{color:#ecf3f8!important;display:inline-block;margin-top:6px!important;}
.hero-documents p{color:#eef4f8!important;}
.hero-documents .doc-value-panel{
  background:rgba(8,24,43,.58)!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:24px!important;
  padding:16px!important;
  box-shadow:0 18px 44px rgba(0,0,0,.15)!important;
}
.hero-documents .doc-value-panel > div{background:rgba(255,255,255,.96)!important;}

/* E-Compliance header */
.ereg-page .hero.hero-compliance .hero-grid{gap:20px!important;align-items:stretch!important;}
.ereg-page .hero.hero-compliance .hero-grid > div:first-child{
  padding:28px 30px!important;
  background:linear-gradient(135deg,rgba(8,24,43,.86),rgba(12,42,74,.74))!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:24px!important;
  box-shadow:0 18px 44px rgba(0,0,0,.18)!important;
  backdrop-filter:blur(3px)!important;
}
.ereg-page .hero.hero-compliance h1{line-height:1.08!important;margin-bottom:12px!important;}
.ereg-page .hero.hero-compliance .hero-lead{color:#eef4f8!important;}
.ereg-page .hero.hero-compliance .actions{margin-top:18px!important;}

/* Keep Services / Download / Compliance hero paragraphs readable */
.hero-services .container p,
.hero-knowledge .intro p,
.ereg-page .hero.hero-compliance p,
.hero-documents p{
  text-shadow:0 1px 6px rgba(0,0,0,.12)!important;
}

/* Slightly darker image overlay globally */
.standard-page-hero::before,
.hero-documents::before,
.hero-knowledge::before,
.ereg-page .hero.hero-compliance::before{
  background:linear-gradient(90deg,rgba(8,24,43,.84) 0%,rgba(10,39,71,.68) 44%,rgba(10,39,71,.36) 72%,rgba(10,39,71,.18) 100%)!important;
}

@media(max-width:980px){
  .hero-documents .doc-hero-grid{grid-template-columns:1fr!important;}
}
@media(max-width:900px){
  .standard-page-hero > .container,
  .knowledge-hero .intro,
  .hero-documents .doc-hero-grid > div:first-child,
  .ereg-page .hero.hero-compliance .hero-grid > div:first-child{
    width:calc(100% - 24px)!important;
    padding:22px 22px 24px!important;
    border-radius:20px!important;
  }
  .hero-documents .doc-value-panel{padding:14px!important;border-radius:20px!important;}
}

/* WordPress v1.2 production fixes */
.site-header .header-inner{width:min(1440px,98%)!important;margin:0 auto!important;display:flex!important;align-items:center!important;justify-content:space-between!important;}
.site-header .brand img{width:218px!important;height:auto!important;max-height:58px!important;object-fit:contain!important;}
.site-header .nav{display:flex!important;align-items:center!important;gap:15px!important;margin:0!important;padding:0!important;list-style:none!important;}
.site-header .nav li{list-style:none!important;margin:0!important;padding:0!important;}
.site-header .nav a{background:transparent!important;border:0!important;color:#0c2747!important;text-decoration:none!important;}
.site-header .nav .current-menu-item>a,.site-header .nav .current_page_item>a{color:#e83e8c!important;}
.ims-dynamic-section .ims-list-grid,.doc-shop-section .ims-list-grid,.download-section .ims-list-grid,.ereg-page .ims-list-grid{margin-top:18px!important;}
.ims-item-card h3{color:#0c2747!important;font-size:20px!important;}
.ims-item-card p{font-size:15px!important;color:#526071!important;}
#contact-content .ims-form{background:#fff!important;color:#17324d!important;border-radius:20px!important;padding:24px!important;}
#contact-content .ims-form label,#contact-content .ims-form h3,#contact-content .ims-form p{color:#17324d!important;}
@media(max-width:1020px){.site-header .nav{display:none!important}.site-header .nav.open{display:flex!important;flex-direction:column!important;align-items:stretch!important}}
