/* Maharishi — shared base. Extracted from index.html 2026-07-16.
   Tokens, reset, type, nav, section scaffolding, buttons, cta, footer, reveal.
   Page-specific CSS stays inline in each page. */

:root{
  --paper:#FBFAF7;
  --ink:#161512;
  --muted:#6E6B64;
  --faint:#9C988F;
  --hairline:#E5E2DA;
  --pine:#2E4B3C;
  --pine-soft:#E9EEE9;
  --maxw:1140px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:'Inter',system-ui,sans-serif;
  font-weight:450;
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--pine);color:var(--paper)}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible{outline:2px solid var(--pine);outline-offset:3px;border-radius:2px}
/* ---------- type ---------- */
.display{
  font-family:'Fraunces',serif;
  font-weight:340;
  letter-spacing:-0.01em;
  line-height:1.08;
}
.mono{
  font-size:13.5px;
  font-weight:500;
  color:var(--muted);
}
em{font-style:italic;font-family:'Fraunces',serif;font-weight:400}
/* ---------- nav ---------- */
nav{
  position:fixed;top:0;left:0;right:0;z-index:50;
  background:color-mix(in srgb, var(--paper) 88%, transparent);
  backdrop-filter:blur(10px);
  border-bottom:1px solid transparent;
  transition:border-color .3s;
}
nav.scrolled{border-bottom-color:var(--hairline)}
.nav-in{
  max-width:var(--maxw);margin:0 auto;padding:18px 32px;
  display:flex;align-items:center;justify-content:space-between;
}
.brand{display:flex;align-items:center;gap:13px}
.brand svg{width:48px;height:20px;color:var(--ink);flex:none}
.brand .lockup{display:flex;flex-direction:column}
.brand .name{font-family:'Fraunces',serif;font-size:20px;font-weight:400;letter-spacing:0.01em;line-height:1.05}
.brand .by{font-size:11px;letter-spacing:0.04em;color:var(--faint);margin-top:2px}
.nav-links{display:flex;gap:34px;align-items:center}
.nav-links a{font-size:14px;color:var(--muted);transition:color .2s}
.nav-links a:hover{color:var(--ink)}
.nav-cta{
  font-size:14px;color:var(--paper)!important;background:var(--ink);
  padding:9px 18px;border-radius:100px;transition:background .2s;
}
.nav-cta:hover{background:var(--pine)}
@media(max-width:760px){.nav-links a:not(.nav-cta){display:none}}
/* ---------- section scaffolding ---------- */
section{padding:110px 0}
.eyebrow{margin-bottom:22px;display:block}
.rule{border:none;border-top:1px solid var(--hairline)}
h2.display{font-size:clamp(30px,3.6vw,46px);max-width:22ch}
.section-head{display:grid;grid-template-columns:200px 1fr;gap:40px;margin-bottom:64px}
@media(max-width:760px){.section-head{grid-template-columns:1fr;gap:14px}}
.prose{font-size:18px;color:var(--muted);max-width:62ch}
.prose strong{color:var(--ink);font-weight:600}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.btn{
  display:inline-block;font-size:15px;font-weight:500;
  padding:13px 26px;border-radius:100px;transition:all .2s;
}
.btn-dark{background:var(--ink);color:var(--paper)}
.btn-dark:hover{background:var(--pine)}
.btn-ghost{border:1px solid var(--hairline);color:var(--ink)}
.btn-ghost:hover{border-color:var(--ink)}
/* ---------- cta ---------- */
.cta{background:var(--ink);color:var(--paper);text-align:center;padding:130px 0}
.cta .display{font-size:clamp(32px,4.4vw,56px);color:var(--paper);max-width:20ch;margin:0 auto 22px}
.cta p{color:#B9B6AD;max-width:46ch;margin:0 auto 44px}
.cta .btn-light{background:var(--paper);color:var(--ink)}
.cta .btn-light:hover{background:var(--pine);color:var(--paper)}
.cta .mono{color:#8E8B82;display:block;margin-top:30px}
/* ---------- footer ---------- */
footer{padding:50px 0;border-top:1px solid var(--hairline)}
.foot-social{display:flex;gap:26px}
.foot-social a{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--muted);transition:color .2s}
.foot-social a:hover{color:var(--ink)}
.foot-social svg{width:17px;height:17px;fill:currentColor}
.foot-in{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
footer .mono{color:var(--faint)}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
