:root{--bg:#fff;--fg:#111;--muted:#555;--accent:#bfa76a;--border:#ddd}
*{box-sizing:border-box}
html,body{background:var(--bg);color:var(--fg);margin:0;padding:0;font-family:Georgia,'Times New Roman',serif;font-size:17px;line-height:1.7;overflow-x:hidden}
.container{max-width:980px;margin:0 auto;padding:40px 24px}
header{border-bottom:1px solid var(--border);background:#fff;position:sticky;top:0;z-index:10}
.brand{display:flex;align-items:center;gap:12px;font-weight:700;letter-spacing:.1em;font-family:Garamond,serif;font-size:1.2rem;flex:0 0 auto}
.brand img{height:48px;width:auto;display:block}
nav{display:flex;align-items:center;gap:24px;padding:16px 0}
nav .links a{text-decoration:none;color:var(--fg);font-weight:600;margin:0;padding:0}
nav .links a:hover{color:var(--accent)}
h1,h2,h3{font-family:Garamond,serif;font-weight:700}
h1{font-size:2rem;margin:1.2em 0 .6em}
h2{font-size:1.4rem;margin:1em 0 .4em}
h3{font-size:1.15rem;margin:.8em 0 .3em}
p{margin:.9em 0}.muted{color:var(--muted)}

ul{padding-left:20px}li{margin:.5em 0}
.badge{display:inline-block;border:1px solid var(--border);border-radius:999px;padding:6px 10px;margin:2px 8px 2px 0;background:#fafafa;font-size:.9rem}
table{width:100%;border-collapse:collapse;margin:10px 0;table-layout:auto;word-break:normal}
th,td{border-bottom:1px solid var(--border);padding:10px 8px;text-align:left;vertical-align:top}
.note{color:var(--muted);font-size:.95rem}
.cta{display:inline-block;background:var(--fg);color:#fff;text-decoration:none;font-weight:700;border-radius:4px;padding:10px 18px;margin-top:8px}
.cta:hover{background:var(--accent);color:var(--fg)}
footer{border-top:1px solid var(--border);margin-top:40px;padding:24px 0;text-align:center;color:var(--muted);font-size:.95rem}
hr{border:0;border-top:1px solid var(--border);margin:24px 0}
.copybox{border:1px dashed var(--border);border-radius:6px;padding:14px;background:#fcfcfc}
.small{font-size:.95rem}
.link-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tile{border:1px solid var(--border);padding:12px;border-radius:6px}
.hero-logo{max-width:120px;width:100%;height:auto;display:block;margin:12px 0}

nav .links{display:flex;flex:1 1 auto;justify-content:flex-end;align-items:center;gap:22px;white-space:nowrap}

@media (max-width: 640px){ .container{padding:20px 16px} nav{display:flex;align-items:center;gap:24px;padding:16px 0} }

@media (max-width: 820px){ nav{overflow-x:auto} }

/* Bottom quick navigation */
.bottom-nav{border-top:1px solid var(--border);margin-top:24px;padding-top:16px;display:flex;justify-content:flex-end}
.bottom-nav .next-link{font-weight:700;text-decoration:none;color:var(--fg)}
.bottom-nav .next-link:hover{color:var(--accent)}

/* Force homepage to inherit global font */

.brand img{height:48px !important;width:auto !important;}

.brand img{height:68px !important;width:auto !important;}
.brand{gap:4px !important;}
nav{gap:14px !important;}
.mdl-hero{margin-top:60px !important;padding:1rem !important;}

.brand img{height:92px !important;width:auto !important;}
.brand{gap:2px !important;}
nav .links{margin-left:6px !important;}


main.container{padding-top:16px !important;}


main.container{
  padding-top:40px !important;
  padding-bottom:40px !important;
}

/* Unified Card System */


/* Tight Section Headings Inside Cards (Option A) */
.card h2 {
  margin-top: 0 !important;
  margin-bottom: 10px !important;
}
.card p,
.card ul,
.card ol {
  margin-top: 8px !important;
  margin-bottom: 12px !important;
}

/* Page H1 Spacing Tightened */
main.container > h1 {
  margin-top: 20px !important;
  margin-bottom: 18px !important;
  line-height: 1.25 !important;
}

/* Ensure Performance / Philosophy / Membership / FAQ / Rules cards line up */
main.container {
  padding-top: 32px !important;
  padding-bottom: 32px !important;
}

.card {
  max-width: 900px !important;
  margin: 22px auto !important;
  padding: 26px 28px !important;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
}

/* Normalize card internal spacing site-wide */
.card {
  padding: 22px 24px !important;
}

/* Remove excess whitespace caused by default paragraph margins inside cards */
.card > *:first-child {
  margin-top: 0 !important;
}
.card > *:last-child {
  margin-bottom: 0 !important;
}

/* Reduce vertical gap between stacked cards specifically on home page */
main.container .card {
  margin-top: 22px !important;
  margin-bottom: 22px !important;
}


/* no purple visited */
a, a:visited, a:hover, a:active { color: inherit !important; text-decoration: none; }
a:hover { opacity: .9; }

/* home layout */
.home-main { padding-top: 6px; margin-top: 0; }
.home-wrap { display: flex; justify-content: center; }
.home-card { text-align: center; max-width: 880px; margin: 8px auto 16px; }
.home-tagline { margin: 4px 0 6px; }
.home-sub { margin: 4px auto 12px; max-width: 820px; }
.home-actions .btn { display: inline-block; margin: 0 10px; padding: 10px 16px; border-radius: 10px; border: 1px solid #ddd; text-decoration: none; }
.home-actions .btn:hover { opacity: .92; }


/* Home align/spacing (final) */
.home-main { padding-top: 6px; margin-top: 0; }
.home-card { text-align: center; max-width: 880px; margin: 10px auto 18px; }
.home-tagline { margin: 6px 0 8px; }
.home-sub { margin: 4px auto 14px; max-width: 920px; }
.home-actions .btn { display: inline-block; margin: 0 12px; padding: 10px 18px; border-radius: 10px; border: 1px solid #ddd; text-decoration: none; }
.home-actions .btn:hover { opacity: .92; }

/* no purple visited */
a, a:visited, a:hover, a:active { color: inherit !important; text-decoration: none; }
a:hover { opacity: .9; }


/* Home spacing + neutral link color */
.home-main { padding-top: 6px; margin-top: 0; }
.home-card { text-align: center; max-width: 900px; margin: 10px auto 18px; }
.home-actions .btn { display: inline-block; margin: 0 12px; padding: 10px 18px; border-radius: 10px; border: 1px solid #ddd; text-decoration: none; }
a, a:visited, a:hover, a:active { color: inherit !important; text-decoration: none; }
a:hover { opacity: .9; }


/* no purple visited final */
a, a:visited, a:hover, a:active { color: inherit !important; text-decoration: none; }
a:hover { opacity: .9; }


/* === Proof grid === */
.proof-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit,minmax(260px,1fr));
  gap:16px;
}
.proof-card{
  margin:0;
  border:1px solid rgba(0,0,0,.08);
  border-radius:12px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.proof-card img{
  display:block;
  width:100%;
  height:220px;
  object-fit:cover;
}
.proof-card figcaption{
  padding:10px 12px;
  font-size:.95rem;
  color:#39424e;
}
.table-wrap{overflow:auto}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:10px;border-bottom:1px solid rgba(0,0,0,.08);text-align:left;white-space:nowrap}
.table th{font-weight:700}
.muted{color:#5b6573}

/* === Madalytics Mobile Patch v1 (conservative) === */
.container{max-width:1040px;margin:0 auto;padding:0 16px;}
.card{border-radius:12px;}
.hero,.home-card{text-align:center;}
.hero h1{margin:8px 0 10px;}
.hero p{margin:0 0 16px;}
.home-card{margin:12px auto 20px;padding:18px;}
:root{--ml-lh:1.45;}
h1{line-height:var(--ml-lh);font-size:clamp(22px,5.5vw,36px);}
h2{line-height:var(--ml-lh);font-size:clamp(18px,4.8vw,28px);}
p{line-height:1.6;max-width:65ch;}
/* Buttons & tap targets */
.btn,.cta-gold,.btn-outline,.home-card a[href*="/performance"]{
  display:inline-block;padding:12px 20px;border-radius:8px;text-decoration:none;
  font-weight:600;font-size:16px;line-height:1;min-height:44px;min-width:44px;
}
/* Ensure outlined buttons are visibly clickable */
.btn-outline,.home-card a[href*="/performance"]{border:1.5px solid #111;color:#111;}
/* Images responsive */
img{max-width:100%;height:auto;display:block;}
/* Telegram links stack */
.telegram-list a{display:block;margin:8px 0;word-break:break-word;}
/* Section spacing */
section{padding:28px 0;}
/* Simple mobile stack for generic grids */
@media (max-width:640px){
  .grid-2,.grid-3{display:grid;grid-template-columns:1fr;gap:14px;}
  .card{padding:14px;}
  .btn,.cta-gold,.btn-outline,.home-card a[href*="/performance"]{width:100%;text-align:center;}
  section{padding:18px 0;}
  p{font-size:15px;}
}
/* === End Mobile Patch v1 === */

/* === Desktop NAV Font Fix (based on body font) === */
@media (min-width: 641px){
  /* Target typical structures used on this site */
  nav .links a, header nav a, header a { font-family:Georgia,'Times New Roman',serif !important;font-weight:600;letter-spacing:normal;word-spacing:normal;text-transform:none;font-style:normal;font-variant:normal;font-stretch:normal; }
}
/* === End Desktop NAV Font Fix === */


/* === Global readability & compactness overrides (Nov 1) === */
/* Use more horizontal space inside cards on desktop to reduce scrolling */
@media (min-width: 1024px) {
  .container .card p,
  .container .card li {
    max-width: 85ch !important; /* was 65ch */
  }
}

/* Slightly tighten vertical rhythm across all cards site-wide */
.container .card p { line-height: 1.55 !important; }
.container .card ul, .container .card ol { margin-top: 6px !important; margin-bottom: 10px !important; }
.container .card h2 { margin-bottom: 8px !important; }



/* === Sitewide Card Compaction & Readability — Nov 1 (ABE CONFIRMED) === */
/* Desktop: widen text measure inside cards to reduce white space */
@media (min-width: 1024px) {
  .container .card p,
  .container .card li {
    max-width: 85ch !important; /* default was ~65ch */
  }
  /* Tighten vertical rhythm without hurting readability */
  .container .card p { margin-top: 8px !important; margin-bottom: 10px !important; line-height: 1.55 !important; }
  .container .card ul, .container .card ol { margin-top: 6px !important; margin-bottom: 10px !important; }
  .container .card h2 { margin-bottom: 8px !important; }
}

/* Mobile: compact padding and spacing to avoid airy cards */
@media (max-width: 640px) {
  .container { padding: 24px 16px !important; }
  .card { padding: 16px 16px !important; border-radius: 12px !important; }
  main.container .card { margin-top: 16px !important; margin-bottom: 16px !important; }
  .card h1, .card h2, .card h3 { margin-top: 0 !important; margin-bottom: 6px !important; }
  .card p { margin-top: 6px !important; margin-bottom: 8px !important; line-height: 1.5 !important; }
  .card ul, .card ol { margin-top: 4px !important; margin-bottom: 8px !important; }
  .card li { margin: 4px 0 !important; }
  .card .muted, .card small, .card figcaption { margin-top: 4px !important; margin-bottom: 6px !important; }
  .card hr { margin: 10px 0 !important; }
}

/* Prevent accidental huge gaps from stray elements inside cards */
.container .card > *:first-child { margin-top: 0 !important; }
.container .card > *:last-child { margin-bottom: 0 !important; }



/* ================================
   Madalytics Typography Tokens (v1)
   Single source of truth for sizes
   ================================ */
:root {
  /* Desktop defaults */
  --h1: clamp(28px, 2.4vw, 34px);
  --h2: clamp(24px, 2.0vw, 28px);
  --h3: clamp(20px, 1.6vw, 22px);
  --body: 1rem;
  --small: 0.92rem;

  /* Mobile defaults */
  --h1-m: clamp(18px, 5.0vw, 22px);
  --h2-m: clamp(17px, 4.6vw, 20px);
  --h3-m: clamp(15px, 4.0vw, 18px);
  --body-m: 0.9rem;
  --small-m: 0.82rem;
  --table-m: 0.85rem;
}

/* Desktop mapping */
@media (min-width: 1024px) {
  body .container .card h1 { font-size: var(--h1) !important; line-height: 1.25 !important; }
  body .container .card h2 { font-size: var(--h2) !important; line-height: 1.28 !important; }
  body .container .card h3 { font-size: var(--h3) !important; line-height: 1.30 !important; }
  body .container .card p, body .container .card li { font-size: var(--body) !important; line-height: 1.55 !important; }
  body .container .card .muted, body .container .card small, body .container .card figcaption { font-size: var(--small) !important; line-height: 1.45 !important; }

  /* Keep compact desktop cards */
  body .container .card p, body .container .card li { max-width: 85ch !important; }
  body .container .card ul, body .container .card ol { margin-top: 6px !important; margin-bottom: 10px !important; }
  body .container .card h2 { margin-bottom: 8px !important; }
}

/* Mobile mapping */
@media (max-width: 640px) {
  body .container { padding: 24px 16px !important; }
  body .container .card { padding: 16px 16px !important; border-radius: 12px !important; }
  body main.container .card { margin-top: 16px !important; margin-bottom: 16px !important; }

  body .container .card h1 { font-size: var(--h1-m) !important; line-height: 1.25 !important; letter-spacing: 0.1px !important; }
  body .container .card h2 { font-size: var(--h2-m) !important; line-height: 1.28 !important; letter-spacing: 0.1px !important; }
  body .container .card h3 { font-size: var(--h3-m) !important; line-height: 1.30 !important; letter-spacing: 0.1px !important; }

  body .container .card p, body .container .card li { font-size: var(--body-m) !important; line-height: 1.55 !important; }
  body .container .card .muted, body .container .card small, body .container .card figcaption { font-size: var(--small-m) !important; line-height: 1.45 !important; }

  body .container .card .btn, body .container .card .btn-primary, body .container .card .btn-outline, body .container .cta-gold {
    font-size: var(--body-m) !important; padding: 12px 16px !important; border-radius: 10px !important;
  }

  
  /* Mobile table font scaling */
  body .container .card table,
  body .container .card th,
  body .container .card td {
    font-size: var(--table-m) !important;
    line-height: 1.45 !important;
  }

/* Tighten whitespace on mobile */
  body .container .card h1, body .container .card h2, body .container .card h3 { margin-top: 0 !important; margin-bottom: 6px !important; }
  body .container .card p { margin-top: 6px !important; margin-bottom: 8px !important; }
  body .container .card ul, body .container .card ol { margin-top: 4px !important; margin-bottom: 8px !important; }
  body .container .card li { margin: 4px 0 !important; }
  body .container .card hr { margin: 10px 0 !important; }
}

/* Guard against rogue inline sizes inside cards */
body .container .card * { max-width: 100%; }



/* === Madalytics footer responsive tuning (Nov 1) === */
footer .infra-line{font-size:0.96rem; color:#111; text-align:center; line-height:1.45}
footer .legal-line{margin-top:14px; color:#555; text-align:center; line-height:1.4}
footer .infra-line a{color:inherit; text-decoration:none; border-bottom:1px solid rgba(0,0,0,.08)}
footer .infra-line a:hover{border-bottom-color:rgba(0,0,0,.28)}

/* Small screens */
@media (max-width: 600px){
  footer .infra-line{font-size:0.86rem !important; line-height:1.35}
  footer .legal-line{font-size:0.80rem !important; margin-top:10px; line-height:1.3}
  footer .infra-line div{margin-top:6px}
  footer .container{padding-left:16px; padding-right:16px}
}

/* Very small screens */
@media (max-width: 400px){
  footer .infra-line{font-size:0.82rem !important; line-height:1.33}
  footer .legal-line{font-size:0.78rem !important}
}
/* === /footer tuning === */


/* --- Mobile-friendly pre/code blocks in cards (Execution Record) --- */
.card pre{
  white-space: pre-wrap;       /* allow wrapping */
  word-wrap: break-word;
  overflow-x: auto;
  font-size: 14px;
  line-height: 1.5;
  background: #fafafa;
  border: 1px solid #eee;
  border-radius: 8px;
  padding: .75rem;
}
@media (max-width: 640px){
  .card pre{font-size:13px; line-height:1.45; padding: .6rem;}
  .card h3, .card h2{font-size: 18px;}
  main h1{font-size: 32px;}
}
/* --- end --- */





/* Responsive equation image (mobile fills ~95%, desktop capped) */
.equation-figure{margin:.75rem 0 1rem 0; text-align:center;}
.equation-img{display:inline-block; height:auto; image-rendering:auto;}
@media (max-width: 1023.98px){
  .equation-img{ width:95%; max-width:95%; }
}
@media (min-width: 1024px){
  .equation-img{ width:auto; max-width:900px; }
}


/* Market Log archive styling */
.log-archive{list-style:none;padding-left:0;margin:8px 0}
.log-archive .log-entry{margin:.35em 0}
.log-archive .log-entry a{display:block;text-decoration:none;color:inherit;padding:6px 8px;border-radius:4px}
.log-archive .log-entry a:hover{background:#fafafa}
