/* AgentWorks page */

.aw-wrap { max-width: 1200px; }
.aw-2col { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: start; }
.aw-3col { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; align-items: stretch; }
.aw-h2 { font-size: clamp(30px, 3.4vw, 40px); }
.aw-note { font-size: 13px; color: var(--text-3); }
.aw-label { font-size: 13px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-3); }
.aw-eyebrow-green { color: var(--green); }

/* Buttons */
.aw-btn-ghost { background: #fff; border-color: var(--line-2); color: var(--ink); }
.aw-btn-ghost:hover { border-color: var(--ink); color: var(--ink); }
.aw-btn-line { border-color: #8C95A8; color: var(--ink); background: transparent; }
.aw-btn-line:hover { border-color: var(--ink); background: var(--ink); color: #fff; }
.aw-btn-purple { background: var(--purple); color: #fff; }
.aw-btn-purple:hover { background: #47219A; color: #fff; }
.aw-btn-line-light { border-color: var(--o1-on-deep-muted); color: #fff; background: transparent; }
.aw-btn-line-light:hover { background: #fff; border-color: #fff; color: var(--ink); }

/* Hero */
.aw-hero {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: center;
  padding-top: 72px; padding-bottom: 56px;
}
.aw-kicker {
  display: flex; align-items: center; gap: 10px;
  font-size: 13px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--purple);
}
.aw-kicker .icon-tile { width: 32px; height: 32px; border-radius: 10px; }
.aw-kicker .icon-tile svg { width: 18px; height: 18px; }
.aw-h1 { font-size: clamp(38px, 4.4vw, 56px); line-height: 1.04; }
.aw-hero .lead { font-size: clamp(17px, 1.4vw, 19px); }

.aw-week {
  display: flex; flex-direction: column; gap: 14px; padding: 24px;
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg);
}
.aw-week-grid { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 8px 12px; align-items: center; font-size: 14px; }
.aw-week-grid > span:nth-child(odd) { color: var(--text-2); }
.aw-bar { display: flex; gap: 4px; }
.aw-bar i, .aw-bar b { height: 22px; border-radius: 6px; }
.aw-bar i, .aw-legend i { background: var(--line); }
.aw-bar b, .aw-legend b { background: var(--purple); }
.aw-legend { display: flex; flex-wrap: wrap; gap: 18px; font-size: 13px; color: var(--text-2); }
.aw-legend span { display: flex; align-items: center; gap: 6px; }
.aw-legend i, .aw-legend b { width: 12px; height: 12px; border-radius: 3px; flex-shrink: 0; }
.aw-week .aw-note { font-size: 12px; }

/* What you pay for */
.aw-pay-section { padding: 72px 0; }
.aw-pay-card { display: flex; flex-direction: column; gap: 14px; padding: 28px; border: 1px solid var(--line); border-radius: 18px; }
.aw-pay-vendor { border-color: transparent; background: var(--cream); }
.aw-bullets { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 8px; }
.aw-vendors { margin: 0; display: flex; flex-direction: column; gap: 6px; font-size: 15px; }
.aw-vendors > div { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
.aw-vendors dt { min-width: 0; }
.aw-vendors dd { margin: 0; font-family: var(--font-mono); text-align: right; white-space: nowrap; }

/* Scope of work */
.aw-stages { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.aw-stage { display: flex; flex-direction: column; gap: 12px; padding: 24px; background: #fff; border: 1px solid var(--line); border-radius: 18px; }
.aw-stage-meta { font-family: var(--font-mono); font-size: 13px; color: var(--purple); }
.aw-stage-title { font-family: var(--font-body); font-size: 21px; font-weight: 700; line-height: 1.25; }
.aw-stage p { color: var(--text-2); font-size: 15px; }
.aw-stage-get { margin-top: auto; padding-top: 10px; border-top: 1px solid var(--line); font-size: 14px; }

/* Packages */
.aw-audit {
  display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap;
  padding: 20px 24px; border-radius: 16px; background: var(--purple-soft);
}
.aw-audit-name { font-size: 19px; }
.aw-audit-desc { color: var(--text-2); font-size: 15px; }
.aw-audit-price { font-size: 32px; }

.aw-pkg { position: relative; display: flex; flex-direction: column; gap: 14px; padding: 28px; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.aw-pkg-featured { border: 2px solid var(--purple); box-shadow: 0 8px 24px rgba(91, 45, 191, 0.10); }
.aw-pkg-dark { border-color: var(--dark); background: var(--dark); color: #fff; }
.aw-pkg-badge {
  position: absolute; top: -13px; left: 24px;
  font-size: 12px; font-weight: 700; background: var(--orange-light); color: var(--ink);
  padding: 3px 10px; border-radius: 999px;
}
.aw-pkg-name { font-family: var(--font-body); font-size: 22px; font-weight: 700; line-height: 1.25; }
.aw-pkg-desc { font-size: 15px; color: var(--text-2); }
.aw-pkg-dark .aw-pkg-desc { color: var(--on-dark-2); }
.aw-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px; }
.aw-price .big-num { font-size: clamp(32px, 3vw, 38px); }
.aw-price-unit { font-size: 14px; color: var(--text-3); }
.aw-pkg-list { padding-left: 18px; gap: 6px; font-size: 15px; }
.aw-pkg-btn { margin-top: auto; min-height: 48px; border-radius: 10px; font-size: 16px; }

/* Agent catalogue */
.aw-table-wrap { border: 1px solid var(--line); border-radius: 18px; overflow: hidden; background: #fff; }
.aw-table { width: 100%; border-collapse: collapse; text-align: left; }
.aw-table th, .aw-table td { padding: 16px 24px; border-top: 1px solid var(--line); vertical-align: top; font-weight: 400; }
.aw-table thead th {
  border-top: 0; background: var(--cream);
  font-size: 13px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-2);
}
.aw-table tbody th { width: 34%; font-weight: 700; }
.aw-table tbody td { color: var(--text-2); }
.aw-table .aw-fee { text-align: right; white-space: nowrap; }
.aw-table tbody .aw-fee { font-weight: 700; color: var(--ink); }

/* Care plans */
.aw-care { display: flex; flex-direction: column; gap: 10px; padding: 24px; border: 1px solid var(--line); border-radius: 18px; }
.aw-care-featured { border: 2px solid var(--purple); }
.aw-care-dark { border-color: var(--dark); background: var(--dark); color: #fff; }
.aw-care-name { font-family: var(--font-body); font-size: 19px; font-weight: 700; line-height: 1.3; }
.aw-care p { color: var(--text-2); font-size: 15px; }
.aw-care-dark p { color: var(--on-dark-2); }
.aw-care-price { margin-top: auto; font-size: 28px; }
.aw-care-price small { font-family: var(--font-body); font-size: 14px; font-weight: 600; color: var(--text-3); }
.aw-care-dark .aw-care-price small { color: var(--on-dark-2); }
.aw-extra {
  display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap;
  padding: 20px 24px; border-radius: 16px; background: var(--o1-surface-alt);
}
.aw-extra-grant { font-weight: 700; color: var(--purple); }

/* FAQ */
.aw-faq-section { padding: clamp(48px, 6vw, 80px) 0; }
.aw-faq-wrap { max-width: 860px; display: flex; flex-direction: column; gap: 24px; }
.aw-faq-title { font-size: clamp(28px, 3vw, 36px); }

/* CTA */
.aw-cta {
  display: flex; justify-content: space-between; align-items: center; gap: 32px; flex-wrap: wrap;
  padding-top: 80px; padding-bottom: 80px;
}
.aw-cta-text { max-width: 640px; }
.aw-cta-title { line-height: 1.08; }
.aw-cta-text p { color: var(--on-dark-2); font-size: 18px; }

@media (max-width: 900px) {
  .aw-hero, .aw-2col { grid-template-columns: 1fr; gap: 32px; }
  .aw-3col { grid-template-columns: 1fr; gap: 24px; }
  .aw-stages { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 720px) {
  .aw-hero { padding-top: 32px; padding-bottom: 40px; }
  .aw-week { padding: 20px; }
  .aw-week-grid { grid-template-columns: 96px minmax(0, 1fr); font-size: 13px; }
  .aw-pay-section { padding: 48px 0; }
  .aw-pay-card { padding: 22px 20px; }
  .aw-vendors > div { flex-wrap: wrap; gap: 0 12px; }
  .aw-stages { grid-template-columns: 1fr; }
  .aw-stage { padding: 20px; }
  .aw-audit { padding: 18px 20px; }
  .aw-audit-price { font-size: 28px; }
  .aw-pkg { padding: 24px 20px; }

  /* Catalogue table becomes stacked rows: name + fee, description underneath */
  .aw-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .aw-table tbody, .aw-table tbody tr { display: block; }
  .aw-table tbody tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 12px; padding: 14px 18px; border-top: 1px solid var(--line); }
  .aw-table tbody tr:first-child { border-top: 0; }
  .aw-table tbody th, .aw-table tbody td { display: block; width: auto; padding: 0; border: 0; }
  .aw-table tbody td:not(.aw-fee) { grid-column: 1 / -1; grid-row: 2; font-size: 15px; }
  .aw-table tbody .aw-fee { grid-column: 2; grid-row: 1; }

  .aw-care { padding: 20px; }
  .aw-extra { padding: 18px 20px; }
  .aw-cta { padding-top: 48px; padding-bottom: 48px; gap: 24px; }
  .aw-cta .btn-row { width: 100%; }
}
@media (max-width: 400px) {
  .aw-table tbody tr { grid-template-columns: 1fr; }
  .aw-table tbody .aw-fee { grid-column: 1; grid-row: 2; text-align: left; }
  .aw-table tbody td:not(.aw-fee) { grid-row: 3; }
}
