/* RecensLabs — foundation, shared chrome, footer.
   Brand colors fall back to defaults but are overridden at runtime by the
   DB-driven /theme.css (--theme-color / --accent-color). */
:root{
  --paper:#F7F7FB;
  --paper-dim:#ECEBF4;
  --ink:#15131F;
  --ink-soft:#231F32;
  --indigo:var(--theme-color, #5B4CFF);
  --indigo-soft:#8377FF;
  --coral:var(--accent-color, #FF6B57);
  --slate:#6E6B7C;
  --slate-light:#9B98A8;
  --white:#FFFFFF;
  --font-display:'Unbounded', sans-serif;
  --font-body:'Manrope', sans-serif;
  --font-mono:'Space Mono', monospace;
}
*{box-sizing:border-box; margin:0; padding:0;}
body{font-family:var(--font-body); background:var(--paper); color:var(--ink); line-height:1.55; -webkit-font-smoothing:antialiased;}
a{color:inherit; text-decoration:none;}
img{max-width:100%;}
.wrap{max-width:1180px; margin:0 auto; padding:0 32px;}
::selection{background:var(--indigo); color:var(--white);}

/* HEADER / NAV */
header{position:sticky; top:0; z-index:50; background:rgba(247,247,251,0.86); backdrop-filter:blur(10px); border-bottom:1px solid var(--paper-dim);}
nav.wrap{display:flex; align-items:center; justify-content:space-between; height:76px;}
.nav-right{display:flex; align-items:center; gap:36px;}
.nav-links{display:flex; gap:30px;}
.nav-links a{font-size:14.5px; font-weight:600; color:var(--slate); transition:color 0.15s ease;}
.nav-links a:hover, .nav-links a.active{color:var(--ink);}

/* LOGO LOCKUP */
.logo{display:inline-flex; align-items:center; gap:11px; font-family:var(--font-display); font-weight:700; font-size:18px; letter-spacing:-0.01em; color:var(--ink);}
.logo-mark{display:inline-flex; filter:drop-shadow(0 5px 12px rgba(91,76,255,0.3));}
.logo-mark svg{display:block; border-radius:10px;}
.logo-word{color:var(--ink);}

/* BUTTONS */
.btn{font-family:var(--font-body); font-weight:700; font-size:14px; padding:12px 22px; border-radius:100px; border:none; cursor:pointer; display:inline-flex; align-items:center; gap:8px;}
.btn-ink{background:var(--ink); color:var(--paper);}
.btn-ink:hover{background:var(--ink-soft);}
.btn-indigo{background:var(--indigo); color:var(--white);}
.btn-indigo:hover{background:var(--indigo-soft);}
.btn-ghost{background:transparent; color:var(--ink); border:1.5px solid var(--ink);}

/* SHARED SECTION HEADS */
.section-head{margin-bottom:44px;}
h2{font-family:var(--font-display); font-weight:700; font-size:clamp(24px,2.8vw,32px); letter-spacing:-0.01em; margin-bottom:12px;}
.section-head p{color:var(--slate); font-size:15.5px;}

/* FOOTER */
footer{border-top:1px solid var(--paper-dim); padding:56px 0 32px;}
footer .logo{margin-bottom:14px;}
.footer-about{color:var(--slate); font-size:13.5px; max-width:260px;}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:32px; margin-bottom:48px;}
.footer-col h4{font-family:var(--font-mono); font-size:11.5px; text-transform:uppercase; letter-spacing:0.05em; color:var(--slate); margin-bottom:16px;}
.footer-col a{display:block; font-size:13.5px; color:var(--ink); margin-bottom:10px;}
.footer-col a:hover{color:var(--indigo);}
.footer-bottom{display:flex; justify-content:space-between; align-items:center; padding-top:24px; border-top:1px solid var(--paper-dim); font-family:var(--font-mono); font-size:11.5px; color:var(--slate-light);}

@media(max-width:1000px){
  .nav-links{display:none;}
  .footer-grid{grid-template-columns:1fr 1fr;}
}
