@charset "utf-8";

.fl-page { background: rgb(247, 249, 247); min-height: 100vh; }

.fl-hero { padding: var(--section-gap) var(--content-pad) var(--section-gap-sm); text-align: center; background: rgb(255, 255, 255); }

.fl-eyebrow { display: inline-flex; align-items: center; gap: 6px; background: rgba(36, 52, 71, 0.12); border: 1px solid rgba(36, 52, 71, 0.22); border-radius: 50px; padding: 5px 14px; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: rgb(49, 70, 95); margin-bottom: 22px; }

.fl-hero h1 { font-family: Georgia, serif; font-size: clamp(2.4rem, 6vw, 3.6rem); font-weight: 700; color: rgb(26, 42, 27); line-height: 1.1; margin: 0px 0px 12px; letter-spacing: -0.02em; }

.fl-hero-sub { font-size: clamp(1rem, 2.5vw, 1.18rem); color: rgb(74, 94, 75); font-weight: 600; margin: 0px 0px 14px; letter-spacing: -0.01em; }

.fl-hero-desc { font-size: 0.93rem; color: rgb(107, 122, 108); line-height: 1.75; max-width: 480px; margin: 0px auto 36px; }

.fl-hero-cta { display: inline-flex; align-items: center; gap: 10px; background: rgb(45, 74, 46); color: rgb(255, 255, 255); border-width: medium; border-style: none; border-color: currentcolor; border-image: initial; border-radius: 50px; padding: 16px 34px; font-size: 0.97rem; font-weight: 700; cursor: pointer; font-family: inherit; box-shadow: rgba(45, 74, 46, 0.28) 0px 8px 28px; transition: transform 0.2s, box-shadow 0.2s; }

.fl-hero-cta:hover { transform: translateY(-2px); box-shadow: rgba(45, 74, 46, 0.36) 0px 14px 36px; }

.fl-hero-cta svg { flex-shrink: 0; }

.fl-features { padding: 48px 24px 56px; max-width: 1080px; margin: 0px auto; }

.fl-features-label { font-size: 0.7rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; color: rgb(36, 52, 71); text-align: center; margin-bottom: 36px; }

.fl-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }

@media (max-width: 820px) {
  .fl-cards { grid-template-columns: 1fr; gap: 14px; }
}

.fl-card { background: rgb(255, 255, 255); border-radius: 24px; padding: 32px 28px 28px; box-shadow: rgba(0, 0, 0, 0.055) 0px 2px 18px; border: 1px solid rgba(0, 0, 0, 0.043); display: flex; flex-direction: column; transition: transform 0.22s, box-shadow 0.22s; }

.fl-card:hover { transform: translateY(-5px); box-shadow: rgba(0, 0, 0, 0.1) 0px 12px 40px; }

.fl-card-icon { width: 56px; height: 56px; border-radius: 18px; display: flex; align-items: center; justify-content: center; margin-bottom: 22px; flex-shrink: 0; }

.fl-card-icon svg { width: 26px; height: 26px; }

.fl-icon-cam { background: rgb(253, 232, 219); }

.fl-icon-bar { background: rgb(224, 240, 228); }

.fl-icon-rec { background: rgb(223, 240, 247); }

.fl-card h3 { font-family: Georgia, serif; font-size: 1.15rem; font-weight: 700; color: rgb(26, 42, 27); margin: 0px 0px 10px; line-height: 1.25; }

.fl-card p { font-size: 0.865rem; color: rgb(107, 122, 108); line-height: 1.72; margin: 0px 0px 24px; flex: 1 1 0%; }

.fl-card-btn { align-self: flex-start; background: rgb(242, 245, 242); color: rgb(45, 74, 46); border-width: medium; border-style: none; border-color: currentcolor; border-image: initial; border-radius: 50px; padding: 10px 22px; font-size: 0.82rem; font-weight: 700; cursor: pointer; font-family: inherit; transition: background 0.18s, color 0.18s; }

.fl-card-btn:hover { background: rgb(45, 74, 46); color: rgb(255, 255, 255); }

.fl-intel { padding: 52px 24px; background: rgb(255, 255, 255); border-top: 1px solid rgb(234, 237, 233); border-bottom: 1px solid rgb(234, 237, 233); text-align: center; }

.fl-intel-inner { max-width: 600px; margin: 0px auto; }

.fl-intel h2 { font-family: Georgia, serif; font-size: clamp(1.5rem, 4vw, 2rem); font-weight: 700; color: rgb(26, 42, 27); margin: 0px 0px 12px; letter-spacing: -0.01em; }

.fl-intel-desc { font-size: 0.9rem; color: rgb(107, 122, 108); line-height: 1.75; margin: 0px auto 40px; }

.fl-intel-pills { display: flex; justify-content: center; gap: 16px; flex-wrap: wrap; }

.fl-pill { display: flex; flex-direction: column; align-items: center; gap: 10px; background: rgb(247, 249, 247); border: 1px solid rgb(228, 233, 227); border-radius: 20px; padding: 22px 24px; min-width: 130px; transition: border-color 0.18s, box-shadow 0.18s; }

.fl-pill:hover { border-color: rgb(36, 52, 71); box-shadow: rgba(36, 52, 71, 0.14) 0px 4px 18px; }

.fl-pill-icon { width: 44px; height: 44px; border-radius: 14px; display: flex; align-items: center; justify-content: center; background: rgb(238, 245, 239); }

.fl-pill-icon svg { width: 22px; height: 22px; }

.fl-pill-label { font-size: 0.8rem; font-weight: 700; color: rgb(45, 74, 46); text-align: center; line-height: 1.3; }

.fl-cta { padding: 64px 24px 80px; text-align: center; background: rgb(255, 255, 255); }

.fl-cta h2 { font-family: Georgia, serif; font-size: clamp(1.5rem, 4vw, 2.1rem); font-weight: 700; color: rgb(255, 255, 255); margin: 0px 0px 12px; letter-spacing: -0.01em; }

.fl-cta-desc { font-size: 0.9rem; color: rgba(255, 255, 255, 0.68); line-height: 1.75; max-width: 400px; margin: 0px auto 36px; }

.fl-cta-btn { display: inline-flex; align-items: center; gap: 10px; background: rgb(255, 255, 255); color: rgb(45, 74, 46); border-width: medium; border-style: none; border-color: currentcolor; border-image: initial; border-radius: 50px; padding: 16px 34px; font-size: 0.97rem; font-weight: 700; cursor: pointer; font-family: inherit; box-shadow: rgba(0, 0, 0, 0.22) 0px 8px 28px; transition: transform 0.2s, box-shadow 0.2s; }

.fl-cta-btn:hover { transform: translateY(-2px); box-shadow: rgba(0, 0, 0, 0.3) 0px 14px 40px; }

.fl-cta-btn svg { flex-shrink: 0; }