/* Shared stylesheet for generated pages (compare/, alternatives/, compare.html).
   Tokens and base rules are copied verbatim from index.html; keep them in sync. */
:root{
  --primary-500:#5B8A72; --primary-600:#467260; --primary-400:#7BAF96;
  --primary-100:#EEF5F0; --primary-50:#F5FAF7;
  --neutral-900:#2D3E35; --neutral-700:#556B5E; --neutral-500:#96A89D;
  --neutral-300:#D4DED8; --neutral-100:#F0F5F2; --neutral-50:#FAFCFB;
  --accent-500:#8B7EC8; --warning-500:#C4A43E; --warning-100:#FBF6E4;
  --danger-500:#C45D5D;
  --serif:"Palatino Linotype", Palatino, Georgia, serif;
  --sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --radius:16px; --radius-bubble:22px; --max-w:1120px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{font-family:var(--sans);color:var(--neutral-900);background:var(--neutral-50);line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--serif);line-height:1.15;font-weight:600;text-wrap:balance}
h2{font-size:clamp(1.75rem,4vw,2.5rem)}
img,svg{max-width:100%;vertical-align:middle}
.container{max-width:var(--max-w);margin-inline:auto;padding-inline:20px}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.eyebrow{font-size:.8125rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--primary-600)}
a{color:var(--primary-500)}
:focus-visible{outline:3px solid var(--accent-500);outline-offset:2px;border-radius:4px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border-radius:var(--radius);font-family:var(--sans);font-size:1rem;font-weight:600;text-decoration:none;cursor:pointer;border:none;transition:background-color .2s,transform .15s}
.btn:active{transform:scale(.98)}
.btn-primary{background:var(--primary-600);color:#fff}
.btn-primary:hover{filter:brightness(.9)}
.btn-ghost{background:transparent;color:var(--primary-600);border:1.5px solid var(--primary-500)}
.btn-ghost:hover{background:var(--primary-100)}
section{padding-block:clamp(56px,9vw,104px)}
.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
.reveal.visible{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){.reveal{opacity:1;transform:none;transition:none}}
.site-header{position:sticky;top:0;z-index:50;background:rgba(250,252,251,.85);backdrop-filter:blur(10px);border-bottom:1px solid var(--neutral-300)}
.site-header .container{display:flex;align-items:center;justify-content:space-between;min-height:64px}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:1.25rem;font-weight:700;color:var(--neutral-900);text-decoration:none}
.brand-mark{height:30px;width:auto;display:block}
.site-footer{background:var(--neutral-100);border-top:1px solid var(--neutral-300);padding-block:32px;font-size:.875rem;color:var(--neutral-700)}
.site-footer .container{display:flex;flex-wrap:wrap;gap:16px 32px;align-items:center;justify-content:space-between}
.site-footer nav{display:flex;flex-wrap:wrap;gap:24px}
.site-footer a{color:var(--neutral-700);min-height:44px;display:inline-flex;align-items:center}
.waitlist-form{display:flex;flex-wrap:wrap;gap:12px;max-width:30rem}
.waitlist-form input{flex:1 1 220px;min-height:48px;padding:0 16px;font-size:1rem;font-family:var(--sans);color:var(--neutral-900);background:var(--neutral-100);border:1px solid var(--neutral-300);border-radius:var(--radius)}
.waitlist-form input::placeholder{color:var(--neutral-500)}
.waitlist-form input:focus{outline:none;border:2px solid var(--primary-500)}
.form-status{flex-basis:100%;font-size:.9375rem;min-height:1.4em;margin:0}
.form-status.success{color:var(--primary-600)}
.form-status.error{color:var(--danger-500)}
.micro{margin-top:12px;font-size:.8125rem;color:var(--neutral-700)}
.faq-inner{max-width:44rem}
.faq h2{margin:8px 0 24px}
.faq details{border-bottom:1px solid var(--neutral-300)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:44px;padding:18px 4px;font-weight:600;font-size:1.0625rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.5rem;color:var(--primary-500);flex-shrink:0;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
@media (prefers-reduced-motion: reduce){.faq summary::after{transition:none}}
.faq details p{padding:0 4px 20px;color:var(--neutral-700);max-width:60ch}
.final-cta{background:linear-gradient(135deg,var(--primary-600),var(--primary-500) 60%,var(--primary-400));color:#fff;text-align:center}
.final-cta h2{color:#fff;max-width:30ch;margin-inline:auto}
.final-cta>.container>p{margin:12px auto 28px;opacity:.9;max-width:44ch}
.final-cta .waitlist-form{margin-inline:auto;justify-content:center}
.final-cta .form-status.success{color:#fff}
.final-cta .form-status.error{color:var(--warning-100)}
.final-cta .micro{color:rgba(255,255,255,.75)}
.btn-cta{background:var(--neutral-50);color:var(--primary-600)}
.btn-cta:hover{background:#fff}
/* --- Comparison pages --- */
h1{font-size:clamp(2rem,5vw,3rem);letter-spacing:-.01em;margin-bottom:16px}
.cmp-hero{padding-block:clamp(48px,8vw,88px);background:
  radial-gradient(600px 420px at 15% 10%, var(--primary-100) 0%, transparent 70%),
  radial-gradient(520px 380px at 90% 25%, rgba(139,126,200,.16) 0%, transparent 70%)}
.cmp-hero .container{max-width:52rem}
.cmp-lede{font-size:1.125rem;color:var(--neutral-700);max-width:60ch}
.cmp-lede+.cmp-lede{margin-top:12px}
.breadcrumb{font-size:.875rem;color:var(--neutral-700);margin-bottom:20px}
.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px}
.breadcrumb li+li::before{content:"/";margin-right:6px;color:var(--neutral-500)}
.cmp-section{padding-block:clamp(40px,6vw,64px)}
.cmp-section.alt{background:var(--primary-50)}
.cmp-section h2{margin:8px 0 16px}
.cmp-section .container{max-width:52rem}
.cmp-section.wide .container{max-width:var(--max-w)}
.cmp-section p{color:var(--neutral-700);max-width:62ch}
.cmp-section p+p{margin-top:12px}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-block:20px;border:1px solid var(--neutral-300);border-radius:var(--radius);background:#fff}
table.cmp{width:100%;border-collapse:collapse;font-size:.9375rem;min-width:520px}
table.cmp caption{text-align:left;padding:14px 16px 6px;font-weight:700;color:var(--neutral-900)}
table.cmp th,table.cmp td{padding:12px 16px;text-align:left;vertical-align:top;border-top:1px solid var(--neutral-300)}
table.cmp thead th{border-top:none;font-family:var(--serif);font-size:1.0625rem;background:var(--neutral-50)}
table.cmp th[scope="row"]{font-weight:600;color:var(--neutral-900);width:34%}
table.cmp td{color:var(--neutral-700)}
table.cmp td.pp{background:var(--primary-50);color:var(--neutral-900)}
.mark{display:inline-flex;align-items:center;gap:6px;font-weight:600}
.mark-yes{color:var(--primary-600)}
.mark-no{color:var(--neutral-500)}
.mark-partial,.mark-planned,.mark-flag{color:#8a7222}
.mark-rewrite{color:var(--primary-600)}
.pros-grid{display:grid;gap:20px;margin-top:16px}
@media (min-width:768px){.pros-grid{grid-template-columns:1fr 1fr}}
.pros-card{background:#fff;border:1px solid var(--neutral-300);border-radius:var(--radius);padding:24px}
.pros-card h3{font-size:1.125rem;margin-bottom:12px}
.pros-card ul{padding-left:20px;color:var(--neutral-700);display:grid;gap:8px}
.tiers{display:grid;gap:16px;margin-top:16px}
@media (min-width:640px){.tiers{grid-template-columns:repeat(3,1fr)}}
.tier{background:#fff;border:1px solid var(--neutral-300);border-radius:var(--radius);padding:20px}
.tier h3{font-size:1.125rem}
.tier .price{font-family:var(--serif);font-size:1.5rem;margin:6px 0 2px;color:var(--primary-600)}
.tier small{color:var(--neutral-700)}
.tier p{font-size:.9375rem;margin-top:10px}
.cost-example{margin-top:20px;background:var(--primary-100);border-radius:var(--radius);padding:20px 24px}
.cost-example strong{color:var(--primary-600)}
.checklist{padding-left:20px;color:var(--neutral-700);display:grid;gap:10px;margin-top:12px}
.related{display:grid;gap:12px;margin-top:16px}
@media (min-width:640px){.related{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}
.related a{display:block;background:#fff;border:1px solid var(--neutral-300);border-radius:var(--radius);padding:16px 18px;text-decoration:none;color:var(--neutral-900);font-weight:600;min-height:44px}
.related a:hover{border-color:var(--primary-500);background:var(--primary-100)}
.related a small{display:block;font-weight:400;color:var(--neutral-700);margin-top:4px}
.card-grid{display:grid;gap:20px;margin-top:24px}
@media (min-width:640px){.card-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.card-grid{grid-template-columns:repeat(3,1fr)}}
.cmp-card{background:#fff;border:1px solid var(--neutral-300);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;gap:10px}
.cmp-card h3{font-size:1.25rem}
.cmp-card p{font-size:.9375rem}
.cmp-card .links{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:auto;padding-top:8px}
.cmp-card .links a{min-height:44px;display:inline-flex;align-items:center;font-weight:600}
.legal-note{font-size:.8125rem;color:var(--neutral-700);max-width:70ch;border-top:1px solid var(--neutral-300);padding-top:16px;margin-top:8px}
.cmp-section .faq-inner{max-width:52rem}
