/* =========================================================
   SEORiddhi v3 — redesign
   Palette: charcoal ink, warm paper, coral signal, teal link
   Type: Sora (display), Inter (body), IBM Plex Mono (data)
   Signature: rank-badge (#01,#02..) — sites ARE literally ranked lists
   ========================================================= */
@import url('https://fonts.googleapis.com/css2?family=Sora:wght@600;700;800&family=Inter:wght@400;500;600;700&family=IBM+Plex+Mono:wght@500;600&display=swap');

:root{
  --ink:        #1B1B1F;
  --ink-soft:   #56575F;
  --paper:      #FBF9F6;
  --paper-dim:  #F0EDE7;
  --card:       #FFFFFF;
  --line:       #E4E0D8;
  --coral:      #FF4E42;
  --coral-ink:  #3A0F0C;
  --teal:       #0E7C7B;
  --teal-dim:   #E3F2F1;
  --gold:       #F2A93B;
  --radius:     16px;
  --maxw:       1140px;
  --shadow:     0 2px 4px rgba(27,27,31,.05), 0 14px 32px -16px rgba(27,27,31,.22);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:'Inter',system-ui,sans-serif;font-size:16px;line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:var(--teal);text-decoration:none;}
a:hover{text-decoration:underline;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
h1,h2,h3{font-family:'Sora',sans-serif;color:var(--ink);line-height:1.15;margin:0 0 .5em;letter-spacing:-.01em;}
.mono{font-family:'IBM Plex Mono',monospace;letter-spacing:.02em;}
:focus-visible{outline:3px solid var(--teal);outline-offset:2px;}
@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important;}}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(251,249,246,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);}
.header-inner{max-width:var(--maxw);margin:0 auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.logo{font-family:'Sora',sans-serif;font-weight:800;font-size:21px;color:var(--ink);display:flex;align-items:center;gap:7px;}
.logo .badge{width:26px;height:26px;border-radius:7px;background:var(--coral);color:#fff;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;font-family:'IBM Plex Mono';}
nav.primary-nav > ul{display:flex;list-style:none;margin:0;padding:0;gap:2px;}
nav.primary-nav > ul > li{position:relative;}
nav.primary-nav > ul > li > a{display:block;padding:10px 14px;border-radius:8px;color:var(--ink);font-weight:600;font-size:14.5px;}
nav.primary-nav > ul > li:hover > a{background:var(--paper-dim);text-decoration:none;}
nav.primary-nav ul li ul{list-style:none;margin:0;padding:8px;position:absolute;top:100%;left:0;background:var(--card);border:1px solid var(--line);border-radius:12px;min-width:300px;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .15s ease, transform .15s ease;}
nav.primary-nav ul li:hover > ul{opacity:1;visibility:visible;transform:translateY(0);}
nav.primary-nav ul li ul li a{display:flex;gap:8px;align-items:baseline;padding:9px 12px;border-radius:8px;font-size:13.5px;color:var(--ink-soft);font-weight:500;}
nav.primary-nav ul li ul li a:hover{background:var(--teal-dim);color:var(--ink);text-decoration:none;}
.nav-toggle{display:none;}
@media (max-width:900px){nav.primary-nav{display:none;} .nav-toggle{display:inline-flex;}}

/* Buttons / badges */
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:10px;font-weight:700;font-size:14.5px;background:var(--coral);color:#fff;border:none;}
.btn:hover{background:var(--ink);text-decoration:none;color:#fff;}
.btn.ghost{background:transparent;color:var(--ink);border:2px solid var(--ink);}
.btn.ghost:hover{background:var(--ink);color:var(--paper);}
.pill{display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:11.5px;font-weight:600;padding:4px 10px;border-radius:6px;background:var(--teal-dim);color:var(--teal);letter-spacing:.03em;}
.pill.gold{background:#FCEDD3;color:#8A5A0A;}

/* Hero */
.hero{padding:60px 0 44px;border-bottom:1px solid var(--line);background:
  radial-gradient(circle at 85% 20%, rgba(255,78,66,.08), transparent 55%);}
.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center;}
.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:12.5px;font-weight:600;color:var(--coral);display:flex;align-items:center;gap:8px;margin-bottom:14px;text-transform:uppercase;}
.hero h1{font-size:clamp(32px,4.8vw,50px);max-width:640px;}
.hero p.lede{font-size:18px;color:var(--ink-soft);max-width:520px;margin-bottom:24px;}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;}

/* Rank meter graphic (replaces old "ladder/rung" concept) */
.rankmeter{background:var(--ink);border-radius:20px;padding:22px;max-width:340px;margin-left:auto;}
.rankmeter .rm-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.08);}
.rankmeter .rm-row:last-child{border-bottom:none;}
.rankmeter .rm-badge{width:30px;height:30px;border-radius:8px;background:rgba(255,255,255,.08);color:#fff;font-family:'IBM Plex Mono';font-weight:700;font-size:12.5px;display:flex;align-items:center;justify-content:center;}
.rankmeter .rm-row.first .rm-badge{background:var(--coral);}
.rankmeter .rm-label{color:#EDEBE7;font-size:13.5px;font-weight:600;flex:1;}
.rankmeter .rm-bar{height:6px;width:60px;border-radius:4px;background:rgba(255,255,255,.12);overflow:hidden;}
.rankmeter .rm-bar span{display:block;height:100%;background:var(--coral);}

/* Section headers */
.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:56px 0 24px;flex-wrap:wrap;}
.section-head h2{font-size:25px;margin:0;}

/* Cards / grid */
.post-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:16px;}
@media (max-width:760px){.post-grid{grid-template-columns:1fr;}}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;display:flex;flex-direction:column;gap:10px;transition:transform .15s ease, box-shadow .15s ease;}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow);}
.card h3{font-size:18.5px;margin:0;}
.card h3 a{color:var(--ink);}
.card h3 a:hover{color:var(--coral);text-decoration:none;}
.card p{color:var(--ink-soft);font-size:14.5px;margin:0;flex:1;}
.card .meta{font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:var(--ink-soft);display:flex;gap:10px;align-items:center;}
.card .readmore{font-weight:700;font-size:13.5px;color:var(--coral);}

