.agency-page { background: #fff; }

.agency-hero { position: relative; padding: 150px 0 0; overflow: hidden; color: #fff; background: #071a35; }
.agency-hero::before { content: ''; position: absolute; top: -260px; right: -180px; width: 760px; height: 760px; border-radius: 50%; background: radial-gradient(circle, rgba(59,116,255,.25), transparent 68%); pointer-events: none; }
.agency-hero::after { content: ''; position: absolute; right: 18%; bottom: -360px; width: 720px; height: 720px; border: 1px solid rgba(126,166,255,.13); border-radius: 50%; pointer-events: none; }
.agency-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(420px, .96fr); gap: 82px; align-items: center; padding-bottom: 82px; }
.agency-kicker { display: flex; align-items: center; gap: 11px; margin: 0 0 22px; color: #9dbbff; font-size: 11px; font-weight: 850; letter-spacing: .16em; }
.agency-kicker span { width: 8px; height: 8px; border-radius: 50%; background: #66dab1; box-shadow: 0 0 0 6px rgba(102,218,177,.11); }
.agency-hero h1 { max-width: 710px; margin: 0; font-size: clamp(50px, 5.7vw, 76px); line-height: .99; letter-spacing: -.058em; }
.agency-hero h1 span { display: block; margin-top: 14px; color: #9fbcff; font-size: .76em; line-height: 1.04; }
.agency-lead { max-width: 690px; margin: 28px 0 0; color: rgba(255,255,255,.74); font-size: 19px; line-height: 1.65; }
.agency-actions { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 34px; }
.agency-fineprint { margin: 20px 0 0; color: rgba(255,255,255,.5); font-size: 12px; }
.agency-fineprint strong { color: #bfeeda; }

.agency-portal-preview { position: relative; }
.agency-portal-preview::before { content: ''; position: absolute; inset: -26px; border: 1px solid rgba(126,166,255,.11); border-radius: 36px; transform: rotate(3deg); }
.portal-window { position: relative; overflow: hidden; border: 1px solid rgba(255,255,255,.16); border-radius: 25px; background: rgba(9,32,70,.92); box-shadow: 0 38px 90px rgba(0,0,0,.3); }
.portal-window-head { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 18px 20px; border-bottom: 1px solid rgba(255,255,255,.1); color: rgba(255,255,255,.5); font-size: 10px; letter-spacing: .12em; }
.portal-window-head > span { display: flex; gap: 5px; }
.portal-window-head i { width: 6px; height: 6px; border-radius: 50%; background: rgba(255,255,255,.25); }
.portal-window-head strong { color: #c8d8ff; }
.portal-window-head small { justify-self: end; color: #73dbb8; font-weight: 800; letter-spacing: .04em; }
.portal-price { display: grid; grid-template-columns: 1fr auto 1fr; gap: 20px; align-items: center; padding: 30px 28px 27px; border-bottom: 1px solid rgba(255,255,255,.08); }
.portal-price > div { min-width: 0; }
.portal-price span, .portal-price strong, .portal-price small { display: block; }
.portal-price span { color: rgba(255,255,255,.45); font-size: 9px; font-weight: 800; letter-spacing: .13em; }
.portal-price strong { margin-top: 3px; color: #fff; font-size: 51px; line-height: 1; letter-spacing: -.05em; }
.portal-price small { margin-top: 5px; color: rgba(255,255,255,.52); font-size: 11px; }
.portal-price > b { color: rgba(255,255,255,.26); font-size: 23px; }
.portal-unlimited strong { color: #80e1be; font-size: 66px; }
.portal-clients { display: grid; gap: 8px; padding: 20px 20px 4px; }
.portal-clients > div { display: grid; grid-template-columns: 35px 1fr auto; gap: 11px; align-items: center; padding: 10px 12px; border: 1px solid rgba(255,255,255,.07); border-radius: 12px; background: rgba(255,255,255,.035); }
.portal-clients > div > span { display: grid; place-items: center; width: 34px; height: 34px; color: #c9d8ff; border-radius: 9px; background: rgba(59,116,255,.19); font-size: 10px; font-weight: 850; }
.portal-clients p { margin: 0; }
.portal-clients strong, .portal-clients small { display: block; }
.portal-clients strong { font-size: 11px; }
.portal-clients small { color: rgba(255,255,255,.4); font-size: 9px; }
.portal-clients i { color: rgba(255,255,255,.3); font-style: normal; }
.portal-zero { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin: 14px 20px 20px; padding: 15px 17px; color: #a8f0d7; border: 1px solid rgba(102,218,177,.21); border-radius: 12px; background: rgba(72,185,147,.08); }
.portal-zero span { color: rgba(255,255,255,.57); font-size: 10px; }
.portal-zero strong { font-size: 18px; white-space: nowrap; }

.agency-proof-strip { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255,255,255,.12); }
.agency-proof-strip > div { padding: 27px 30px 31px; }
.agency-proof-strip > div + div { border-left: 1px solid rgba(255,255,255,.12); }
.agency-proof-strip strong, .agency-proof-strip span { display: block; }
.agency-proof-strip strong { font-size: 14px; }
.agency-proof-strip span { margin-top: 4px; color: rgba(255,255,255,.44); font-size: 11px; }

.agency-value { padding: 112px 0 104px; background: #f5f7fb; }
.agency-heading-grid { display: grid; grid-template-columns: 1fr .82fr; gap: 100px; align-items: end; }
.agency-heading-grid h2, .agency-pricing-intro h2, .agency-faq-grid h2 { margin: 0; font-size: clamp(39px, 4.7vw, 62px); line-height: 1.07; letter-spacing: -.05em; }
.agency-heading-lead { margin: 0; color: #65728a; font-size: 18px; }
.agency-math { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 21px; align-items: center; margin-top: 67px; }
.agency-math article { min-height: 210px; padding: 31px; border: 1px solid #dfe5ee; border-radius: 21px; background: #fff; box-shadow: 0 18px 55px rgba(16,32,61,.06); }
.agency-math article span, .agency-math article strong, .agency-math article small { display: block; }
.agency-math article span { color: #3b74ff; font-size: 11px; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.agency-math article strong { margin-top: 48px; font-size: 27px; letter-spacing: -.035em; }
.agency-math article small { color: #65728a; }
.agency-math > i { color: #aab5c7; font-size: 25px; font-style: normal; font-weight: 800; }
.agency-math-note { margin-top: 18px; color: #788499; font-size: 12px; text-align: center; }

.agency-how { padding: 112px 0 118px; color: #fff; background: #0a2144; }
.agency-heading-light { align-items: start; }
.agency-heading-light > p { max-width: 510px; margin: 5px 0 0; color: rgba(255,255,255,.58); font-size: 18px; }
.agency-heading-light h2 { color: #fff; }
.agency-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; margin-top: 68px; }
.agency-steps article { position: relative; min-height: 350px; padding: 30px; overflow: hidden; border: 1px solid rgba(255,255,255,.11); border-radius: 21px; background: rgba(255,255,255,.04); }
.agency-steps article > span { position: absolute; top: 22px; right: 24px; color: rgba(255,255,255,.15); font-size: 62px; font-weight: 850; letter-spacing: -.05em; }
.agency-step-icon { display: grid; place-items: center; width: 59px; height: 59px; color: #b9cdff; border: 1px solid rgba(159,188,255,.25); border-radius: 17px; background: rgba(59,116,255,.14); font-size: 19px; font-weight: 850; }
.agency-steps h3 { margin: 87px 0 12px; font-size: 24px; line-height: 1.2; }
.agency-steps p { margin: 0; color: rgba(255,255,255,.55); font-size: 15px; }

.agency-pricing { padding: 112px 0 105px; }
.agency-pricing-intro { max-width: 850px; text-align: center; }
.agency-pricing-intro p:last-child { max-width: 690px; margin: 24px auto 0; color: #65728a; font-size: 18px; }
.agency-trial-banner { display: grid; grid-template-columns: auto 1fr auto; gap: 22px; align-items: center; max-width: 1000px; padding: 22px 25px; margin-top: 42px; border: 1px solid #cfe8de; border-radius: 19px; background: linear-gradient(135deg, #eff9f5, #f7fbff); }
.agency-trial-badge { display: grid; place-items: center; width: 64px; height: 64px; color: #216f54; border-radius: 17px; background: #d9f2e9; font-size: 12px; font-weight: 900; letter-spacing: .08em; }
.agency-trial-banner strong { display: block; font-size: 19px; }
.agency-trial-banner p { margin: 3px 0 0; color: #60756e; font-size: 13px; }
.agency-trial-banner a { color: #245fd8; font-size: 13px; font-weight: 850; white-space: nowrap; }
.agency-trial-banner a span { margin-left: 5px; }
.agency-price-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; max-width: 1000px; margin-top: 61px; }
.agency-price-card { position: relative; display: flex; flex-direction: column; padding: 39px; border: 1px solid #dfe5ee; border-radius: 25px; background: #fff; box-shadow: 0 24px 70px rgba(4,20,48,.08); }
.agency-price-primary { border: 2px solid #3b74ff; }
.agency-price-primary::before { content: ''; position: absolute; inset: 0; z-index: 0; border-radius: inherit; background: linear-gradient(150deg, rgba(59,116,255,.065), transparent 48%); pointer-events: none; }
.agency-price-card > * { position: relative; z-index: 1; }
.agency-price-top { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.agency-price-top p { margin: 0; font-size: 18px; font-weight: 800; }
.agency-price-top span { padding: 7px 10px; color: #25604c; border-radius: 100px; background: #e6f7f1; font-size: 9px; font-weight: 900; letter-spacing: .1em; }
.agency-price-number { display: flex; align-items: center; gap: 17px; margin-top: 31px; }
.agency-price-number strong { font-size: 77px; line-height: 1; letter-spacing: -.065em; }
.agency-price-number span { color: #53617a; font-weight: 750; line-height: 1.35; }
.agency-price-detail { min-height: 52px; margin: 17px 0 0; color: #65728a; }
.agency-price-card ul { display: grid; gap: 12px; padding: 25px 0; margin: 24px 0 30px; border-top: 1px solid #e3e8f0; list-style: none; }
.agency-price-card li { position: relative; padding-left: 28px; }
.agency-price-card li::before { content: '✓'; position: absolute; left: 0; color: #278767; font-weight: 900; }
.agency-price-card .button { width: 100%; margin-top: auto; }
.agency-button-secondary { color: #245ed8; background: #eef4ff; border-color: #d6e3ff; box-shadow: none; }
.agency-button-secondary:hover { color: #1749b4; background: #e5eeff; box-shadow: none; }
.agency-price-promise { display: grid; grid-template-columns: auto 1fr; gap: 22px; align-items: center; max-width: 1000px; padding: 27px 31px; margin-top: 20px; border: 1px solid #cfe8de; border-radius: 19px; background: #eff9f5; }
.agency-price-promise > span { display: grid; place-items: center; width: 54px; height: 54px; color: #23775a; border-radius: 15px; background: #d9f2e9; font-size: 31px; font-weight: 850; }
.agency-price-promise strong { font-size: 18px; }
.agency-price-promise p { margin: 2px 0 0; color: #60756e; }

.agency-faq { padding: 108px 0; background: #f5f7fb; }
.agency-faq-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: 105px; align-items: start; }
.agency-faq-grid > div:first-child > p:last-child { color: #65728a; font-size: 18px; }
.agency-faq .faq-list { display: grid; gap: 12px; }
.agency-faq .faq-list details { border: 1px solid #dfe5ee; border-radius: 16px; background: #fff; }
.agency-faq .faq-list summary { padding: 21px 76px 21px 23px; }
.agency-faq .faq-list summary::after { content: ''; top: 50%; right: 20px; width: 40px; height: 40px; border: 1px solid #dbe5fb; border-radius: 13px; background: linear-gradient(#486fe0, #486fe0) center / 14px 2px no-repeat, linear-gradient(#486fe0, #486fe0) center / 2px 14px no-repeat, #f1f5ff; box-shadow: inset 0 1px 0 rgba(255,255,255,.75); transform: translateY(-50%); transition: border-color .2s, background-color .2s, box-shadow .2s; }
.agency-faq .faq-list details[open] summary::after { content: ''; border-color: #c9d8f8; background: linear-gradient(#315fd3, #315fd3) center / 14px 2px no-repeat, #eaf0ff; box-shadow: inset 0 0 0 1px rgba(255,255,255,.55); }
.agency-faq .faq-list summary:hover::after, .agency-faq .faq-list summary:focus-visible::after { border-color: #b8cbf4; background-color: #e9f0ff; }
.agency-faq .faq-list details p { padding: 0 23px 23px; }

.agency-cta { padding: 90px 0; }
.agency-cta-card { display: grid; grid-template-columns: 1fr auto; gap: 75px; align-items: center; padding: 59px 64px; color: #fff; border-radius: 28px; background: linear-gradient(135deg, #1749b4, #3b74ff); box-shadow: 0 28px 70px rgba(31,83,190,.22); }
.agency-cta-card h2 { max-width: 760px; margin: 0; font-size: clamp(37px, 4.6vw, 57px); line-height: 1.07; letter-spacing: -.05em; }
.agency-cta-card p:not(.eyebrow) { margin: 15px 0 0; color: rgba(255,255,255,.7); font-size: 18px; }
.agency-cta-card > div:last-child { min-width: 250px; }
.agency-cta-card small { display: block; max-width: 250px; margin-top: 13px; color: rgba(255,255,255,.54); font-size: 11px; text-align: center; }

@media (max-width: 1050px) {
  .agency-hero-grid { grid-template-columns: 1fr; gap: 62px; }
  .agency-portal-preview { width: min(100%, 620px); }
  .agency-heading-grid { gap: 55px; }
  .agency-cta-card { grid-template-columns: 1fr; gap: 32px; }
  .agency-cta-card > div:last-child { justify-self: start; }
}

@media (max-width: 820px) {
  .agency-hero { padding-top: 125px; }
  .agency-hero-grid { padding-bottom: 60px; }
  .agency-proof-strip, .agency-heading-grid, .agency-steps, .agency-price-grid, .agency-faq-grid { grid-template-columns: 1fr; }
  .agency-proof-strip > div + div { border-top: 1px solid rgba(255,255,255,.12); border-left: 0; }
  .agency-heading-grid, .agency-faq-grid { gap: 34px; }
  .agency-math { grid-template-columns: 1fr; }
  .agency-math > i { transform: rotate(90deg); text-align: center; }
  .agency-steps article { min-height: 300px; }
  .agency-price-card { padding: 32px; }
  .agency-trial-banner { grid-template-columns: auto 1fr; }
  .agency-trial-banner > a { grid-column: 2; justify-self: start; }
  .agency-value, .agency-how, .agency-pricing, .agency-faq { padding: 82px 0; }
  .agency-cta { padding: 70px 0; }
  .agency-cta-card { padding: 45px 38px; }
}

@media (max-width: 560px) {
  .agency-hero { padding-top: 112px; }
  .agency-hero h1 { font-size: clamp(43px, 13.5vw, 60px); }
  .agency-lead { font-size: 17px; }
  .agency-actions { align-items: stretch; flex-direction: column; }
  .agency-actions .button { width: 100%; }
  .agency-portal-preview::before { display: none; }
  .portal-price { grid-template-columns: 1fr; gap: 10px; }
  .portal-price > b { display: none; }
  .portal-unlimited { padding-top: 16px; border-top: 1px solid rgba(255,255,255,.08); }
  .agency-proof-strip > div { padding-inline: 8px; }
  .agency-price-number strong { font-size: 66px; }
  .agency-trial-banner { grid-template-columns: 1fr; padding: 23px; }
  .agency-trial-banner > a { grid-column: 1; }
  .agency-price-promise { grid-template-columns: 1fr; }
  .agency-cta-card { padding: 36px 25px; border-radius: 22px; }
  .agency-cta-card .button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .agency-page * { scroll-behavior: auto; }
}
