/* Luminary Research shared styles.
   Brand palette derived from the logo: navy, teal, green (plus red accent in logo art). */
:root{
  --navy:#0f2f5e; --navy-2:#17406f; --navy-deep:#0c2547;
  --ink:#1b2b3f; --muted:#5a6472;
  --teal:#2d7d9c; --teal-dark:#236079; --teal-light:#79c1da;
  --green:#2f7d3a; --red:#b0242f;
  --bg:#ffffff; --bg-soft:#f5f8fb; --line:#e4e8ee;
  --radius:12px; --wrap:1080px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--ink);line-height:1.65;background:var(--bg);-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.2;color:var(--navy);font-weight:600}
h1{font-size:2.5rem;letter-spacing:-.5px}
h2{font-size:1.75rem;margin-bottom:.6rem}
h3{font-size:1.2rem}
p{margin-bottom:1rem}
a{color:var(--teal-dark);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.narrow{max-width:760px}

.btn{display:inline-block;background:var(--teal);color:#fff;font-weight:600;padding:.8rem 1.5rem;
  border-radius:8px;border:none;cursor:pointer;transition:background .15s}
.btn:hover{background:var(--teal-dark);color:#fff;text-decoration:none}
.btn-ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.55)}
.btn-ghost:hover{background:rgba(255,255,255,.12);color:#fff}

/* header: white, showing the brand logo */
header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;
  box-shadow:0 1px 6px rgba(15,47,94,.04)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;max-width:var(--wrap);margin:0 auto}
.brand{display:flex;align-items:center}
.brand img.logo{height:40px;width:auto;display:block}
.brand:hover{text-decoration:none}
.navlinks{display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.navlinks a{color:var(--ink);font-size:.95rem}
.navlinks a:hover{color:var(--teal-dark);text-decoration:none}
.navlinks .btn{padding:.5rem 1rem;font-size:.9rem}

/* hero + page headers */
.hero{background:linear-gradient(160deg,var(--navy) 0%,var(--navy-2) 100%);color:#fff;padding:5rem 0 4.5rem}
.hero h1{color:#fff;max-width:16ch}
.hero .lead{font-size:1.2rem;color:#cdd8e8;max-width:60ch;margin:1.2rem 0 2rem}
.hero .cta-row{display:flex;gap:14px;flex-wrap:wrap}
.pagehead{background:linear-gradient(160deg,var(--navy) 0%,var(--navy-2) 100%);color:#fff;padding:3.5rem 0}
.pagehead h1{color:#fff}
.pagehead p{color:#cdd8e8;max-width:60ch;margin-top:.8rem;font-size:1.1rem}
.eyebrow{color:var(--teal-light);font-weight:600;letter-spacing:1.5px;text-transform:uppercase;font-size:.8rem;margin-bottom:1rem}
.crumb{color:#9fb2cc;font-size:.85rem;margin-bottom:1rem}
.crumb a{color:#cdd8e8}

/* sections */
section{padding:4rem 0}
.soft{background:var(--bg-soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section-head{max-width:64ch;margin-bottom:2.5rem}
.section-head p{color:var(--muted);font-size:1.08rem}
.prose p{color:#33404f}
.prose h2{margin:2rem 0 .6rem;font-size:1.55rem}

/* cards / grid */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;
  transition:box-shadow .18s,transform .18s;display:block}
.card:hover{box-shadow:0 12px 30px rgba(15,47,94,.10);transform:translateY(-3px);text-decoration:none}
.card h3{margin-bottom:.5rem}
.card p{color:var(--muted);font-size:.97rem;margin-bottom:.75rem}
.card .more{color:var(--teal-dark);font-weight:600;font-size:.9rem}
.icon{width:38px;height:38px;margin-bottom:1rem;color:var(--teal)}

/* value row */
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:1rem}
.values h3{color:var(--navy);font-size:1.1rem;margin-bottom:.3rem}
.values p{color:var(--muted);font-size:.96rem;margin:0}

/* feature list */
.features{list-style:none;margin:.5rem 0 1.5rem}
.features li{position:relative;padding-left:1.8rem;margin-bottom:.7rem;color:#33404f}
.features li:before{content:"";position:absolute;left:0;top:.55em;width:9px;height:9px;
  background:var(--teal);border-radius:2px;transform:rotate(45deg)}

.callout{background:var(--bg-soft);border:1px solid var(--line);border-left:4px solid var(--teal);
  border-radius:8px;padding:1.2rem 1.4rem;margin:1.5rem 0;color:#33404f}

/* CTA band */
.band{background:var(--navy);color:#fff;text-align:center;padding:3.5rem 0}
.band h2{color:#fff;margin:0 0 .3rem}
.band p{color:#cdd8e8;max-width:55ch;margin:.6rem auto 1.6rem}

/* contact */
.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:start}
.contact-item{display:flex;gap:12px;align-items:flex-start;margin-bottom:1.1rem}
.contact-item svg{width:22px;height:22px;color:var(--teal);flex:none;margin-top:3px}
.contact-item .lbl{font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}
.contact-item .val{font-weight:600;color:var(--navy)}
.ph{background:#eaf4f8;border:1px solid #bcdde8;color:#236079;border-radius:4px;padding:0 .3rem;font-size:.9em}

/* contact form */
.form-field{margin-bottom:1rem}
.form-field label{display:block;font-size:.85rem;font-weight:600;color:var(--navy);margin-bottom:.35rem}
.form-field input,.form-field textarea{width:100%;padding:.7rem .8rem;border:1px solid var(--line);
  border-radius:8px;font-family:inherit;font-size:.95rem;color:var(--ink);background:#fff}
.form-field input:focus,.form-field textarea:focus{outline:none;border-color:var(--teal);
  box-shadow:0 0 0 3px rgba(45,125,156,.15)}
.form-field textarea{min-height:130px;resize:vertical}
.req{color:var(--red)}
.hp{position:absolute!important;left:-9999px!important;top:auto;width:1px;height:1px;overflow:hidden}
.form-status{margin-top:1rem;padding:.8rem 1rem;border-radius:8px;font-size:.92rem;display:none}
.form-status.success{display:block;background:#e8f5ec;border:1px solid #b6e0c2;color:#1f6b34}
.form-status.error{display:block;background:#fdeaea;border:1px solid #f2c0c0;color:#a12626}
.form-hint{font-size:.8rem;color:var(--muted);margin-top:.9rem}
.cf-turnstile{margin:.4rem 0 1rem}

/* insights empty state */
.empty{background:var(--bg-soft);border:1px dashed var(--line);border-radius:var(--radius);padding:2.5rem;text-align:center;color:var(--muted)}
.empty h3{color:var(--navy);margin-bottom:.5rem}
.topics{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:1.2rem}
.topics span{background:#fff;border:1px solid var(--line);border-radius:20px;padding:.35rem .9rem;font-size:.85rem;color:var(--muted)}

/* footer */
footer{background:var(--navy-deep);color:#9db0c8;padding:2.5rem 0;font-size:.9rem}
.foot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center}
.foot a{color:#cdd8e8}
.foot .brandline{color:#fff;font-family:Georgia,serif;font-size:1.1rem;margin-bottom:.3rem}
.foot .links{display:flex;gap:18px;flex-wrap:wrap}
.note{font-size:.8rem;color:#6f809a;margin-top:1rem}

@media(max-width:820px){
  h1{font-size:2rem}
  .grid,.values,.contact-grid{grid-template-columns:1fr}
  .hero{padding:3.5rem 0}
  .navlinks{gap:13px}
  .brand img.logo{height:34px}
}
