/* File: style.css
   Site styles for RazumAI.
   Updated: switch to Lato, lighter disclosure styling, footer thin,
   mission prominence, hero spacing, pull quotes, narrower text columns.
*/

:root {
  --bg:#0b0f14;
  --card:#121821;
  --text:#e6edf3;
  --sub:#9fb0c3;
  --accent:#5cc8ff;
  --muted:#1b2430;
  --border:#203042;
  --max:1120px;

  --masthead-h: 96px;
  --logo-pad: 8px;
}

*{box-sizing:border-box}
html,body{
  margin:0;padding:0;
  background:var(--bg);color:var(--text);
  font-family:'Lato',sans-serif;
  font-size:16px; line-height:1.6; font-weight:400;
}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:var(--max);margin:0 auto;padding:24px}

/* ---------- Masthead ---------- */
.masthead{
  position:relative;
  height:var(--masthead-h);
  border-bottom:1px solid var(--border);
  background:url('assets/img/cover2.jpeg') center/cover no-repeat;
}
.masthead__overlay{
  position:absolute; inset:0;
  background:linear-gradient(
    180deg,
    rgba(5,8,12,0.1) 0%,
    rgba(5,8,12,0.3) 60%,
    rgba(5,8,12,0.35) 100%
  );
}

/* Menu row */
.nav-inner{
  position:relative; z-index:1;
  height:100%;
  display:flex; align-items:center; justify-content:space-between;
  gap:12px;
  padding:8px 24px;
}

/* ---------- Brand ---------- */
.brand-box{display:flex;align-items:center;gap:12px}

.brand-badge{
  width: calc(var(--masthead-h) - 20px);
  height: calc(var(--masthead-h) - 20px);
  border-radius:12px;
  background:#fff;
  box-shadow:0 2px 6px rgba(0,0,0,.18);
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding: var(--logo-pad);
}
.brand-badge img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}

