/* AI Tool Glance — "editorial almanac": warm paper, ink, persimmon accent.
   Display: Fraunces (serif) · Body: Hanken Grotesk · Labels: Spline Sans Mono. */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600;9..144,700&family=Hanken+Grotesk:wght@400;500;600;700&family=Spline+Sans+Mono:wght@500;600&display=swap');

:root{
  --paper:#f6f1e6; --paper-2:#efe7d4; --card:#fbf8f1;
  --ink:#16130c; --body:#393428; --dim:#867c66; --line:#e2d9c5; --line-2:#ccc0a4;
  --accent:#d23a16; --accent-deep:#a52c0d; --accent-soft:#f6e7df;
  --green:#356b42; --amber:#9a560f;
  --serif:'Fraunces',Georgia,'Times New Roman',serif;
  --sans:'Hanken Grotesk','Segoe UI',system-ui,-apple-system,sans-serif;
  --mono:'Spline Sans Mono',ui-monospace,'SFMono-Regular',monospace;
  --max:880px; --read:720px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--sans);color:var(--body);background:var(--paper);
  line-height:1.68;font-size:17px;-webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;position:relative;overflow-x:hidden;
}
/* subtle paper grain */
body::before{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.045'/%3E%3C/svg%3E");
}
body>*{position:relative;z-index:1}
a{color:var(--accent);text-decoration:none}
a:hover{color:var(--accent-deep)}
img{max-width:100%}
::selection{background:var(--accent);color:#fff}

/* ---- header / masthead ---- */
.site-head{border-bottom:1.5px solid var(--ink);position:sticky;top:0;z-index:20;
  background:rgba(246,241,230,.88);backdrop-filter:blur(10px) saturate(1.2)}
.nav{max-width:var(--max);margin:0 auto;padding:15px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.logo{font-family:var(--serif);font-weight:600;font-size:23px;color:var(--ink);letter-spacing:-.4px;display:flex;align-items:center;gap:9px;font-optical-sizing:auto}
.logo .mark{color:var(--accent);font-size:15px;transform:translateY(-1px)}
.nav-links{display:flex;gap:22px}
.nav-links a{font-family:var(--mono);color:var(--ink);font-size:11.5px;font-weight:500;text-transform:uppercase;letter-spacing:.12em;padding-top:3px}
.nav-links a:hover{color:var(--accent)}

/* ---- shared column ---- */
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
main{padding:0 0 80px}

/* ---- kicker label ---- */
.kicker{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11.5px;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:18px}
.kicker::before{content:"◆";font-size:8px;color:var(--accent)}

/* ---- hero (home) ---- */
.hero{padding:72px 0 44px;border-bottom:1.5px solid var(--ink);position:relative}
.hero .wrap{position:relative}
.hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(40px,8.5vw,74px);line-height:1.02;
  letter-spacing:-1.5px;color:var(--ink);margin-bottom:22px;max-width:14ch;font-optical-sizing:auto;
  animation:rise .7s cubic-bezier(.2,.7,.2,1) both}
.hero h1 em{font-style:italic;color:var(--accent)}
.hero p{font-size:19px;color:var(--body);max-width:52ch;animation:rise .7s .08s cubic-bezier(.2,.7,.2,1) both}
.hero .kicker{animation:rise .6s both}

/* ---- article cards (magazine index) ---- */
#guides{padding:0}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:0;
  border-top:1px solid var(--line);margin-top:0}
.card{position:relative;display:flex;flex-direction:column;padding:26px 26px 24px;
  border-bottom:1px solid var(--line);border-right:1px solid var(--line);
  background:transparent;transition:background .25s ease, transform .25s ease;
  animation:rise .6s both}
.card:hover{background:var(--card)}
.card .cat{font-family:var(--mono);font-size:10.5px;font-weight:600;color:var(--accent);
  text-transform:uppercase;letter-spacing:.13em;margin-bottom:14px}
.card h3{font-family:var(--serif);font-weight:500;font-size:23px;line-height:1.18;
  color:var(--ink);letter-spacing:-.4px;margin-bottom:10px;font-optical-sizing:auto}
.card:hover h3{color:var(--accent-deep)}
.card p{color:var(--dim);font-size:14.5px;line-height:1.55;flex:1}
.card .meta{margin-top:18px;font-family:var(--mono);font-size:11px;color:var(--dim);
  letter-spacing:.04em;display:flex;align-items:center;gap:8px}
.card .meta::before{content:"→";color:var(--accent);font-family:var(--sans);transition:transform .25s ease}
.card:hover .meta::before{transform:translateX(4px)}

/* about block on home */
#about{border-bottom:1px solid var(--line)}
#about h2{font-family:var(--serif)!important;font-weight:500!important}

/* ---- article ---- */
.article{max-width:var(--read);padding-top:54px}
.article .kicker{margin-bottom:18px}
.article h1{font-family:var(--serif);font-weight:500;font-size:clamp(31px,5.6vw,50px);line-height:1.06;
  letter-spacing:-1px;color:var(--ink);margin-bottom:20px;font-optical-sizing:auto}
.byline{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:var(--dim);
  font-family:var(--mono);font-size:12px;letter-spacing:.03em;padding-bottom:26px;margin-bottom:30px;border-bottom:1.5px solid var(--ink)}