/* Article page */
.breadcrumb{font-size:13px;color:var(--ink-soft);margin:22px 0;}
.breadcrumb a{color:var(--ink-soft);}
.post-head{padding-bottom:28px;border-bottom:1px solid var(--line);margin-bottom:32px;}
.post-head h1{font-size:clamp(27px,3.8vw,40px);max-width:820px;}
.post-meta{display:flex;gap:16px;align-items:center;flex-wrap:wrap;font-size:13.5px;color:var(--ink-soft);margin-top:14px;}
.post-meta .avatar{width:26px;height:26px;border-radius:50%;background:var(--teal-dim);color:var(--teal);display:flex;align-items:center;justify-content:center;font-family:'Sora';font-weight:700;font-size:12px;}

.post-layout{display:grid;grid-template-columns:210px 1fr;gap:48px;}
@media (max-width:820px){.post-layout{grid-template-columns:1fr;}}
.toc{position:sticky;top:96px;align-self:start;}
.toc .toc-title{font-family:'IBM Plex Mono',monospace;font-size:11.5px;font-weight:700;color:var(--ink-soft);margin-bottom:10px;letter-spacing:.05em;}
.toc ol{list-style:none;margin:0;padding:0;counter-reset:toc;border-left:2px solid var(--line);}
.toc ol li{counter-increment:toc;padding:6px 0 6px 14px;margin-left:-2px;}
.toc ol li a{font-size:13px;color:var(--ink-soft);font-weight:600;}
.toc ol li a:hover{color:var(--coral);text-decoration:none;}
.toc ol li a::before{content:counter(toc,decimal-leading-zero)"  ";font-family:'IBM Plex Mono',monospace;color:var(--coral);}

