/* ScoreStory comparisons: the hub and every comparison page
   (layouts/compare.njk). Everything is prefixed `cmp-`: style.css already
   has a `.compare` (the score 9 / score 6 example), and sharing that name
   would inherit its flex column. */

.cmp-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Hero, with the breadcrumbs above the heading */
.cmp-hero{padding:28px 0 56px;background:radial-gradient(90% 70% at 100% 0%,rgba(19,163,125,.10),transparent 60%),var(--white)}
.cmp-crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:4px 0;font-size:.86rem;color:var(--muted)}
.cmp-crumbs li{display:flex;align-items:center;min-width:0}
.cmp-crumbs li+li::before{content:"";width:6px;height:6px;border-right:1.5px solid var(--line);border-top:1.5px solid var(--line);transform:rotate(45deg);margin:0 12px 0 8px;flex:none}
.cmp-crumbs a{color:var(--green-deep);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(11,129,95,.35)}
.cmp-crumbs a:hover{text-decoration-color:currentColor}
.cmp-crumbs [aria-current]{color:var(--ink);font-weight:500;overflow-wrap:anywhere}
.cmp-hero-head{max-width:820px;margin-top:44px}
.cmp-title{font-size:clamp(2.2rem,4.4vw,3.4rem);color:var(--navy);margin-top:18px}
.cmp-lede{font-size:1.15rem;color:var(--muted);margin-top:20px;max-width:62ch}
.cmp-asof{margin-top:22px;font-size:.88rem;line-height:1.6;color:var(--muted);max-width:70ch}
.cmp-asof::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green);margin-right:10px;vertical-align:1px}
.cmp-asof a{margin-left:6px;white-space:nowrap;color:var(--green-deep);text-decoration:underline;text-underline-offset:3px}

/* Body copy */
.cmp-body{padding-top:16px;padding-bottom:40px}
.cmp-sec{padding:56px 0 0;max-width:820px}
.cmp-sec.wide{max-width:none}
.cmp-sec h2{font-size:clamp(1.7rem,2.8vw,2.2rem);color:var(--navy);margin-bottom:18px}
.cmp-sec h3{font-family:'Inter';font-weight:700;font-size:1.06rem;color:var(--ink);margin:28px 0 8px;letter-spacing:0;line-height:1.35}
.cmp-sec p{color:var(--ink);font-size:1.04rem;line-height:1.72;margin-bottom:1em;max-width:70ch}
.cmp-sec p.cmp-note{color:var(--muted);font-size:.94rem}
.cmp-sec ul.cmp-list{list-style:none;display:flex;flex-direction:column;gap:12px;margin:8px 0 18px;max-width:70ch}
.cmp-sec ul.cmp-list li{position:relative;padding-left:26px;font-size:1.02rem;line-height:1.65;color:var(--ink)}
.cmp-sec ul.cmp-list li::before{content:"";position:absolute;left:4px;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--green)}
.cmp-sec a,.cmp-faq-a a,.cmp-sources a{color:var(--green-deep);text-decoration:underline;text-underline-offset:3px}
.cmp-sec strong{color:var(--navy)}

/* Two short columns: what each product is for, where each one is the
   better choice */
.cmp-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:8px}
.cmp-duo > div{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px 28px 22px;box-shadow:var(--shadow)}
.cmp-duo > div.cmp-ours{border-top:4px solid var(--green)}
.cmp-duo > div.cmp-theirs{border-top:4px solid var(--blue)}
.cmp-duo h3{margin-top:0}
.cmp-duo p{font-size:.98rem}
.cmp-duo ul.cmp-list{margin-bottom:6px}
.cmp-duo ul.cmp-list li{font-size:.97rem}

/* The comparison table: three columns on a wide screen, one card per row
   below 760px (see compare-table.njk for the ARIA roles that keep it a
   table either way). */
.cmp-table-wrap{margin-top:8px}
.cmp-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);font-size:.95rem}
/* Rounded corners on the corner cells rather than overflow:hidden on the
   table, which clips the caption above it. */
@media(min-width:761px){
  .cmp-table thead th:first-child{border-top-left-radius:var(--radius)}
  .cmp-table thead th:last-child{border-top-right-radius:var(--radius)}
  .cmp-table tbody tr:last-child th{border-bottom-left-radius:var(--radius)}
  .cmp-table tbody tr:last-child td:last-child{border-bottom-right-radius:var(--radius)}
}
.cmp-table caption{caption-side:top;text-align:left;font-size:.9rem;color:var(--muted);padding:0 0 12px}
.cmp-table th,.cmp-table td{text-align:left;vertical-align:top;padding:16px 18px;border-top:1px solid var(--line);line-height:1.5}
.cmp-table thead th{border-top:0;background:#F5F6FA;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700}
.cmp-table thead th.cmp-col-ss{color:var(--green-deeper)}
.cmp-table tbody th{width:24%;font-weight:600;color:var(--navy)}
.cmp-table td{width:38%;color:var(--ink)}
.cmp-table td.cmp-col-ss{background:rgba(210,245,232,.32)}
.cmp-cell-label{display:none}
.cmp-mark{display:inline-flex;vertical-align:-4px;margin-right:6px}
.cmp-mark svg{display:block}
.cmp-mark-yes{color:var(--green-deep)}
.cmp-mark-partial{color:#B7791F}
.cmp-mark-no{color:var(--muted)}
.cmp-legend{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:14px;font-size:.86rem;color:var(--muted)}
.cmp-legend span{display:inline-flex;align-items:center}

/* Cards: the hub's groups and "more comparisons" */
.cmp-cards{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;margin-top:8px}
.cmp-card{position:relative;display:flex;flex-direction:column;gap:6px;height:100%;background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 52px 22px 22px;box-shadow:var(--shadow);transition:transform .2s ease, box-shadow .2s ease, border-color .2s}
.cmp-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--line-green)}
.cmp-card:focus-visible{outline:2px solid var(--green-deep);outline-offset:2px}
.cmp-card-title{font-family:'Fraunces',serif;font-weight:600;font-size:1.18rem;color:var(--navy);line-height:1.25}
.cmp-card-text{font-size:.92rem;color:var(--muted);line-height:1.5}
.cmp-card-more{position:absolute;right:20px;top:24px;color:var(--green-deep);transition:transform .2s}
.cmp-card:hover .cmp-card-more{transform:translateX(3px)}

