/* Homepage presentation layer derived from LIGHTMGROUP_Homepage.html. */
body.home-page { background: #f3f4ee !important; color: #16221a; font-family: "DM Sans", Inter, system-ui, sans-serif; }
body.home-page .global-nav { position: absolute; top: 22px; left: 50%; width: min(1240px, calc(100% - 44px)); transform: translateX(-50%); z-index: 20; border: 1px solid rgba(255,255,255,.16); border-radius: 22px; background: rgba(14,82,43,.76); color: #f7faf1; box-shadow: 0 18px 50px rgba(7,16,0,.2); }
body.home-page .global-nav.is-scrolled { position: fixed; background: rgba(7,57,29,.95); }
body.home-page .global-nav .wrap { width: calc(100% - 32px); }
body.home-page .hero { min-height: 760px; padding: 170px 0 58px; background: radial-gradient(ellipse at 82% 38%, rgba(245,168,0,.14), transparent 42%), radial-gradient(ellipse at 8% 88%, rgba(139,13,34,.18), transparent 36%), linear-gradient(165deg,#02140d 0%,#07391d 46%,#0e522b 100%) !important; color: #fff; }
body.home-page .hero-grid { grid-template-columns: minmax(0,1fr) minmax(360px,.9fr); gap: 55px; align-items: center; }
body.home-page .hero h1 { max-width: 8.5ch; margin: 22px 0 25px; color: #fff !important; font-size: clamp(58px,7.2vw,106px) !important; font-weight: 550; letter-spacing: -.075em !important; line-height: .88 !important; }
body.home-page .hero h1 em { color: #d5e9b4; font-family: Georgia,serif; font-weight: 400; }
body.home-page .hero .lede { max-width: 500px; color: rgba(247,250,241,.76) !important; font-size: 16px; line-height: 1.8; }
body.home-page .hero .kicker { color: #fb9a0b !important; font-size: 10px; letter-spacing: .18em; }
body.home-page .hero .actions { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 30px; }
body.home-page .hero .button { min-height: 48px; padding: 14px 22px; border-radius: 4px; font-size: 12px; }
body.home-page .hero .button-primary { background: #fb9a0b !important; color: #17251d !important; }
body.home-page .hero .button-secondary { border: 1px solid rgba(251,154,11,.72); background: transparent; color: #fb9a0b; }
body.home-page .hero-art { min-width: 0; }
body.home-page .art-stage { position: relative; width: min(560px,100%); aspect-ratio: 1/1; margin: auto; transform: translate3d(0,var(--hero-shift,0),0) rotate(var(--hero-turn,0)); transform-style: preserve-3d; }
body.home-page .art-stage:before { content: ""; position: absolute; inset: 13%; border-radius: 50%; background: radial-gradient(circle at 40% 35%, rgba(255,255,255,.72), rgba(213,233,180,.24) 12%, rgba(14,82,43,.02) 52%); filter: blur(5px); }
body.home-page .art-core { position: absolute; inset: 28%; display: grid; place-items: center; border: 1px solid rgba(213,233,180,.6); border-radius: 50%; background: radial-gradient(circle at 32% 25%, #fff, #d5e9b4 7%, #7ba66c 20%, #0e522b 58%, #03170d 100%); box-shadow: 0 0 70px rgba(213,233,180,.22), inset -30px -25px 50px rgba(0,0,0,.34); animation: reference-core 9s ease-in-out infinite; }
body.home-page .art-core span { width: 22%; height: 22%; border: 1px solid rgba(255,255,255,.55); border-radius: 50%; box-shadow: 0 0 22px #fb9a0b; }
body.home-page .art-core i { position: absolute; width: 46%; height: 1px; background: #fb9a0b; transform: rotate(-28deg); box-shadow: 0 0 14px #fb9a0b; }
body.home-page .art-orbit { position: absolute; inset: 16%; border: 1px solid rgba(213,233,180,.58); border-radius: 50%; transform: rotate(28deg) rotateX(63deg); animation: reference-orbit 12s linear infinite; }
body.home-page .art-orbit-two { inset: 10% 22%; border-color: rgba(251,154,11,.65); transform: rotate(-35deg) rotateY(65deg); animation-duration: 15s; animation-direction: reverse; }
body.home-page .art-ribbon { position: absolute; inset: 18% 8%; border: 2px solid rgba(213,233,180,.6); border-left-color: transparent; border-right-color: transparent; border-radius: 50%; transform: rotate(-32deg) rotateX(68deg); filter: drop-shadow(0 0 12px rgba(213,233,180,.25)); animation: reference-ribbon 10s ease-in-out infinite; }
body.home-page .art-ribbon-two { inset: 20% 12%; border-color: rgba(251,154,11,.58); border-top-color: transparent; transform: rotate(48deg) rotateY(62deg); animation-delay: -3s; }
body.home-page .art-label { position: absolute; z-index: 3; padding: 10px 13px; border: 1px solid rgba(213,233,180,.45); border-radius: 2px; background: rgba(4,28,17,.62); color: #d5e9b4; font-size: 9px; letter-spacing: .08em; text-transform: uppercase; backdrop-filter: blur(8px); }
body.home-page .label-a { top: 17%; left: 0; } body.home-page .label-b { top: 45%; right: -2%; color: #fb9a0b; } body.home-page .label-c { bottom: 19%; left: 4%; } body.home-page .art-caption { position: absolute; right: 7%; bottom: 7%; color: rgba(247,250,241,.64); font-size: 9px; letter-spacing: .08em; }
body.home-page .section { padding: clamp(75px,9vw,125px) 0; }
body.home-page .section-head { max-width: 850px; margin-bottom: 44px; }
body.home-page .section-head h2 { max-width: 680px; font-size: clamp(36px,4.5vw,66px); font-weight: 500; letter-spacing: -.065em; }
body.home-page .section-head>p:last-child { max-width: 580px; font-size: 14px; line-height: 1.85; }
body.home-page .card-grid { gap: 18px; }
body.home-page .card { border-radius: 18px; padding: 28px; background: #f8faf4; box-shadow: none; }
body.home-page .card h3 { font-size: 21px; }
body.home-page .showcase:first-child { background: #0e522b; }
body.home-page .product-card { border-radius: 18px; }
body.home-page .final-cta { padding: 80px 0 !important; }
@keyframes reference-core { 0%,100% { transform: scale(1) rotate(0); } 50% { transform: scale(1.04) rotate(5deg); } }
@keyframes reference-orbit { to { transform: rotate(388deg) rotateX(63deg); } }
@keyframes reference-ribbon { 0%,100% { transform: rotate(-32deg) rotateX(68deg) translateY(0); } 50% { transform: rotate(-26deg) rotateX(68deg) translateY(-10px); } }
@media (max-width: 800px) { body.home-page .global-nav { top: 12px; width: calc(100% - 24px); } body.home-page .hero { min-height: 0; padding: 150px 0 70px; } body.home-page .hero-grid { grid-template-columns: 1fr; gap: 35px; } body.home-page .hero h1 { font-size: clamp(54px,13vw,88px) !important; } body.home-page .art-stage { width: min(500px,100%); } body.home-page .section { padding: 70px 0; } }
@media (prefers-reduced-motion: reduce) { body.home-page .art-core, body.home-page .art-orbit, body.home-page .art-ribbon { animation: none; } }