.brand-name{
  font-size:28px; font-weight:700; color:#fff; letter-spacing:.32px;
}
.brand-ai { color:#ff7a1a; }

/* ---------- Navigation Links ---------- */
.nav-on-cover .menu a{
  padding:6px 12px;
  border-radius:8px;
  color:#ffffff;
  font-weight:600; /* Lato will synthesize between 400 and 700 */
  text-shadow:0 1px 2px rgba(0,0,0,.35);
  transition:background .15s ease, color .15s ease;
}
.nav-on-cover .menu a.active,
.nav-on-cover .menu a:hover{
  background:rgba(255,255,255,.22);
  color:#ffffff;
  outline:1px solid rgba(255,255,255,.25);
}

/* ---------- Intro / Hero ---------- */
.intro{padding:18px 24px 6px}
.intro-title{
  font-size:38px;
  line-height:1.15;
  font-weight:700; /* match Lato weights */
  letter-spacing:.2px;
  margin:0 0 22px;
}
.lead{color:var(--sub);max-width:880px;margin:0 0 16px}
.tag{
  display:inline-block;padding:4px 8px;border-radius:999px;
  background:rgba(92,200,255,.12);border:1px solid var(--border);
  font-size:12px;color:var(--accent);margin-bottom:6px
}
.cta{display:flex;gap:12px;flex-wrap:wrap}

/* Narrower hero/about columns */
.home .intro p,
.about-body p{
  max-width:550px;
  margin-bottom:16px;
}
.intro .cta{ margin-top:24px; }

/* ---------- Buttons ---------- */
a.button, .cta a.button {
  display:inline-block;
  padding:10px 14px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.12);
  color:var(--text);
  font-weight:700; /* stronger with Lato */
  box-shadow:0 2px 8px rgba(0,0,0,.25);
  transition:background .15s ease, filter .15s ease, box-shadow .15s ease;
}
a.button:hover, .cta a.button:hover {
  background:rgba(255,255,255,.18);
}
a.button.primary, .cta a.button.primary {
  background:linear-gradient(135deg,#53ffa9,#5cc8ff);
  color:#0b0f14;
  border:0;
  box-shadow:0 6px 16px rgba(83,255,169,.28);
}
a.button.primary:link,
a.button.primary:visited { color:#0b0f14; }
a.button.primary:hover { filter:brightness(1.06); }

/* ---------- Cards / Grid / KPIs / Footer ---------- */
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
.card{
  background:var(--card);border:1px solid var(--border);
  border-radius:16px;padding:18px;
  backdrop-filter:saturate(140%) blur(2px)
}
.card h3{margin:0 0 6px}
.section{padding:24px}
.h2{font-size:28px;margin:0 0 12px;font-weight:700}
.list{display:grid;gap:12px;margin:12px 0;padding:0}
.list li{
  list-style:none;background:var(--muted);border:1px solid var(--border);
  padding:12px;border-radius:12px
}
.footer{margin-top:40px;border-top:1px solid var(--border);background:var(--muted)}
.footer small{color:var(--sub);font-weight:100} /* Thin Lato for footer */

/* ---------- Responsive ---------- */
@media (max-width: 900px){
  :root{ --masthead-h: 84px; }
  .brand-name{font-size:24px}
  .intro-title{font-size:30px}
}

/* ---------- About page additions ---------- */
.slogan {
  font-style: italic;
  font-size: 20px;
  font-weight: 600;
  color: var(--sub);
  margin: 20px 0;
  display: block;
}
.info-box {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: start;
  gap: 14px;
}
.info-box__media img {
  display: block;
  width: 260px;
  max-width: 40vw;
  height: auto;
  border-radius: 12px;
  object-fit:contain;
  border:1px solid var(--border);
  background:#fff;
  padding:8px;
}
@media (max-width: 900px){
  .info-box { grid-template-columns:1fr; }
  .info-box__media img {
    width:200px;
    margin-top:6px;
    justify-self:start;
  }
}

/* ---------- Solutions page additions ---------- */
.solutions-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  align-items:stretch;
}
.solutions-grid .card{
  display:flex;
  flex-direction:column;
  height:100%;
}
.solutions-grid .card .cta{
  margin-top:auto;
  display:flex;
  gap:10px;
}
@media (max-width:900px){
  .solutions-grid{grid-template-columns:1fr;}
}

/* Unified "see also" label */
.see-also {
  margin:18px 0 6px;
  font-weight:600;
  color:var(--text);
}

/* ---------- Pull quotes (magazine-style highlights) ---------- */
.pull-quote{
  float:right;
  width:40%;
  font-size:28px;
  font-weight:700;
  line-height:1.4;
  color:var(--text);
  margin:0 0 16px 24px;
}
.home .intro::after,
.about-body::after{
  content:"";
  display:block;
  clear:both;
}
@media (max-width:900px){
  .pull-quote{
    float:none;
    width:100%;
    margin:18px 0;
    font-size:24px;
  }
}

/* Right-side pull-quote stack (prevents floats colliding) */
.pull-quote-stack{
  float: right;
  width: 40%;
  margin-left: 24px;
}
.pull-quote-stack .pull-quote{
  font-size: 28px;
  font-weight: 700;
  line-height: 1.4;
  color: var(--text);
  margin: 0 0 18px 0;
}

/* Keep left column clean & clear the float at section end */
.about-body p{ max-width: 550px; }
.about-body::after{ content:""; display:block; clear:both; }

/* Mobile: stack quotes inline */
@media (max-width: 900px){
  .pull-quote-stack{
    float: none;
    width: 100%;
    margin: 0 0 12px 0;
  }
  .pull-quote-stack .pull-quote{ font-size: 24px; }
}

/* Pull-quote modifiers for About page */
.pull-quote--top { margin-top: 0; }
.pull-quote--after { clear: right; margin-top: 6px; }

/* Keep left column tidy (already present) */
.about-body p { max-width: 550px; }
.about-body::after { content:""; display:block; clear:both; }

p { margin-top: 0; margin-bottom: 1em; }

/* ---------- Curious fact disclosure (lighter, secondary) ---------- */
.curious-summary{
  cursor:pointer;
  font-weight:300; /* Light Lato */
  color:#777;
  line-height:1.4;
}
.curious-hint{
  font-weight:300;
  font-size:0.85em;
  color:#999;
}
.curious-content{
  margin-top:8px;
  font-size:0.9em;
  font-weight:300; /* Light */
  color:#555;
  line-height:1.5;
}

/* Header layout (safe defaults) */
.nav-inner {
  display: flex;
  align-items: center;
}
.menu {
  margin-left: auto;         /* pushes the menu to the right */
  display: flex;
  gap: 24px;                 /* or whatever you were using */
}

/* Brand/logo link — keep visuals identical, no underline */
.brand-home-link {
  text-decoration: none;
  color: inherit;
  display: flex;
  align-items: center;
  margin: 0;                 /* override any generic link margins */
  padding: 0;
}
.brand-home-link:hover,
.brand-home-link:focus,
.brand-home-link:active {
  text-decoration: none;
  color: inherit;
}
.brand-home-link:visited {
  color: inherit;
}
.brand-home-link img {
  display: block;            /* avoids baseline gaps */
}

/* IMPORTANT: prevent nav link styles from leaking onto the brand */
.menu a {                    /* keep your existing nav link styles here */
  /* example:
  text-decoration: none;
  padding: 6px 0;
  font-weight: 400;
  */
}

/* If you currently have something broad like .nav-inner a { margin-left:24px; text-transform:uppercase; }
   either narrow it to .menu a OR neutralize it for the brand link: */
.nav-inner > .brand-home-link {
  margin: 0;
  text-transform: none;
  letter-spacing: normal;
  /* add any other overrides your generic header links might be applying */
}