/* Lightkiller homepage non-critical styles */
/* Homepage-only additions; shared legacy styles remain unchanged. */
main h2 {font-size:2.5em;font-weight:300;margin:0;}
main h3 {font-size:1.3em;font-weight:300;margin:.8em 0;color:#333;}
main p {font-size:1.1em;}
body { font-family: Arial, "Noto Sans TC", "Microsoft JhengHei", sans-serif; }
.carousel-text h1 { display:inline-block; margin:0; padding:.32em .62em; background:#fff; color:#001e22; font-size:clamp(1.45rem,3.1vw,2.6rem); line-height:1.45; font-weight:600; }
.carousel-text p a {color:#fff;}
.carousel-text p a:hover {text-decoration:underline;}
#second-block h2 {color:#fff;font-size:2rem;margin:0 0 .35em;}
.home-section {padding:72px 24px;background:#fff;color:#203a3e;line-height:1.85;}
.home-section h2,.home-footer h2 {font-size:clamp(1.8rem,3vw,2.5rem);font-weight:600;line-height:1.5;margin:0 0 20px;}
.home-section p,.home-footer p {font-size:1rem;line-height:1.85;}
.home-eyebrow {font-size:.875rem!important;font-weight:700;letter-spacing:.1em;color:#006a78;margin:0 0 16px;}
#philosophy {background:#f1f8fa;border-top:1px solid #d5e7eb;}
.home-intro {max-width:720px;}
.home-principles {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:36px 0 28px;}
.home-principles article {border-top:2px solid #148391;padding-top:20px;}
.home-number {font-size:.875rem;font-weight:700;color:#006a78;}
.home-principles h3 {font-size:1.25rem;font-weight:600;margin:10px 0;}
#philosophy a.home-text-link, #philosophy a.home-text-link:link, #philosophy a.home-text-link:visited {font-size:1rem;color:#F92567;text-decoration:underline;text-underline-offset:5px;}
#philosophy a.home-text-link:hover {color:#003b43;}
.home-faq-layout {display:grid;grid-template-columns:1fr 1.7fr;gap:48px;}
.home-muted {color:#53676b;}
.home-questions details {border-bottom:1px solid #c7d8dc;padding:0;}
.home-questions details:first-child {border-top:1px solid #c7d8dc;}
.home-questions summary {cursor:pointer;font-size:1.0625rem;font-weight:600;padding:21px 8px;line-height:1.65;}
.home-questions summary:hover {color:#006573;}
.home-questions details[open] {background:#f1f8fa;}
.home-questions details p {padding:0 24px 24px;margin:0;}
.home-footer {background:#001e22;padding:64px 24px 24px;color:#fff;}
.home-footer .home-eyebrow {color:#6cdeea;}
.home-footer h2,.home-footer h3 {color:#fff;}
.home-footer-intro {max-width:760px;color:#d5e7eb;}
.home-steps {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;list-style:none;counter-reset:steps;margin:36px 0;padding:0;}
.home-steps li {border-top:1px solid #497278;padding-top:20px;counter-increment:steps;}
.home-steps li::before {content:"0" counter(steps);color:#6cdeea;font-size:.875rem;font-weight:700;}
.home-steps h3 {font-size:1.125rem;font-weight:600;margin:12px 0 8px;}
.home-steps p {color:#d5e7eb;}
.home-actions {display:flex;gap:16px;flex-wrap:wrap;margin-bottom:20px;}
.home-footer a.home-cta {display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 24px;background:#2fcbe0;color:#001e22;font-size:1rem;font-weight:700;border:1px solid #2fcbe0;border-radius:4px;}
.home-footer a.home-cta-outline {background:transparent;color:#fff;border-color:#a9c9ce;}
.home-footer a.home-cta:hover {background:#83e4ef;color:#001e22;}
.home-contact-note a {text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere;}
.home-copyright {display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid #35585e;margin-top:44px;padding-top:22px;}
.home-copyright p {font-size:.875rem;color:#cadce0;}
a:focus-visible,summary:focus-visible {outline:3px solid #b65a00;outline-offset:5px;}
@media(max-width:768px) {
 .home-section {padding:48px 22px;}
 .home-principles,.home-faq-layout {grid-template-columns:1fr;gap:24px;}
 .home-steps {grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}
 .home-footer {padding:48px 22px 24px;}
 .carousel-text {position:static;background:#001e22;padding:18px 12px 48px;}
 .carousel-text h1 {font-size:1.6rem;}
 .carousel-text p {font-size:1rem;margin-top:8px;}
}
@media(max-width:460px) { .home-steps {grid-template-columns:1fr;}.home-actions {flex-direction:column;}.home-cta {width:100%;} }

/* Footer overrides are kept here so only index.html needs updating. */
       .home-footer {background:#fff;color:#000;}
       .home-footer h2,
       .home-footer h3,
       .home-footer .home-eyebrow,
       .home-footer .home-steps li::before {color:#F92567;}
       .home-footer p {color:#000;}
       .home-footer .home-steps,
       .home-footer .home-steps li,
       .home-footer .line-link,
       .home-footer .line-link img {background:#fff;}
       .home-footer .home-copyright {background:#2FCBE0;}
       .home-footer .home-copyright p {color:#fff;}

              a.home-clickable-image {display:block; overflow:hidden;}
       a.home-clickable-image img {transition:transform .28s ease;}
       a.home-clickable-image:hover img,
       a.home-clickable-image:focus img {transform:scale(1.035);}
       @media (max-width:768px) {
         /* Match every mobile H2 to the current 1rem homepage H1. */
         body.size-1140 h2 {font-size:1rem !important;}
         #owl-demo .owl-controls .owl-buttons div {width:38px;height:38px;line-height:38px;}
         #owl-demo .owl-controls .owl-buttons .owl-prev {left:8px;}
         #owl-demo .owl-controls .owl-buttons .owl-next {right:8px;}

         /* Mobile service cards only: enlarge and center content photos.
            Carousel images, pagination and navigation are intentionally untouched. */
         #first-block .margin > .margin-bottom > img:not([src*="image/line"]),
         #first-block .margin > .margin-bottom > a.home-clickable-image {
           width:77%;
           max-width:400px;
           margin-left:auto;
           margin-right:auto;
         }
         #first-block .margin > .margin-bottom > a.home-clickable-image > img {
           display:block;
           width:100%;
           height:auto;
         }
         #first-block .margin > .margin-bottom > img:not([src*="image/line"]) {
           display:block;
           height:auto;
         }

         /* Match the four product-development images to the mobile service-card sizing. */
         #third-block .margin > div > img {
           display:block;
           width:77%;
           max-width:400px;
           height:auto;
           margin-left:auto;
           margin-right:auto;
         }

         /* Mobile-only typography refinements requested for the lower homepage sections. */
         #philosophy .home-eyebrow,
         #faq .home-eyebrow,
         .home-footer .home-eyebrow {
           font-size:1rem !important;
         }
         #philosophy .home-number,
         .home-footer .home-steps li::before {
           font-size:1rem;
         }
         #faq .home-muted {
           color:#7b3fa1;
         }
       }

       /* Keep the desktop/landscape navigation on one row. */
       @media (min-width:769px) {
         #home-nav > .line > .top-nav {
           display:grid;
           grid-template-columns:minmax(0,1fr) 120px minmax(0,1fr);
           align-items:stretch;
         }
         #home-nav > .line > .top-nav > .top-nav,
         #home-nav > .line > .top-nav > ul {
           float:none; width:auto; min-width:0; background:transparent;
         }
         #home-nav .top-ul {
           display:flex; flex-wrap:nowrap; float:none; width:100%; height:100%;
         }
         #home-nav .top-ul > li {float:none; flex:1 1 0; min-width:0;}
         #home-nav .top-ul > li.nav-language {flex:0 0 auto;}
         #home-nav .top-ul > li.nav-language > a {padding-inline:6px;}
         #home-nav .top-ul > li > a {
           display:flex; align-items:center; justify-content:center;
           height:100%; min-height:76px; padding:12px 4px;
           font-size:14px; line-height:1.5; white-space:nowrap;
         }
         #home-nav .logo {float:none; width:100%;}
         #home-nav .logo a {
           display:block; padding:16px 4px; min-height:76px;
           font-size:20px; line-height:1.1; white-space:nowrap;
         }
       }
       @media (min-width:1100px) {
         #home-nav .top-ul > li > a {font-size:16px;}
       }

       @media (max-width:768px) {
         #home-nav .logo.hide-l > a {
           display:flex;
           flex-direction:column;
           align-items:center;
           gap:8px;
           line-height:1.4;
         }
       }