/* Hub: groups and the who-is-it-for block */
.cmp-group{padding:48px 0 0}
.cmp-group h2{font-size:clamp(1.6rem,2.6vw,2rem);color:var(--navy)}
.cmp-group > p{color:var(--muted);font-size:1.02rem;margin:10px 0 22px;max-width:68ch}
.cmp-fit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:8px}
.cmp-fit > div{border-radius:var(--radius);padding:28px;border:1px solid var(--line)}
.cmp-fit .cmp-fit-yes{background:var(--green-tint);border-color:var(--line-green)}
.cmp-fit .cmp-fit-no{background:#F5F6FA}
.cmp-fit h3{margin-top:0}

/* FAQ */
.cmp-faq{padding:64px 0 8px}
.cmp-faq h2{font-size:clamp(1.7rem,2.8vw,2.2rem);color:var(--navy);margin-bottom:18px}
.cmp-faq-list{max-width:820px}
.cmp-faq-list details{border-bottom:1px solid var(--line)}
.cmp-faq-list details:first-child{border-top:1px solid var(--line)}
.cmp-faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;font-weight:600;font-size:1.04rem;color:var(--ink)}
.cmp-faq-list summary::-webkit-details-marker{display:none}
.cmp-faq-list summary::after{content:"+";flex:none;font-size:1.4rem;font-weight:400;color:var(--green-deep);transition:transform .2s}
.cmp-faq-list details[open] summary::after{transform:rotate(45deg)}
.cmp-faq-list summary:focus-visible{outline:2px solid var(--green-deep);outline-offset:2px}
.cmp-faq-a{padding:0 0 22px;max-width:66ch}
.cmp-faq-a p{color:var(--muted);margin-bottom:.8em}

/* More comparisons */
.cmp-related{padding:64px 0 0}
.cmp-related h2{font-size:clamp(1.6rem,2.6vw,2rem);color:var(--navy);margin-bottom:18px}
.cmp-related-all{margin-top:18px;font-weight:600}
.cmp-related-all a{color:var(--green-deep);text-decoration:underline;text-underline-offset:3px}

/* Sources and the corrections note */
.cmp-sources{padding:64px 0 0}
.cmp-sources .wrap > *{max-width:820px}
.cmp-sources h2{font-size:1.4rem;color:var(--navy);margin-bottom:12px}
.cmp-sources p{color:var(--muted);font-size:.94rem;margin-bottom:.9em}
.cmp-source-list{margin:6px 0 18px 1.1em;display:flex;flex-direction:column;gap:6px;font-size:.92rem;color:var(--muted)}
.cmp-source-list a{overflow-wrap:anywhere}
.cmp-sources p.cmp-tm{font-size:.84rem}

/* Closing call to action. Same box as the why page's and the blog's,
   kept per page as AGENTS.md asks for CTA blocks. */
.cmp-cta{padding:48px 0 96px}
.cmp-cta-box{text-align:center;background:linear-gradient(155deg,var(--navy) 0%,var(--green) 100%);border-radius:28px;padding:56px 32px;color:#fff;box-shadow:var(--shadow-lg)}
.cmp-cta-box h2{font-size:clamp(1.9rem,3.4vw,2.6rem);max-width:22ch;margin:0 auto}
.cmp-cta-box p{color:rgba(255,255,255,.86);font-size:1.06rem;margin:14px auto 28px;max-width:52ch}
.cmp-cta-actions{display:flex;flex-wrap:wrap;gap:14px 26px;justify-content:center;align-items:center}
.cmp-cta-link{color:#fff;font-weight:600;font-size:.95rem;text-decoration:underline;text-underline-offset:3px}

@media(max-width:900px){
  .cmp-duo,.cmp-fit{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:760px){
  .cmp-table,.cmp-table caption,.cmp-table tbody,.cmp-table tr,.cmp-table th,.cmp-table td{display:block;width:auto}
  .cmp-table{background:none;border:0;box-shadow:none;border-radius:0;overflow:visible}
  .cmp-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  .cmp-table tbody{display:flex;flex-direction:column;gap:14px}
  .cmp-table tr{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}
  .cmp-table tbody th{width:auto;border-top:0;padding:16px 18px 12px;font-size:1rem;background:#F5F6FA}
  .cmp-table td{padding:14px 18px}
  .cmp-cell-label{display:block;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--muted);margin-bottom:6px}
  .cmp-table td.cmp-col-ss .cmp-cell-label{color:var(--green-deeper)}
}
@media(max-width:560px){
  .cmp-hero{padding:20px 0 40px}
  .cmp-hero-head{margin-top:32px}
  .cmp-lede{font-size:1.05rem}
  .cmp-sec{padding-top:44px}
  .cmp-duo > div,.cmp-fit > div{padding:22px 20px 16px}
  .cmp-cards{grid-template-columns:minmax(0,1fr)}
  .cmp-cta-box{padding:44px 22px}
}
