/* DCPL audit fixes: loaded last to beat legacy page-specific navbar rules. */
.dcpl-shared-header{position:sticky!important;top:0!important;z-index:1050!important;background:rgba(255,255,255,.98)!important;color:#17251c!important;isolation:isolate}
.dcpl-shared-header .navbar,.dcpl-shared-header .navbar *{visibility:visible}
.dcpl-shared-header .navbar-brand,.dcpl-shared-header .brand-text,.dcpl-shared-header .brand-text strong,.dcpl-shared-header .brand-text span{opacity:1!important;visibility:visible!important}
.dcpl-shared-header .brand-text strong{color:#15251c!important;font-size:14px!important;line-height:1.2!important}
.dcpl-shared-header .brand-text span{color:#b77900!important;font-size:10px!important;letter-spacing:.14em!important}
.dcpl-shared-header .navbar-nav .nav-link,.dcpl-shared-header .navbar-nav .nav-link span,.dcpl-shared-header .navbar-nav .nav-link i{color:#26372d!important;opacity:1!important;visibility:visible!important;font-size:13px!important;line-height:1.35!important;text-shadow:none!important}
.dcpl-shared-header .navbar-nav .nav-link:hover,.dcpl-shared-header .navbar-nav .nav-link.active{color:#166534!important;background:#edf8ef!important}
.dcpl-shared-header .navbar-toggler{display:none!important}
.dcpl-shared-header #mainNavbar{display:flex!important;flex-basis:auto!important;visibility:visible!important}
.dcpl-shared-header #mainNavbar .navbar-nav{display:flex!important;flex-direction:row!important;align-items:center!important}
.dcpl-shared-header .nav-book-inspection,.dcpl-shared-header .nav-book-inspection span{color:#172217!important;visibility:visible!important}
/* Reduce excess page height without scaling text or clipping content. */
main section,.page-section{scroll-margin-top:84px}
main section.section-padding,main .section-padding,main .company-overview-section,main .why-dcpl-section,main .gst-registration-section,main .solar-calculator-section{padding-block:clamp(24px,3vw,42px)!important}
main section .container>.section-heading-center,main section .container>.section-header,main section .container>.section-title{margin-bottom:16px!important}
main .row{--bs-gutter-y:1rem}
main .card,main .service-card,main .project-card,main .feature-card,main .stat-card{margin-bottom:12px}
/* Mobile nav is intentionally a compact expandable panel. */
@media(max-width:991.98px){
 .dcpl-shared-header .navbar-toggler{display:inline-flex!important;align-items:center;justify-content:center}
 .dcpl-shared-header #mainNavbar{display:none!important;flex-basis:100%!important;width:100%!important}
 .dcpl-shared-header #mainNavbar.show{display:block!important}
 .dcpl-shared-header #mainNavbar .navbar-nav{display:flex!important;flex-direction:column!important;align-items:stretch!important;width:100%}
 .dcpl-shared-header .navbar-nav .nav-link{display:flex!important;width:100%!important;padding:10px 12px!important;font-size:14px!important}
 .dcpl-shared-header .brand-text strong{font-size:12px!important}
 main section.section-padding,main .section-padding,main .company-overview-section,main .why-dcpl-section,main .gst-registration-section,main .solar-calculator-section{padding-block:24px!important}
 main section .container>.section-heading-center,main section .container>.section-header,main section .container>.section-title{margin-bottom:13px!important}
}
/* Keep the hero's decorative solar animation active; performance.js pauses offscreen sections only. */
.hero-section .solar-orbit,.hero-section .energy-core,.hero-section .energy-core::before,.hero-section .energy-core>.core-sun{animation-play-state:running}
@media(max-width:767px){.hero-section .solar-orbit{opacity:.8}.hero-section .energy-core{transform:scale(.88);transform-origin:center}}

/* DCPL FINAL PASS — compact sections, stable shared nav, repaired hero solar visual */
:root { --dcpl-section-y: clamp(22px, 2.6vw, 36px); }
html { scroll-padding-top: 76px; }
main > section, main section.section-space, main section.section-padding, main .section-space, main .section-padding { padding-top: var(--dcpl-section-y) !important; padding-bottom: var(--dcpl-section-y) !important; }
main .container { --bs-gutter-x: 1.35rem; }
main .section-heading, main .section-heading-center, main .section-header { margin-bottom: 18px !important; }
main h1, main h2 { line-height: 1.08; }
main h2 { margin-bottom: .55rem; }
main p { margin-bottom: .65rem; }
main .row { --bs-gutter-y: .85rem; }
main .card, main .service-card, main .project-card, main .feature-card, main .stat-card { margin-bottom: 8px; }
/* The hero should not consume a full screen on every device. */
.hero-section { min-height: min(680px, 82svh) !important; height: auto !important; padding-block: 24px !important; }
.hero-section .min-vh-100 { min-height: 0 !important; height: auto !important; }
.hero-section > .container { padding-block: 8px !important; }
.hero-content { padding: 12px 0 18px !important; }
.hero-visual { height: clamp(280px, 34vw, 410px) !important; min-height: 0 !important; overflow: visible; }
.hero-visual .solar-orbit { left: 50% !important; top: 50% !important; border-radius: 50% !important; transform: translate(-50%,-50%); pointer-events: none; }
.hero-visual .orbit-one { width: clamp(190px, 24vw, 300px) !important; height: clamp(190px, 24vw, 300px) !important; }
.hero-visual .orbit-two { width: clamp(245px, 31vw, 380px) !important; height: clamp(245px, 31vw, 380px) !important; }
.hero-visual .energy-core { position: absolute !important; left: 50% !important; top: 50% !important; transform: translate(-50%,-50%) !important; width: clamp(105px, 12vw, 145px) !important; height: clamp(105px, 12vw, 145px) !important; border-radius: 50% !important; display:flex; flex-direction:column; align-items:center; justify-content:center; z-index:4; }
.hero-visual .core-sun { position: static !important; margin: 0 auto 6px !important; transform: none !important; }
.hero-visual .energy-core > span { position: static !important; display:block; line-height:1.1; }
.hero-visual .energy-core small { position: static !important; display:block; text-align:center; margin-top:3px; }
.hero-visual .floating-card { z-index:6; max-width:150px; min-width:120px; padding:10px 12px !important; animation: dcpl-card-float 5s ease-in-out infinite; }
.hero-visual .card-production { left: 0 !important; top: 18% !important; right:auto !important; }
.hero-visual .card-savings { right: 0 !important; bottom: 15% !important; left:auto !important; }
@keyframes dcpl-card-float { 0%,100% { translate: 0 0; } 50% { translate: 0 -5px; } }
/* Keep the nav readable even when legacy page CSS tries to fade or recolor it. */
.dcpl-shared-header, .dcpl-shared-header * { text-shadow:none; }
.dcpl-shared-header .navbar-nav .nav-link { white-space:nowrap; }
@media (max-width: 991.98px) {
 main > section, main section.section-space, main section.section-padding, main .section-space, main .section-padding { padding-top: 22px !important; padding-bottom: 22px !important; }
 .hero-section { min-height: 0 !important; height:auto !important; padding: 28px 0 22px !important; }
 .hero-section .row.align-items-center { min-height:0 !important; }
 .hero-visual { height: 270px !important; margin-top: 4px; }
 .hero-visual .orbit-one { width: 190px !important; height:190px !important; }
 .hero-visual .orbit-two { width: 235px !important; height:235px !important; }
 .hero-visual .floating-card { min-width:108px; max-width:126px; padding:7px 8px !important; }
}
@media (max-width: 575.98px) {
 main > section, main section.section-space, main section.section-padding, main .section-space, main .section-padding { padding-top: 18px !important; padding-bottom: 18px !important; }
 .hero-visual { height: 230px !important; }
 .hero-visual .orbit-one { width:160px !important;height:160px !important; }
 .hero-visual .orbit-two { width:200px !important;height:200px !important; }
 .hero-visual .floating-card { min-width:96px; max-width:112px; font-size:11px; }
 .hero-visual .card-production { left:-4px !important; top:12% !important; }
 .hero-visual .card-savings { right:-4px !important; bottom:10% !important; }
}
@media (prefers-reduced-motion: reduce) { .hero-visual .floating-card { animation:none !important; } }


/* DCPL COMPACT PASS 2: reduce vertical scrolling on every page, without shrinking tap targets. */
:root { --dcpl-section-y: clamp(14px, 1.8vw, 24px); }
main > section, main section.section-space, main section.section-padding,
main .section-space, main .section-padding { padding-block: var(--dcpl-section-y) !important; }
main section .container > .section-heading,
main section .container > .section-heading.center-heading,
main section .container > .section-heading-center,
main section .container > .section-header,
main section .container > .section-title { margin-bottom: 10px !important; }
main h1 { font-size: clamp(1.85rem, 3.3vw, 3.1rem); margin-bottom: .45rem; }
main h2 { font-size: clamp(1.35rem, 2.35vw, 2rem); margin-bottom: .4rem; }
main h3 { line-height: 1.2; }
main p { margin-bottom: .45rem; }
main .row { --bs-gutter-y: .6rem; }
main .card, main .service-card, main .project-card, main .feature-card,
main .stat-card, main .event-card, main .career-card, main .benefit-card,
main .solution-card, main .testimonial-card { margin-bottom: 5px !important; }
main .card-body, main .service-card-content, main .project-card-content,
main .feature-card-content, main .stat-card, main .event-card-content,
main .career-card-content { padding: clamp(10px, 1.25vw, 16px) !important; }
main .card-title, main .service-card h3, main .project-card h3,
main .feature-card h3, main .event-card h3 { margin-bottom: .35rem !important; }
main .section-label { margin-bottom: 5px !important; }
main .hero-section, main .about-page-hero, main .projects-hero,
main .events-hero, main .career-hero {
  height: auto !important; min-height: 0 !important;
  padding-top: clamp(20px, 3vw, 36px) !important;
  padding-bottom: clamp(20px, 3vw, 36px) !important;
}
main .hero-section { min-height: min(560px, 72svh) !important; }
main .hero-section .hero-visual { height: clamp(230px, 28vw, 340px) !important; }
main .about-page-hero .about-hero-content,
main .projects-hero .hero-content,
main .events-hero .events-hero-content,
main .career-hero .career-hero-content { padding-block: 0 !important; }
main .about-page-hero h1, main .projects-hero h1,
main .events-hero h1, main .career-hero h1 { font-size: clamp(1.9rem, 3.5vw, 3.25rem) !important; line-height: 1.08 !important; }
main .about-page-hero .hero-scroll, main .hero-section .hero-scroll { display: none !important; }
/* Images and decorative content must not force tall boxes. */
main .project-card img, main .event-card .event-image img,
main .service-card img, main .feature-card img { max-height: 220px; object-fit: cover; }
main .project-card .project-image, main .event-card .event-image { max-height: 220px; overflow: hidden; }
@media (max-width: 767.98px) {
  :root { --dcpl-section-y: 14px; }
  main .hero-section { min-height: 0 !important; padding-block: 18px !important; }
  main .about-page-hero, main .projects-hero, main .events-hero, main .career-hero { padding-block: 18px !important; }
  main .hero-section .hero-visual { height: 235px !important; }
  main .card-body, main .service-card-content, main .project-card-content,
  main .feature-card-content, main .event-card-content, main .career-card-content { padding: 11px !important; }
  main .project-card img, main .event-card .event-image img,
  main .service-card img, main .feature-card img { max-height: 185px; }
}
@media (max-width: 420px) {
  main .hero-section .hero-visual { height: 210px !important; }
  main h1 { font-size: clamp(1.65rem, 7vw, 2.1rem); }
}
