/* AdvisorReview Design System v1 — purple + gold, mobile-first */
:root{
  --ar-purple:#7C3AED; --ar-purple-deep:#6D28D9; --ar-purple-tint:#FAF5FF;
  --ar-gold:#F59E0B; --ar-gold-soft:#FEF3C7;
  --ar-ink:#0F172A; --ar-muted:#475569; --ar-border:#EDE9FE;
  --ar-pos:#16A34A; --ar-neg:#DC2626; --ar-card:#FFFFFF;
  --ar-r:12px; --ar-r-sm:8px;
  --ar-s1:8px; --ar-s2:16px; --ar-s3:24px; --ar-s4:32px; --ar-s5:48px; --ar-s6:96px;
}
html{-webkit-text-size-adjust:100%}
body{color:var(--ar-ink);font-size:16px;line-height:1.6;overflow-x:hidden}
img{max-width:100%;height:auto}

/* ---- Type scale ---- */
.ar-h1,h1.entry-title,.single h1{font-family:Poppins,sans-serif;font-weight:700;font-size:clamp(28px,6vw,40px);line-height:1.2;color:var(--ar-ink);margin:0 0 var(--ar-s2)}
h2,.ar-h2{font-family:Poppins,sans-serif;font-weight:600;font-size:clamp(22px,4.5vw,28px);line-height:1.3;margin:var(--ar-s4) 0 var(--ar-s2)}
h3,.ar-h3{font-family:Poppins,sans-serif;font-weight:600;font-size:clamp(18px,3.5vw,22px);line-height:1.35;margin:var(--ar-s3) 0 var(--ar-s1)}
p,li{font-size:clamp(16px,2.2vw,17px);line-height:1.6}
.ar-meta{font-size:14px;line-height:1.4;color:var(--ar-muted);font-weight:500}
a{color:var(--ar-purple-deep);text-underline-offset:3px}
a:hover{color:var(--ar-purple)}

