/* Shared Arachne pricing styles — brands + agencies.
   Scope: .arachne-pricing-page / .apricing-* */

.arachne-pricing-page {
  --ap-price-bg:#ffffff;
  --ap-price-soft:#f7f7f4;
  --ap-price-panel:#ffffff;
  --ap-price-ink:#171816;
  --ap-price-muted:#6f7789;
  --ap-price-muted-2:#9298a6;
  --ap-price-line:#e4e6eb;
  --ap-price-line-strong:#d7d9e0;
  --ap-price-violet:var(--violet,#6957e8);
  --ap-price-violet-soft:#f0edff;
  --ap-price-green:var(--green,#16845b);
  --ap-price-green-soft:var(--green-soft,#e8f5ef);
  --ap-price-radius:18px;
  --ap-price-shadow:0 20px 54px rgba(16,24,40,.08);
}

.arachne-pricing-page * { box-sizing:border-box; }

.apricing-hero {
  position:relative;
  padding:86px 0 58px;
  overflow:hidden;
  border-bottom:1px solid var(--ap-price-line);
  background:
    radial-gradient(circle at 50% -20%, rgba(105,87,232,.12), transparent 36%),
    linear-gradient(180deg,#fff,#fbfbfa);
}
.apricing-hero--agency {
  background:
    radial-gradient(circle at 72% -10%, rgba(105,87,232,.13), transparent 34%),
    radial-gradient(circle at 20% 12%, rgba(22,132,91,.06), transparent 25%),
    linear-gradient(180deg,#fff,#fbfbfa);
}
.apricing-switch {
  display:inline-flex;
  padding:4px;
  gap:4px;
  border:1px solid var(--ap-price-line-strong);
  border-radius:999px;
  background:#f1f2ef;
}
.apricing-switch a {
  min-width:92px;
  padding:8px 14px;
  border-radius:999px;
  color:#70766f;
  font-size:12px;
  font-weight:700;
  text-align:center;
  text-decoration:none;
}
.apricing-switch a.active {
  background:#fff;
  color:var(--ap-price-ink);
  box-shadow:0 2px 8px rgba(20,20,18,.07);
}
.apricing-hero-copy {
  max-width:930px;
  margin-top:30px;
}
.apricing-hero-copy h1 {
  margin:12px 0 0;
  max-width:1000px;
  font-size:clamp(52px,7vw,88px);
  line-height:.97;
  letter-spacing:-.06em;
  font-weight:650;
}
.apricing-hero-copy h1 span { color:var(--ap-price-violet); }
.apricing-hero-copy p {
  max-width:780px;
  margin:24px 0 0;
  color:var(--ap-price-muted);
  font-size:18px;
  line-height:1.65;
}
.apricing-trust-row,
.apricing-agency-pills {
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:28px;
}
.apricing-trust-row span,
.apricing-agency-pills span {
  padding:8px 11px;
  border:1px solid var(--ap-price-line);
  border-radius:999px;
  background:rgba(255,255,255,.86);
  color:#5d635c;
  font-size:11px;
  font-weight:650;
}
.apricing-agency-pills span {
  border-color:#e0dcff;
  background:#f8f6ff;
  color:#5d4bd1;
}

.apricing-section { padding:78px 0; }
.apricing-section--cards { padding-top:46px; }
.apricing-section--soft { background:var(--ap-price-soft); border-block:1px solid var(--ap-price-line); }
.apricing-section--pool { background:#fff; }

.apricing-plan-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  align-items:stretch;
}
.apricing-card {
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:24px;
  border:1px solid var(--ap-price-line);
  border-radius:20px;
  background:#fff;
  box-shadow:0 12px 34px rgba(16,24,40,.045);
}
.apricing-card--featured {
  border-color:#bbb4ff;
  box-shadow:0 22px 52px rgba(105,87,232,.14);
}
.apricing-card--enterprise {
  background:linear-gradient(180deg,#fff,#fbfbfb);
}
.apricing-card-ribbon {
  position:absolute;
  top:0;
  left:24px;
  transform:translateY(-50%);
  padding:5px 9px;
  border-radius:999px;
  background:var(--ap-price-violet);
  color:#fff;
  font-size:9px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.apricing-card-top { min-height:176px; }
.apricing-badge {
  display:inline-flex;
  width:fit-content;
  padding:5px 9px;
  margin-bottom:15px;
  border-radius:999px;
  background:#f2f3f0;
  color:#697169;
  font-size:9px;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.apricing-badge--violet { background:var(--ap-price-violet); color:#fff; }
.apricing-card h2 {
  margin:0;
  font-size:27px;
  letter-spacing:-.04em;
}
.apricing-card-top p {
  margin:9px 0 0;
  color:var(--ap-price-muted);
  font-size:13px;
  line-height:1.55;
}
.apricing-price {
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  align-items:baseline;
  margin:6px 0 18px;
}
.apricing-price strong {
  font-size:35px;
  line-height:1;
  letter-spacing:-.055em;
  font-weight:700;
}
.apricing-price span {
  color:var(--ap-price-muted);
  font-size:11px;
}
.apricing-card-cta { width:100%; min-height:43px; }
.apricing-feature-list {
  list-style:none;
  margin:20px 0 0;
  padding:0;
  border-top:1px solid var(--ap-price-line);
  flex:1;
}
.apricing-feature-list li {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  padding:10px 0;
  border-bottom:1px solid var(--ap-price-line);
}
.apricing-feature-list li:last-child { border-bottom:0; }
.apricing-feature-list span { color:var(--ap-price-muted); font-size:11px; }
.apricing-feature-list strong { font-size:11px; text-align:right; }

.apricing-crosslink {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:22px;
  margin-top:22px;
  padding:20px 22px;
  border:1px solid #ddd8ff;
  border-radius:16px;
  background:linear-gradient(90deg,#f6f3ff,#fff);
}
.apricing-crosslink > div { display:grid; gap:5px; max-width:840px; }
.apricing-crosslink-kicker {
  color:var(--ap-price-violet);
  font-size:9px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.apricing-crosslink strong { font-size:13px; line-height:1.45; }

.apricing-section-head { max-width:780px; margin-bottom:28px; }
.apricing-section-head--center { margin-inline:auto; text-align:center; }
.apricing-section-head h2,
.apricing-final-card h2 {
  margin:10px 0 0;
  font-size:clamp(38px,5vw,58px);
  line-height:1.03;
  letter-spacing:-.055em;
}
.apricing-section-head p,
.apricing-final-card p {
  margin:14px 0 0;
  color:var(--ap-price-muted);
  font-size:15px;
  line-height:1.65;
}

.apricing-table-wrap {
  overflow-x:auto;
  border:1px solid var(--ap-price-line-strong);
  border-radius:18px;
  background:#fff;
  box-shadow:0 14px 34px rgba(16,24,40,.04);
}
.apricing-table {
  width:100%;
  min-width:820px;
  border-collapse:collapse;
}
.apricing-table th,
.apricing-table td {
  padding:14px 16px;
  border-bottom:1px solid var(--ap-price-line);
  border-right:1px solid var(--ap-price-line);
  text-align:center;
  font-size:12px;
}
.apricing-table th:first-child,
.apricing-table td:first-child {
  width:25%;
  text-align:left;
}
.apricing-table th:last-child,
.apricing-table td:last-child { border-right:0; }
.apricing-table tbody tr:last-child td { border-bottom:0; }
.apricing-table th {
  background:#fbfbfa;
  font-size:13px;
  font-weight:700;
}
.apricing-table th small {
  display:block;
  margin-top:4px;
  color:var(--ap-price-muted);
  font-size:9px;
  font-weight:600;
}
.apricing-table td:first-child { color:#515750; font-weight:600; }
.apricing-table .featured-col { background:#f8f6ff; }
.apricing-fine { margin-top:14px; }

.apricing-value-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.apricing-value-grid article {
  padding:22px;
  border:1px solid var(--ap-price-line);
  border-radius:16px;
  background:#fff;
}
.apricing-value-grid article > span {
  color:var(--ap-price-violet);
  font-size:10px;
  font-weight:800;
}
.apricing-value-grid h3 {
  margin:12px 0 0;
  font-size:16px;
  letter-spacing:-.025em;
}
.apricing-value-grid p {
  margin:8px 0 0;
  color:var(--ap-price-muted);
  font-size:12px;
  line-height:1.55;
}

/* Agency pool */
.apricing-pool-layout {
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  gap:70px;
  align-items:center;
}
.apricing-pool-plan-tabs {
  display:inline-flex;
  gap:4px;
  padding:4px;
  margin-top:20px;
  border:1px solid var(--ap-price-line);
  border-radius:10px;
  background:#f1f2ef;
}
.apricing-pool-plan-tabs button {
  min-height:32px;
  padding:0 11px;
  border:0;
  border-radius:7px;
  background:transparent;
  color:var(--ap-price-muted);
  font:inherit;
  font-size:10px;
  font-weight:700;
  cursor:pointer;
}
.apricing-pool-plan-tabs button.active {
  background:#fff;
  color:var(--ap-price-ink);
  box-shadow:0 1px 4px rgba(16,24,40,.08);
}
.apricing-pool-card {
  padding:22px;
  border:1px solid #dcd7ff;
  border-radius:20px;
  background:linear-gradient(180deg,#fff,#faf9ff);
  box-shadow:0 24px 55px rgba(105,87,232,.10);
}
.apricing-pool-card-head {
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
  padding-bottom:16px;
  border-bottom:1px solid var(--ap-price-line);
}
.apricing-pool-card-head > div:first-child { display:grid; gap:4px; }
.apricing-pool-card-head span { color:var(--ap-price-muted); font-size:9px; text-transform:uppercase; letter-spacing:.07em; font-weight:800; }
.apricing-pool-card-head strong { font-size:15px; }
.apricing-pool-total { display:flex; align-items:baseline; gap:5px; }
.apricing-pool-total strong { color:var(--ap-price-violet); font-size:34px; letter-spacing:-.05em; }
.apricing-pool-total span { text-transform:none; letter-spacing:0; font-size:10px; }
.apricing-pool-bars { display:grid; gap:14px; padding:19px 0; }
.apricing-pool-row { display:grid; grid-template-columns:120px minmax(0,1fr) 55px; gap:12px; align-items:center; }
.apricing-pool-row > span { color:#555c55; font-size:10px; font-weight:650; }
.apricing-pool-track { height:9px; overflow:hidden; border-radius:999px; background:#eceee9; }
.apricing-pool-track i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#806cf6,#6550dd); transition:width .25s ease; }
.apricing-pool-row strong { font-size:10px; text-align:right; }
.apricing-pool-foot {
  display:flex;
  justify-content:space-between;
  gap:14px;
  padding-top:13px;
  border-top:1px solid var(--ap-price-line);
  font-size:10px;
}
.apricing-pool-foot span { color:var(--ap-price-muted); }

/* Prospect demo */
.apricing-prospect-demo {
  overflow:hidden;
  border:1px solid var(--ap-price-line-strong);
  border-radius:20px;
  background:#fff;
  box-shadow:0 16px 38px rgba(16,24,40,.05);
}
.apricing-prospect-input {
  display:flex;
  align-items:center;
  gap:14px;
  min-height:66px;
  padding:12px 16px;
  border-bottom:1px solid var(--ap-price-line);
}
.apricing-prospect-input span {
  color:var(--ap-price-muted);
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.apricing-prospect-input strong {
  flex:1;
  padding:9px 11px;
  border:1px solid var(--ap-price-line);
  border-radius:9px;
  background:#fafaf9;
  font-size:11px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
}
.apricing-prospect-results {
  display:grid;
  grid-template-columns:120px minmax(0,1fr) 210px;
  gap:22px;
  align-items:center;
  padding:26px;
  transition:opacity .18s ease, transform .18s ease;
}
.apricing-prospect-results.is-running { opacity:.45; transform:translateY(3px); }
.apricing-readiness-ring {
  display:grid;
  place-items:center;
  align-content:center;
  width:105px;
  height:105px;
  border-radius:50%;
  border:10px solid #ece8ff;
  outline:1px solid #dbd5ff;
  color:var(--ap-price-violet);
}
.apricing-readiness-ring strong { font-size:31px; line-height:1; }
.apricing-readiness-ring span { margin-top:2px; color:var(--ap-price-muted); font-size:9px; }
.apricing-prospect-status { color:var(--ap-price-violet); font-size:8px; font-weight:800; text-transform:uppercase; letter-spacing:.07em; }
.apricing-prospect-copy h3 { margin:5px 0 0; font-size:19px; letter-spacing:-.03em; }
.apricing-prospect-copy p { margin:7px 0 0; color:var(--ap-price-muted); font-size:11px; line-height:1.5; }
.apricing-prospect-chips { display:flex; flex-wrap:wrap; gap:5px; margin-top:12px; }
.apricing-prospect-chips span { padding:5px 7px; border-radius:6px; background:#f5f3ff; color:#5f50c7; font-size:8px; font-weight:700; }
.apricing-prospect-competitors { display:grid; gap:7px; }
.apricing-prospect-competitors div {
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:9px 10px;
  border:1px solid var(--ap-price-line);
  border-radius:9px;
  background:#fafaf9;
}
.apricing-prospect-competitors .target { border-color:#ddd7ff; background:#f6f3ff; }
.apricing-prospect-competitors span { color:var(--ap-price-muted); font-size:9px; }
.apricing-prospect-competitors strong { font-size:10px; }

/* FAQ */
.apricing-faq { display:grid; gap:8px; max-width:900px; }
.apricing-faq details {
  border:1px solid var(--ap-price-line);
  border-radius:12px;
  background:#fff;
}
.apricing-faq summary {
  padding:16px 18px;
  cursor:pointer;
  font-size:13px;
  font-weight:700;
  list-style:none;
}
.apricing-faq summary::-webkit-details-marker { display:none; }
.apricing-faq summary::after { content:"+"; float:right; color:var(--ap-price-muted); }
.apricing-faq details[open] summary::after { content:"–"; }
.apricing-faq details p {
  margin:0;
  padding:0 18px 17px;
  color:var(--ap-price-muted);
  font-size:12px;
  line-height:1.6;
}

.apricing-final { padding:10px 0 86px; }
.apricing-final-card {
  display:flex;
  justify-content:space-between;
  gap:30px;
  align-items:center;
  padding:34px;
  border-radius:22px;
  background:#191a17;
  color:#fff;
}
.apricing-final-card > div { max-width:800px; }
.apricing-final-card .kicker { color:#8e918a; }
.apricing-final-card p { color:#aeb1aa; }
.apricing-final-card .btn.primary {
  flex:0 0 auto;
  background:#fff;
  border-color:#fff;
  color:#171816;
}
.apricing-footer-links { display:flex; gap:14px; align-items:center; }

/* Modal */
.apricing-modal-overlay {
  position:fixed;
  inset:0;
  z-index:90;
  display:none;
  align-items:flex-start;
  justify-content:center;
  padding:8vh 20px 40px;
  overflow-y:auto;
  background:rgba(16,24,40,.58);
  backdrop-filter:blur(3px);
}
.apricing-modal-overlay.open { display:flex; }
.apricing-modal {
  width:min(560px,100%);
  max-height:84vh;
  overflow-y:auto;
  padding:28px;
  border:1px solid var(--ap-price-line);
  border-radius:20px;
  background:#fff;
  box-shadow:0 30px 90px rgba(16,24,40,.28);
}
.apricing-modal-head { display:flex; justify-content:space-between; gap:18px; align-items:flex-start; }
.apricing-modal-title { margin:4px 0 0; font-size:27px; letter-spacing:-.04em; }
.apricing-modal-price { margin-top:5px; font-size:17px; font-weight:700; }
.apricing-modal-price span { margin-left:4px; color:var(--ap-price-muted); font-size:10px; font-weight:600; }
.apricing-modal-close {
  appearance:none;
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border:0;
  border-radius:10px;
  background:#f1f2ef;
  color:#171816;
  font-size:21px;
  cursor:pointer;
}
.apricing-modal-tag { margin:13px 0 0; color:var(--ap-price-muted); font-size:13px; line-height:1.5; }
.apricing-plan-pill { display:flex; gap:6px; flex-wrap:wrap; margin:15px 0 0; }
.apricing-plan-pill button {
  appearance:none;
  cursor:pointer;
  border:1px solid var(--ap-price-line);
  background:#fff;
  color:#5d6370;
  border-radius:999px;
  padding:6px 12px;
  font-size:11px;
  font-weight:700;
}
.apricing-plan-pill button.active { background:var(--ap-price-violet); border-color:var(--ap-price-violet); color:#fff; }
.apricing-modal-section { margin-top:18px; padding-top:16px; border-top:1px solid var(--ap-price-line); }
.apricing-modal-section h4 { margin:0 0 8px; color:var(--ap-price-violet); font-size:10px; text-transform:uppercase; letter-spacing:.07em; }
.apricing-modal-features { list-style:none; display:grid; gap:8px; margin:0; padding:0; }
.apricing-modal-features li { display:flex; gap:8px; color:#505765; font-size:12px; }
.apricing-modal-features li::before { content:"✓"; color:var(--ap-price-green); font-weight:800; }
.apricing-modal-audience { margin:0; color:#505765; font-size:12px; line-height:1.55; }
.apricing-modal-form { display:grid; gap:12px; }
.apricing-modal-form label { display:grid; gap:6px; font-size:11px; font-weight:700; }
.apricing-modal-form input,
.apricing-modal-form textarea {
  width:100%;
  padding:11px 12px;
  border:1px solid #d7d9e0;
  border-radius:10px;
  background:#fff;
  font:inherit;
}
.apricing-modal-form input:focus,
.apricing-modal-form textarea:focus { outline:3px solid #e4e0ff; border-color:var(--ap-price-violet); }
.apricing-modal-success { display:none; padding:22px 8px 5px; text-align:center; }
.apricing-ok-icon {
  display:grid;
  place-items:center;
  width:52px;
  height:52px;
  margin:0 auto 12px;
  border-radius:50%;
  background:var(--ap-price-green-soft);
  color:var(--ap-price-green);
  font-size:24px;
  font-weight:800;
}
.apricing-modal-success h3 { margin:0; }
.apricing-modal-success p { margin:7px 0 0; color:var(--ap-price-muted); font-size:12px; }

@media(max-width:1120px){
  .apricing-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .apricing-value-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .apricing-pool-layout{grid-template-columns:1fr;gap:28px}
  .apricing-prospect-results{grid-template-columns:105px minmax(0,1fr)}
  .apricing-prospect-competitors{grid-column:1/-1;grid-template-columns:repeat(3,1fr)}
  .apricing-crosslink,.apricing-final-card{align-items:flex-start;flex-direction:column}
}
@media(max-width:640px){
  .apricing-hero{padding:66px 0 44px}
  .apricing-hero-copy h1{font-size:clamp(44px,13vw,64px)}
  .apricing-hero-copy p{font-size:15px}
  .apricing-plan-grid,.apricing-value-grid{grid-template-columns:1fr}
  .apricing-card-top{min-height:0}
  .apricing-section{padding:58px 0}
  .apricing-prospect-input{align-items:stretch;flex-direction:column}
  .apricing-prospect-results{grid-template-columns:1fr}
  .apricing-readiness-ring{margin:auto}
  .apricing-prospect-competitors{grid-template-columns:1fr}
  .apricing-pool-row{grid-template-columns:92px minmax(0,1fr) 44px}
  .apricing-switch{width:100%}
  .apricing-switch a{flex:1}
}