.article h2{font-family:var(--serif);font-size:28px;font-weight:500;color:var(--ink);letter-spacing:-.5px;
  line-height:1.15;margin:48px 0 16px;font-optical-sizing:auto}
.article h3{font-family:var(--serif);font-size:21px;font-weight:500;color:var(--ink);margin:30px 0 10px}
.article p{margin:0 0 20px}
.article ul{margin:0 0 20px;padding-left:0;list-style:none}
.article>ul>li,.article main li{position:relative}
.article>ul li{position:relative;padding-left:26px;margin-bottom:11px}
.article>ul li::before{content:"";position:absolute;left:4px;top:12px;width:7px;height:1.5px;background:var(--accent)}
.lede{font-size:21px;line-height:1.55;color:var(--ink);font-weight:400}
.lede::first-letter{font-family:var(--serif);font-weight:600;float:left;font-size:64px;line-height:.78;
  padding:6px 12px 0 0;color:var(--accent)}

/* ---- comparison table (ledger) ---- */
.table-wrap{overflow-x:auto;margin:28px 0;border:1.5px solid var(--ink)}
table{width:100%;border-collapse:collapse;font-size:14.5px;min-width:540px}
thead{background:var(--ink)}
th{text-align:left;padding:11px 14px;color:var(--paper);font-family:var(--mono);font-weight:500;
  font-size:11px;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}
td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:middle}
tbody tr:nth-child(even){background:rgba(0,0,0,.018)}
tbody tr:last-child td{border-bottom:none}
td strong{color:var(--ink);font-weight:700}
.best{color:var(--accent-deep);font-weight:700;position:relative}
td.best::before{content:"★ ";font-size:11px;vertical-align:1px}

/* ---- tool block ---- */
.tool{position:relative;border-top:1.5px solid var(--ink);padding:26px 0 8px;margin:24px 0 36px}
.tool h3{font-family:var(--serif);font-weight:500;font-size:25px;color:var(--ink);display:flex;align-items:baseline;margin:0 0 6px;letter-spacing:-.4px}
.tool .rank{font-family:var(--serif);font-weight:600;font-size:30px;color:var(--accent);
  margin-right:14px;line-height:1;min-width:0;background:none;width:auto;height:auto;display:inline}
.tool .rank::after{content:".";color:var(--line-2)}
.tool .for{font-family:var(--mono);font-size:11px;font-weight:500;color:var(--accent-deep);
  text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px;background:var(--accent-soft);
  display:inline-block;padding:4px 9px}
.proscons{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:16px 0;
  padding:16px 18px;background:var(--card);border:1px solid var(--line)}
@media(max-width:560px){.proscons{grid-template-columns:1fr;gap:12px}}
.proscons .h{font-family:var(--mono);font-weight:600;color:var(--ink);margin-bottom:8px;font-size:10.5px;text-transform:uppercase;letter-spacing:.1em}
.pros ul,.cons ul{list-style:none}
.pros li,.cons li{list-style:none;position:relative;padding-left:20px;margin-bottom:7px;font-size:14.5px}
.pros li::before{content:"+";position:absolute;left:0;color:var(--green);font-weight:700;font-family:var(--mono)}
.cons li::before{content:"–";position:absolute;left:0;color:var(--amber);font-weight:700;font-family:var(--mono)}
.price-row{font-size:13.5px;color:var(--dim);margin-top:12px;font-family:var(--mono);letter-spacing:.01em;line-height:1.5}
.price-row b{color:var(--ink);font-weight:600}

/* ---- CTA / affiliate ---- */
.cta{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:#fff;font-weight:600;
  padding:12px 24px;margin-top:16px;font-size:15px;letter-spacing:.01em;
  box-shadow:3px 3px 0 var(--ink);transition:transform .14s ease,box-shadow .14s ease,background .14s ease}
.cta:hover{color:#fff;background:var(--accent-deep);transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--ink)}
.cta:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--ink)}
.disclosure{background:var(--paper-2);border-left:3px solid var(--accent);padding:13px 17px;
  font-size:13px;color:var(--body);margin:22px 0;line-height:1.55}

/* ---- footer ---- */
.site-foot{border-top:1.5px solid var(--ink);background:var(--paper-2);margin-top:64px}
.foot-inner{max-width:var(--max);margin:0 auto;padding:34px 24px;font-size:13px;color:var(--dim);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;font-family:var(--mono);letter-spacing:.02em}
.foot-inner a{color:var(--ink)}
.foot-inner a:hover{color:var(--accent)}

/* ---- motion ---- */
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.card:nth-child(1){animation-delay:.04s}.card:nth-child(2){animation-delay:.09s}
.card:nth-child(3){animation-delay:.14s}.card:nth-child(4){animation-delay:.19s}
.card:nth-child(5){animation-delay:.24s}.card:nth-child(6){animation-delay:.28s}
@media(prefers-reduced-motion:reduce){*{animation:none!important}}

/* ---- responsive ---- */
@media(max-width:600px){
  body{font-size:16px}
  .nav{padding:13px 18px}
  .nav-links{gap:15px}
  .wrap{padding:0 18px}
  .hero{padding:48px 0 34px}
  .hero p{font-size:17px}
  .cards{grid-template-columns:1fr}
  .card{border-right:none}
  .article{padding-top:38px}
  .lede{font-size:19px}
  .lede::first-letter{font-size:54px}
  .article h2{font-size:24px}
}