/* ---- Accessibility ---- */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--ar-purple);outline-offset:2px;border-radius:4px}
.ar-tap{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* ---- Buttons ---- */
.ar-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 22px;border-radius:var(--ar-r-sm);font-family:'Source Sans 3',sans-serif;font-weight:600;font-size:16px;text-decoration:none;border:2px solid transparent;transition:transform .15s ease,box-shadow .15s ease}
.ar-btn:hover{transform:translateY(-1px)}
.ar-btn-cta{background:var(--ar-gold);color:var(--ar-ink)!important;box-shadow:0 2px 0 #B45309}
.ar-btn-cta:hover{background:#FBBF24;color:var(--ar-ink)!important}
.ar-btn-primary{background:var(--ar-purple);color:#fff!important}
.ar-btn-primary:hover{background:var(--ar-purple-deep);color:#fff!important}
.ar-btn-ghost{background:transparent;color:var(--ar-purple-deep)!important;border-color:var(--ar-border)}
.ar-btn-block{width:100%}

/* ---- Pills / badges ---- */
.ar-pill{display:inline-block;padding:4px 12px;border-radius:999px;background:var(--ar-purple);color:#fff;font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:uppercase}
.ar-pill-soft{background:var(--ar-purple-tint);color:var(--ar-purple-deep)}

/* ---- Cards ---- */
.ar-card{background:var(--ar-card);border:1px solid var(--ar-border);border-radius:var(--ar-r);padding:var(--ar-s2);height:100%}
@media(min-width:768px){.ar-card{padding:var(--ar-s3)}}
.ar-card img{border-radius:var(--ar-r-sm);aspect-ratio:16/9;object-fit:cover;width:100%}

/* ---- Comparison table: real table desktop, stacked cards mobile ---- */
.ar-compare{width:100%;border-collapse:collapse;font-size:15px}
.ar-compare th,.ar-compare td{padding:12px;border:1px solid var(--ar-border);text-align:left;vertical-align:top}
.ar-compare thead th{background:var(--ar-purple);color:#fff;font-family:Poppins,sans-serif;font-weight:600}
.ar-compare tbody tr:nth-child(even){background:var(--ar-purple-tint)}
@media(max-width:767px){
  .ar-compare,.ar-compare tbody,.ar-compare tr,.ar-compare td{display:block;width:100%}
  .ar-compare thead{display:none}
  .ar-compare tr{margin-bottom:var(--ar-s2);border:1px solid var(--ar-border);border-radius:var(--ar-r);overflow:hidden;background:var(--ar-card)}
  .ar-compare tbody tr:nth-child(even){background:var(--ar-card)}
  .ar-compare td{border:0;border-bottom:1px solid var(--ar-border);display:flex;justify-content:space-between;gap:var(--ar-s2)}
  .ar-compare td:last-child{border-bottom:0}
  .ar-compare td::before{content:attr(data-label);font-weight:600;color:var(--ar-muted);flex:0 0 42%;font-size:14px}
}

/* ---- Pros & Cons ---- */
.ar-proscons{display:grid;grid-template-columns:1fr;gap:var(--ar-s2);margin:var(--ar-s3) 0}
@media(min-width:768px){.ar-proscons{grid-template-columns:1fr 1fr}}
.ar-pros,.ar-cons{border-radius:var(--ar-r);padding:var(--ar-s2);border:1px solid var(--ar-border)}
.ar-pros{background:#F0FDF4;border-color:#BBF7D0}
.ar-cons{background:#FEF2F2;border-color:#FECACA}
.ar-pros h3,.ar-cons h3{margin-top:0;font-size:18px}
.ar-pros ul,.ar-cons ul{list-style:none;padding:0;margin:0}
.ar-pros li,.ar-cons li{padding-left:28px;position:relative;margin-bottom:10px;font-size:16px}
.ar-pros li::before{content:'\2713';position:absolute;left:0;color:var(--ar-pos);font-weight:700}
.ar-cons li::before{content:'\2715';position:absolute;left:0;color:var(--ar-neg);font-weight:700}

/* ---- Product card (affiliate) ---- */
.ar-product{border:1px solid var(--ar-border);border-radius:var(--ar-r);background:var(--ar-card);padding:var(--ar-s2);display:flex;flex-direction:column;gap:var(--ar-s1)}
.ar-product .ar-verdict{font-weight:600;color:var(--ar-purple-deep)}
.ar-disclosure{font-size:13px;color:var(--ar-muted);line-height:1.4;margin-top:var(--ar-s1)}
.ar-disclosure-banner{background:var(--ar-purple-tint);border-left:4px solid var(--ar-purple);padding:12px 16px;border-radius:var(--ar-r-sm);font-size:14px;color:var(--ar-muted);margin:var(--ar-s2) 0}

/* ---- Author box ---- */
.ar-author{display:flex;gap:var(--ar-s2);align-items:flex-start;background:var(--ar-purple-tint);border:1px solid var(--ar-border);border-radius:var(--ar-r);padding:var(--ar-s2);margin:var(--ar-s4) 0}
.ar-author img,.ar-author .ar-avatar{width:56px;height:56px;border-radius:50%;flex:0 0 56px;border:3px solid var(--ar-purple);object-fit:cover}
.ar-author .ar-name{font-family:Poppins,sans-serif;font-weight:600;font-size:17px;margin:0}
.ar-author .ar-role{font-size:14px;color:var(--ar-muted);margin:2px 0 6px}

/* ---- FAQ ---- */
.ar-faq details{border:1px solid var(--ar-border);border-radius:var(--ar-r-sm);margin-bottom:var(--ar-s1);background:var(--ar-card)}
.ar-faq summary{cursor:pointer;list-style:none;padding:14px var(--ar-s2);min-height:44px;display:flex;align-items:center;justify-content:space-between;font-family:Poppins,sans-serif;font-weight:600;font-size:16px}
.ar-faq summary::-webkit-details-marker{display:none}
.ar-faq summary::after{content:'+';color:var(--ar-purple);font-size:22px;line-height:1}
.ar-faq details[open] summary::after{content:'\2212'}
.ar-faq details p{padding:0 var(--ar-s2) var(--ar-s2);margin:0;color:var(--ar-muted)}

/* ---- Trust band ---- */
.ar-trust{display:grid;grid-template-columns:1fr;gap:var(--ar-s2)}
@media(min-width:768px){.ar-trust{grid-template-columns:repeat(3,1fr)}}
.ar-trust .ar-card{border-top:4px solid var(--ar-purple)}

/* ---- TLDR ---- */
.ar-tldr{background:var(--ar-gold-soft);border-left:4px solid var(--ar-gold);border-radius:var(--ar-r-sm);padding:var(--ar-s2);margin:var(--ar-s3) 0}
.ar-tldr h3{margin-top:0;font-size:17px}

/* ---- Sections ---- */
.ar-section-alt{background:var(--ar-purple-tint)}
.ar-grid{display:grid;grid-template-columns:1fr;gap:var(--ar-s2)}
@media(min-width:600px){.ar-grid-2{grid-template-columns:repeat(2,1fr)}}
@media(min-width:900px){.ar-grid-3{grid-template-columns:repeat(3,1fr)}.ar-grid-4{grid-template-columns:repeat(4,1fr)}}