/* Shared bright-cyan accent. Dark cyan is reserved for small text on white. */
:root {
  --blue: #00caff;
  --blue-dark: #007995;
}

.btn,
body > .site-header .nav-links > .btn,
.request-box .whatsapp,
.bot-message.user {
  background: #00caff;
  color: #09212a;
}
.btn:hover,
body > .site-header .nav-links > .btn:hover,
.request-box .whatsapp:hover { background: #39d7ff; color: #09212a; }
.btn.secondary { background: var(--soft); color: var(--ink); }
.support-toggle { background: #00caff; box-shadow: 0 8px 26px rgba(0, 202, 255, .2); }
.support-toggle:hover { box-shadow: 0 11px 28px rgba(0, 202, 255, .28); }
.support-toggle svg path { fill: #09212a; }
.support-panel { border: 1px solid #e2e9ec; }
.bot-message { border-radius: 16px 16px 16px 6px; }
.bot-message.user { border-radius: 16px 16px 6px 16px; }
.bot-option { min-height: 44px; border-radius: 12px; transition: border-color .18s ease, background-color .18s ease; }
.bot-option:hover { background: #f2fbfd; }
.bot-option:focus-visible,
.support-close:focus-visible,
.support-toggle:focus-visible { outline: 3px solid #007995; outline-offset: 3px; }
.footer .social-link:hover { background: #00caff; color: #09212a; }
.service-scope-note a,
.contact-details a,
.ap-link,
.profile .paper .textlink,
.related-articles a { color: var(--blue-dark); }
.article-categories a { color: var(--blue-dark); }
.article-categories a:hover,
.article-categories a[aria-current="page"] { background: #d9f8ff; color: #09212a; }
.article-hero .article-category { color: var(--blue-dark); }
.article-breadcrumbs { color: #586970; }
.form-row input:focus,
.form-row textarea:focus,
.academic-demo input:focus,
.academic-demo select:focus,
.academic-demo textarea:focus { box-shadow: 0 0 0 4px rgba(0, 202, 255, .16); }

/* New hero photography fills its light panel without a visible inner box. */
.hero-art { background: #effbfe; }
.hero-art img.portrait-photo {
  display: block;
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: cover;
  object-position: center top;
}
.advisor-research-note { max-width: 57ch; margin: 22px 0 0; color: var(--muted); font-size: 16px; line-height: 1.6; }
.cta-action { display: flex; flex-direction: column; align-items: center; gap: 11px; }
.cta-band .consultation-reassurance { max-width: 40ch; margin: 0; font-size: 14px; line-height: 1.45; }
.pricing-next-steps { margin-top: clamp(34px, 5vw, 64px); }
.pricing-next-steps h2 { margin: 0 0 20px; font-size: clamp(24px, 3vw, 32px); letter-spacing: -.025em; }
.pricing-next-steps ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin: 0; padding: 0; list-style: none; counter-reset: pricing-step; }
.pricing-next-steps li { counter-increment: pricing-step; padding: 23px; border: 1px solid var(--line); border-radius: 24px; background: var(--soft); color: var(--muted); line-height: 1.5; }
.pricing-next-steps li::before { content: "0" counter(pricing-step); display: block; margin-bottom: 13px; color: var(--blue-dark); font-size: 13px; font-weight: 700; }
.pricing-next-steps li strong { display: block; color: var(--ink); margin-bottom: 6px; }
.pricing-page main > .section:last-child { padding-top: 22px; }
.article-service-cta { margin: 42px 0 12px; padding: 24px 28px; border-radius: 24px; background: var(--soft); }
.article-service-cta p { margin: 0 0 10px; color: var(--ink); font-size: 18px; line-height: 1.45; font-weight: 600; }
.article-service-cta a { color: var(--blue-dark); font-size: 16px; font-weight: 700; text-decoration: none; }
.article-service-cta a:hover { text-decoration: underline; }
.contact-form h2 { margin: 0; font-size: 23px; letter-spacing: -.02em; }
.contact-form .form-row label { display: block; }
.contact-form .field-optional { color: var(--muted); font-size: .88em; font-weight: 400; }
.contact-form select { width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--ink); font: inherit; }
.contact-form select:focus-visible { outline: 3px solid var(--blue); outline-offset: 2px; }
/* Academic profile uses the same portrait as the homepage, cropped as a quiet avatar. */
.ap-hero { display: block; }
.ap-hero-text { max-width: 100%; padding-bottom: 0; }
.ap-name-row { display: flex; align-items: center; gap: clamp(18px, 3vw, 32px); }
.ap-name-row h1 { max-width: 850px; font-size: clamp(42px, 5.4vw, 72px); }
.ap-name-avatar {
  flex: 0 0 clamp(88px, 10vw, 124px);
  width: clamp(88px, 10vw, 124px);
  aspect-ratio: 1;
  border-radius: 50%;
  overflow: hidden;
  background: #effbfe;
  border: 3px solid #d6f3fb;
  box-shadow: 0 8px 22px rgba(9, 33, 42, .08);
}
.ap-name-avatar img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center top; transform: translate(6%, 10%) scale(1.28); transform-origin: center top; }

/* Keep both package actions anchored to the bottom of their cards. */
.pricing-page .pricing-grid { align-items: stretch; }
.pricing-page .price-card { display: flex; flex-direction: column; }
.pricing-whatsapp {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 50px;
  width: 100%;
  margin-top: auto;
  padding: 11px 22px;
  border-radius: 999px;
  background: #00caff;
  color: #09212a;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  transition: background-color .18s ease, transform .18s ease;
}
.pricing-whatsapp:hover { background: #39d7ff; color: #09212a; transform: translateY(-2px); }
.pricing-whatsapp:focus-visible { outline: 3px solid #007995; outline-offset: 3px; }
.pricing-whatsapp span { font-size: 22px; line-height: 1; }
.pricing-page .price-card .check-list:last-of-type { margin-bottom: 30px; }

@media (max-width: 640px) {
  .pricing-next-steps ol { grid-template-columns: 1fr; }
  .pricing-next-steps li { padding: 20px; }
  .ap-name-row { gap: 14px; align-items: flex-start; }
  .ap-name-row h1 { font-size: clamp(30px, 8vw, 44px); }
  .ap-name-avatar { flex-basis: 74px; width: 74px; }
  .academic-demo .service-card,
  .academic-demo .service-card:nth-child(2),
  .academic-demo .service-card:nth-child(4),
  .academic-demo .service-card:nth-child(5) { grid-column: auto; min-width: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .pricing-whatsapp { transition: none; }
  .pricing-whatsapp:hover { transform: none; }
}
