/* NIQC 2.8.0 — homepage visual refinement; Elementor header remains independent. */
.homepage { --niqc-ease: cubic-bezier(.22,1,.36,1); }
.homepage .section { padding: clamp(58px,7vw,92px) 0; }
.homepage .section-intro { gap: 48px; }
.homepage .section-intro h2 { font-size: clamp(34px,4vw,54px); line-height: 1.08; letter-spacing: -.04em; }
.homepage .intro-right p { font-size: 16px; line-height: 1.75; }
.homepage .hero-v2 { overflow: hidden; }
.homepage .hero-v2:before, .homepage .hero-v2:after { animation: none; }
.homepage .hero-media { animation: niqc-premium-image 2.2s var(--niqc-ease) both; }
.homepage .hero-copy > * { animation-name: niqc-premium-rise; animation-duration: .95s; animation-timing-function: var(--niqc-ease); }
.homepage .hero-copy h1 { text-wrap: balance; }
.homepage .hero-side-card { animation: niqc-premium-side 1.15s .25s var(--niqc-ease) both; border-radius: 0 10px 10px 0; box-shadow: 0 20px 50px #020d1c26; }
.homepage .hero-mini-features span { animation: none; }
.homepage .final-cta .btn { animation: none; }
.homepage .stats-v2 .stat { animation: none; opacity: 1; transform: none; }
/* Content remains readable if scripts are blocked or delayed. */
.homepage .reveal-section,
.homepage .program-grid .program-card,
.homepage .benefits-grid > div,
.homepage .testimonial-grid article,
.homepage .gallery-preview-card { opacity: 1; transform: none; }
.homepage .reveal-section { transition: none; }
.homepage .program-grid-approved { gap: 24px; }
.homepage .program-grid-approved .program-card { border-color: #e3e8ed; border-radius: 16px; box-shadow: 0 4px 20px #10273e06; transition: transform .45s var(--niqc-ease), box-shadow .45s ease, border-color .45s ease; }
.homepage .program-grid-approved .program-card:hover { transform: translateY(-5px) !important; box-shadow: 0 20px 46px #10273e12; border-color: #cbb47d; }
.homepage .program-grid-approved .program-image { aspect-ratio: 1.65; transform: none !important; }
.homepage .program-grid-approved .program-image img { transition: transform .75s var(--niqc-ease); }
.homepage .program-grid-approved .program-card:hover .program-image img { transform: scale(1.045); }
.homepage .program-grid-approved .program-body { padding: 26px 24px 24px; }
.homepage .program-grid-approved .program-body small { color: #947024; line-height: 1.5; }
.homepage .program-grid-approved .program-body h3 { font-size: 23px; letter-spacing: -.035em; line-height: 1.2; margin: 12px 0 16px; }
.homepage .program-grid-approved .program-body p { line-height: 1.8; }
.homepage .program-grid-approved .card-link { color: #89671e; }
.homepage .about-section { background: #f7f8fa; }
.homepage .about-image { border-radius: 18px; box-shadow: 0 22px 50px #10273e12; overflow: hidden; }
.homepage .about-copy p { line-height: 1.85; }
.homepage .gallery-preview-card { overflow: hidden; border-radius: 14px; }
.homepage .gallery-preview-card img { transition: transform .8s var(--niqc-ease); }
.homepage .gallery-preview-card:hover img { transform: scale(1.04); }
.homepage .google-reviews-shell { border-radius: 18px; }
.homepage .impact-strip { background: linear-gradient(115deg,#071e35,#113853); color: #e3ebf3; border-color: #28445c; }
.homepage .impact-grid strong { color: #e4c478; }
.homepage .impact-grid > div { border-color: #ffffff21; }
.homepage .corporate-shade { background: linear-gradient(90deg,rgba(5,24,44,.96),rgba(5,24,44,.66)); }
.homepage .section-intro .eyebrow:before,
.homepage .about-copy > .eyebrow:before,
.homepage .section-heading-center > .eyebrow:before {
  content: ''; display: inline-block; vertical-align: middle; width: 28px; height: 1px; margin-right: 10px; background: #b78a35;
}
.homepage .btn, .homepage .outline-link { position: relative; }
.homepage .btn { overflow: hidden; transition: transform .3s var(--niqc-ease), box-shadow .3s ease, background .3s ease; }
.homepage .btn:after { content: ''; position: absolute; top: -30%; left: -65%; width: 36%; height: 160%; background: linear-gradient(90deg,transparent,#ffffff30,transparent); transform: skewX(-20deg); pointer-events: none; }
.homepage .outline-link { display: inline-block; }
.homepage .outline-link:after { content: ''; display: block; height: 1px; background: currentColor; transform: scaleX(.22); transform-origin: left; transition: transform .4s var(--niqc-ease); }
.homepage .outline-link:hover:after, .homepage .outline-link:focus-visible:after { transform: scaleX(1); }
.homepage a:focus-visible { outline: 3px solid #b78a35; outline-offset: 5px; }
@media (hover:hover) and (pointer:fine) {
  .homepage .btn:hover:after { animation: niqc-premium-sheen .85s ease both; }
}
@keyframes niqc-premium-rise { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
@keyframes niqc-premium-side { from { opacity: 0; transform: translateX(18px); } to { opacity: 1; transform: none; } }
@keyframes niqc-premium-image { from { transform: scale(1.045); } to { transform: scale(1); } }
@keyframes niqc-premium-sheen { to { left: 140%; } }
@media (max-width:650px) {
  .homepage .program-grid-approved .program-body { padding: 24px; }
  .homepage .program-grid-approved .program-body h3 { font-size: 25px; }
  .homepage .section-intro { gap: 22px; }
  .homepage .hero-media { animation: none; }
  .homepage .program-grid-approved .program-card:hover { transform: none !important; }
}
@media (prefers-reduced-motion:reduce) {
  .homepage *, .homepage *:before, .homepage *:after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .homepage .hero-copy > *, .homepage .hero-side-card { opacity: 1; transform: none; }
  .homepage .program-card:hover, .homepage .program-card:hover img,
  .homepage .gallery-preview-card:hover img, .homepage .btn:hover { transform: none !important; }
}


/* 2.8.4 — premium motion layer + YouTube learning showcase */
.homepage .hero-v2 { isolation: isolate; }
.homepage .hero-v2:after {
  content: ''; position: absolute; width: 420px; height: 420px; right: -180px; top: -180px;
  border-radius: 50%; border: 1px solid #d9b45f33; box-shadow: 0 0 80px #d9b45f12;
  animation: niqc-orbit 14s linear infinite; pointer-events: none; z-index: 1;
}
.homepage .hero-v2:before {
  content: ''; position: absolute; width: 8px; height: 8px; right: 19%; top: 28%; border-radius: 50%;
  background: #e3c478; box-shadow: 0 0 0 7px #e3c47818, 0 0 28px #e3c47899;
  animation: niqc-float 4.5s ease-in-out infinite; z-index: 2; pointer-events:none;
}
.homepage .stats-v2 { position: relative; overflow: hidden; }
.homepage .stats-v2:before { content:''; position:absolute; inset:0; background:linear-gradient(105deg,transparent 35%,#ffffff0b 45%,transparent 55%); transform:translateX(-100%); animation:niqc-sweep 8s ease-in-out infinite; pointer-events:none; }
.homepage .stats-v2 .stat { transition: transform .45s var(--niqc-ease); }
.homepage .stats-v2 .stat:hover { transform: translateY(-4px); }
.homepage .program-grid-approved .program-card { position: relative; overflow: hidden; }
.homepage .program-grid-approved .program-card:before { content:''; position:absolute; left:24px; right:24px; top:0; height:2px; background:linear-gradient(90deg,transparent,#d8b45f,transparent); transform:scaleX(.25); transition:transform .55s var(--niqc-ease); z-index:3; }
.homepage .program-grid-approved .program-card:hover:before { transform:scaleX(1); }
.homepage .program-grid-approved .program-image { overflow:hidden; }
.homepage .program-grid-approved .program-image:after { content:''; position:absolute; inset:0; background:linear-gradient(120deg,transparent 30%,#fff3 48%,transparent 66%); transform:translateX(-120%); transition:transform .8s var(--niqc-ease); pointer-events:none; }
.homepage .program-grid-approved .program-card:hover .program-image:after { transform:translateX(120%); }
.homepage .video-learning-section { background:linear-gradient(180deg,#f7f8fa 0%,#fff 100%); position:relative; overflow:hidden; }
.homepage .video-learning-section:before { content:''; position:absolute; width:520px; height:520px; border-radius:50%; left:-340px; top:30px; border:1px solid #b78a351f; box-shadow:0 0 100px #b78a350b; }
.homepage .video-feature-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:28px; position:relative; z-index:1; align-items:stretch; }
.homepage .video-feature-grid-three .premium-video-card:first-child { grid-row:span 2; }
.homepage .video-feature-grid-three .premium-video-card:first-child .video-frame { aspect-ratio:16/9; }
.homepage .video-feature-grid-three .premium-video-card:not(:first-child) .video-frame { aspect-ratio:16/9; }
.homepage .video-feature-grid-three .premium-video-card:first-child .video-card-body { padding:30px 32px 32px; }
.homepage .video-feature-grid-three .premium-video-card:first-child .video-card-body h3 { font-size:30px; }
.homepage .video-feature-grid-three .premium-video-card:not(:first-child) .video-card-body { padding:20px 22px 22px; }
.homepage .video-feature-grid-three .premium-video-card:not(:first-child) .video-card-body h3 { font-size:21px; }
.homepage .premium-video-card { background:#fff; border:1px solid #e4e8ed; border-radius:20px; overflow:hidden; box-shadow:0 10px 35px #10273e09; transition:transform .55s var(--niqc-ease),box-shadow .55s ease,border-color .55s ease; }
.homepage .premium-video-card:hover { transform:translateY(-8px); box-shadow:0 26px 65px #10273e17; border-color:#d7bd79; }
.homepage .video-frame { position:relative; aspect-ratio:16/9; background:#071e35; overflow:hidden; }
.homepage .video-frame iframe { width:100%; height:100%; border:0; display:block; transition:transform .7s var(--niqc-ease); }
.homepage .premium-video-card:hover .video-frame iframe { transform:scale(1.015); }
.homepage .video-play-badge { position:absolute; left:22px; bottom:18px; padding:7px 11px; border:1px solid #ffffff55; background:#071e35cc; color:#fff; font-size:10px; font-weight:800; letter-spacing:.18em; border-radius:999px; backdrop-filter:blur(8px); pointer-events:none; }
.homepage .video-card-body { padding:25px 26px 27px; }
.homepage .video-card-body small { color:#947024; font-weight:800; letter-spacing:.14em; font-size:11px; }
.homepage .video-card-body h3 { margin:11px 0 10px; font-size:25px; line-height:1.2; letter-spacing:-.035em; }
.homepage .video-card-body p { margin:0 0 17px; line-height:1.75; color:#536272; }
.homepage .video-card-body a { color:#8a681f; font-weight:800; font-size:14px; text-decoration:none; }
.homepage .video-card-body a:hover { text-decoration:underline; }
.homepage .clients-section .client-wordmark { transition:transform .45s var(--niqc-ease),filter .45s ease; }
.homepage .clients-section .client-wordmark:hover { transform:translateY(-3px) scale(1.04); filter:brightness(1.04); }
@keyframes niqc-orbit { to { transform:rotate(360deg); } }
@keyframes niqc-float { 0%,100% { transform:translate3d(0,0,0); } 50% { transform:translate3d(-12px,16px,0); } }
@keyframes niqc-sweep { 0%,55% { transform:translateX(-100%); } 80%,100% { transform:translateX(100%); } }
@media (max-width:800px) { .homepage .video-feature-grid { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) {
  .homepage .hero-v2:after,.homepage .hero-v2:before,.homepage .stats-v2:before { animation:none !important; }
}

/* v2.8.5 featured YouTube layout */
.homepage .video-feature-grid-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.homepage .video-feature-grid-three .premium-video-card { height:100%; display:flex; flex-direction:column; }
.homepage .video-feature-grid-three .video-card-body { flex:1; display:flex; flex-direction:column; }
.homepage .video-feature-grid-three .video-card-body a { margin-top:auto; padding-top:4px; }
@media (max-width:1050px) {
  .homepage .video-feature-grid-three { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:800px) {
  .homepage .video-feature-grid-three { grid-template-columns:1fr; }
}

@media (max-width: 900px) {
  .homepage .video-feature-grid-three { grid-template-columns:1fr; }
  .homepage .video-feature-grid-three .premium-video-card:first-child { grid-row:auto; }
  .homepage .video-feature-grid-three .premium-video-card:first-child .video-card-body h3 { font-size:25px; }
}
@media (max-width: 600px) {
  .homepage .video-feature-grid { gap:20px; }
  .homepage .video-feature-grid-three .premium-video-card:first-child .video-card-body { padding:24px; }
}