.post-body p{margin:0 0 18px;color:var(--ink-soft);}
.post-body h2{font-size:23px;margin-top:42px;scroll-margin-top:100px;}
.post-body h3{font-size:18px;margin-top:28px;}
.post-body h2 .idx{font-family:'IBM Plex Mono',monospace;color:var(--coral);font-size:15px;margin-right:8px;}
.post-body ul,.post-body ol{padding-left:0;list-style:none;margin:0 0 20px;}
.post-body ul li,.post-body ol li{position:relative;padding-left:30px;margin-bottom:10px;color:var(--ink-soft);}
.post-body ul li::before{content:"";position:absolute;left:0;top:7px;width:14px;height:14px;border-radius:4px;background:var(--teal-dim);border:2px solid var(--teal);}
.post-body ol{counter-reset:ol;}
.post-body ol li{counter-increment:ol;}
.post-body ol li::before{content:counter(ol);font-family:'IBM Plex Mono',monospace;font-size:10.5px;font-weight:700;color:var(--coral-ink);left:0;top:1px;width:18px;height:18px;border-radius:5px;background:#FDE2DF;border:none;display:flex;align-items:center;justify-content:center;}
.post-body strong{color:var(--ink);}

.table-scroll{overflow-x:auto;margin:18px 0 8px;border:1px solid var(--line);border-radius:12px;}
.list-table{width:100%;border-collapse:collapse;font-size:14px;min-width:420px;}
.list-table th{background:var(--ink);color:#fff;text-align:left;padding:10px 14px;font-family:'IBM Plex Mono',monospace;font-size:11.5px;letter-spacing:.03em;white-space:nowrap;}
.list-table td{padding:9px 14px;border-bottom:1px solid var(--line);color:var(--ink-soft);white-space:nowrap;}
.list-table td:first-child{font-family:'IBM Plex Mono',monospace;color:var(--coral);font-weight:600;}
.list-table tr:nth-child(even) td{background:var(--paper-dim);}
.list-table tr:hover td{background:var(--teal-dim);}

details.faq{border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:10px;background:var(--card);}
details.faq summary{font-weight:700;cursor:pointer;font-size:15px;color:var(--ink);}
details.faq[open] summary{color:var(--coral);}
details.faq p{margin-top:10px;}

.cta-box{margin:48px 0;border-radius:var(--radius);background:var(--ink);padding:32px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.cta-box h3{margin:0 0 4px;font-size:21px;color:#fff;}
.cta-box p{margin:0;color:#B9B8C0;}
.cta-box .btn:hover{color:var(--coral);}

.post-nav{display:flex;justify-content:space-between;gap:16px;margin:40px 0;flex-wrap:wrap;}
.post-nav a{flex:1;border:1px solid var(--line);border-radius:12px;padding:14px 16px;font-size:13.5px;color:var(--ink);font-weight:600;}
.post-nav a:hover{border-color:var(--coral);text-decoration:none;}
.post-nav a small{display:block;font-family:'IBM Plex Mono',monospace;color:var(--ink-soft);font-weight:500;margin-bottom:4px;text-transform:uppercase;font-size:11px;}

.static-page{padding:48px 0 80px;max-width:760px;}
.static-page h1{font-size:34px;}
.static-page p,.static-page li{color:var(--ink-soft);}

.pagination{display:flex;gap:8px;justify-content:center;margin:32px 0 64px;}
.pagination a,.pagination span{min-width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:8px;font-family:'IBM Plex Mono',monospace;font-size:13px;font-weight:600;color:var(--ink);}
.pagination a.active,.pagination span.active{background:var(--ink);color:var(--coral);border-color:var(--ink);}

/* Footer */
footer.site-footer{background:var(--ink);color:#C9C8D0;margin-top:40px;}
.footer-top{padding:56px 0 32px;}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:32px;}
@media (max-width:800px){.footer-grid{grid-template-columns:1fr 1fr;}}
.footer-grid h4{font-family:'IBM Plex Mono',monospace;color:#fff;font-size:12.5px;letter-spacing:.05em;margin:0 0 14px;text-transform:uppercase;}
.footer-grid ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;}
.footer-grid a{color:#AEACB8;font-size:14px;}
.footer-grid a:hover{color:var(--coral);text-decoration:none;}
.footer-brand .logo{color:#fff;}
.footer-brand p{color:#9C9BA6;font-size:14px;max-width:280px;}
.footer-bottom{border-top:1px solid #2E2D38;padding:18px 0;display:flex;justify-content:space-between;font-size:12.5px;color:#7C7B87;flex-wrap:wrap;gap:8px;}
