.ai-visibility-page { scroll-behavior: smooth; }
.ai-visibility-intro { align-items: end; }
.ai-visibility-intro .host-primary-action { text-decoration: none; }

.ai-source-card {
  align-items: center;
  display: grid;
  gap: 30px;
  grid-template-columns: 300px minmax(0, 1fr);
  margin: 0 auto 12px;
  max-width: 1500px;
  padding: 22px;
}
.ai-property-identity { align-items: center; display: flex; gap: 14px; min-width: 0; }
.ai-property-identity img { border-radius: 9px; height: 76px; object-fit: cover; width: 92px; }
.ai-property-identity > span { display: grid; min-width: 0; }
.ai-property-identity small { color: var(--blue); font-size: 10px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.ai-property-identity strong { font-size: 19px; letter-spacing: -.025em; margin-top: 6px; }
.ai-property-identity em { color: #8793a4; font-size: 12px; font-style: normal; margin-top: 4px; }
.ai-source-card form { min-width: 0; }
.ai-source-card form > label { color: #778398; display: block; font-size: 11px; font-weight: 900; letter-spacing: .11em; margin-bottom: 8px; text-transform: uppercase; }
.ai-source-card form > div { align-items: center; background: #f5f7fa; border: 1px solid #dce2e9; border-radius: 9px; display: flex; padding: 5px; }
.ai-source-card form > div:focus-within { border-color: #9cb2ff; box-shadow: 0 0 0 3px rgba(63,111,255,.1); }
.ai-source-card form > div > span { color: var(--blue); font-size: 15px; padding: 0 9px; }
.ai-source-card input { background: transparent; border: 0; color: var(--ink); flex: 1; font: inherit; font-size: 14px; min-width: 0; outline: 0; padding: 10px 0; }
.ai-source-card button { background: var(--blue); border: 0; border-radius: 7px; color: #fff; cursor: pointer; font: inherit; font-size: 12px; font-weight: 850; min-width: 124px; padding: 12px 15px; }
.ai-source-card button:disabled { cursor: default; opacity: .65; }
.ai-source-card form > p { align-items: center; color: #8b96a6; display: flex; font-size: 11px; gap: 7px; margin: 9px 0 0; }
.ai-source-card form > p > i { background: #25a46e; border-radius: 50%; height: 6px; width: 6px; }
.ai-source-card form > p > i.is-scanning { animation: ai-pulse .85s ease-in-out infinite alternate; background: var(--blue); }
@keyframes ai-pulse { to { opacity: .25; transform: scale(.75); } }

.ai-overview-grid { display: grid; gap: 12px; grid-template-columns: minmax(0, 1.25fr) minmax(340px, .75fr); margin: 0 auto 12px; max-width: 1500px; }
.ai-score-card { align-items: center; display: flex; gap: 36px; min-height: 350px; padding: 32px; }
.ai-score-ring { align-items: center; background: conic-gradient(var(--blue) 74%, #e5eaf1 0); border-radius: 50%; display: flex; flex: 0 0 204px; height: 204px; justify-content: center; position: relative; width: 204px; }
.ai-score-ring::after { background: #fff; border-radius: 50%; content: ""; inset: 12px; position: absolute; }
.ai-score-ring > span { align-items: center; display: flex; flex-direction: column; position: relative; z-index: 1; }
.ai-score-ring strong { font-size: 72px; letter-spacing: -.075em; line-height: .9; }
.ai-score-ring small { color: #8a96a7; font-size: 12px; font-weight: 800; margin-top: 10px; }
.ai-score-copy > p:first-child,
.ai-readiness-card header p,
.ai-prompt-card > header p,
.ai-recommendations > header p,
.ai-best-match > p { color: var(--blue); font-size: 12px; font-weight: 900; letter-spacing: .13em; margin: 0 0 9px; text-transform: uppercase; }
.ai-score-copy h3 { font-size: 36px; letter-spacing: -.045em; line-height: 1.02; margin: 0; }
.ai-score-copy h3 span { color: #a3adbb; }
.ai-score-copy > p:nth-of-type(2) { color: #6f7c8f; font-size: 15px; line-height: 1.65; margin: 18px 0; max-width: 560px; }
.ai-score-copy > div { align-items: center; color: #8490a1; display: flex; font-size: 12px; gap: 9px; }
.ai-score-copy > div span { background: #e0f7eb; border-radius: 999px; color: #178156; font-weight: 900; padding: 6px 8px; }

.ai-readiness-card { overflow: hidden; padding: 22px; }
.ai-readiness-card > header,
.ai-prompt-card > header,
.ai-recommendations > header { align-items: start; display: flex; justify-content: space-between; }
.ai-readiness-card h3,
.ai-prompt-card h3,
.ai-recommendations h3 { font-size: 27px; letter-spacing: -.035em; margin: 0; }
.ai-readiness-card > header > span,
.ai-prompt-card > header > span { background: #dff8eb; border-radius: 999px; color: #167a4d; font-size: 10px; font-weight: 900; padding: 7px 10px; text-transform: uppercase; }
.ai-readiness-list { margin-top: 16px; }
.ai-readiness-list > div { align-items: center; border-top: 1px solid #e5e9ef; display: grid; gap: 12px; grid-template-columns: 34px 1fr auto; padding: 13px 0; }
.ai-readiness-list > div > i { align-items: center; background: #e0f7eb; border-radius: 50%; color: #168258; display: flex; font-size: 11px; font-style: normal; font-weight: 900; height: 32px; justify-content: center; }
.ai-readiness-list > div > span { display: grid; }
.ai-readiness-list strong { font-size: 14px; }
.ai-readiness-list small { color: #8b96a6; font-size: 11px; margin-top: 5px; }
.ai-readiness-list b { color: #23845d; font-size: 11px; }
.ai-readiness-card > footer {
  align-items: start;
  background: #f5f8ff;
  border: 0;
  border-radius: 10px;
  color: #6f7d91;
  display: grid;
  font-size: 12px;
  gap: 11px;
  grid-template-columns: 30px minmax(0, 1fr);
  line-height: 1.5;
  margin-top: 13px;
  padding: 13px 14px;
}
.ai-readiness-card > footer > i {
  align-items: center;
  background: #e2eaff;
  border-radius: 50%;
  color: var(--blue);
  display: flex;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
  height: 28px;
  justify-content: center;
  width: 28px;
}
.ai-readiness-card > footer > span { display: grid; min-width: 0; }
.ai-readiness-card > footer strong { color: var(--ink); font-size: 12px; margin-bottom: 2px; }

.ai-dimension-grid { display: grid; gap: 10px; grid-template-columns: repeat(4, 1fr); margin: 0 auto 12px; max-width: 1500px; }
.ai-dimension-grid article { min-height: 185px; padding: 23px; }
.ai-dimension-grid header { align-items: center; display: flex; justify-content: space-between; }
.ai-dimension-grid header span { color: #748196; font-size: 11px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.ai-dimension-grid header i { color: #b1bbc8; font-size: 11px; font-style: normal; font-weight: 800; }
.ai-dimension-grid article > strong { display: block; font-size: 44px; letter-spacing: -.055em; margin: 18px 0 12px; }
.ai-dimension-grid article > div { background: #e9edf3; border-radius: 999px; height: 5px; overflow: hidden; }
.ai-dimension-grid article > div i { background: var(--blue); display: block; height: 100%; }
.ai-dimension-grid article > small { color: #8995a5; display: block; font-size: 12px; margin-top: 12px; }

.ai-content-grid { display: grid; gap: 12px; grid-template-columns: minmax(0, 1.35fr) minmax(310px, .65fr); margin: 0 auto 12px; max-width: 1500px; }
.ai-prompt-card { padding: 25px; }
.ai-prompt-list { margin-top: 19px; }
.ai-prompt-list > div { align-items: center; border-top: 1px solid #e4e9ef; display: grid; gap: 15px; grid-template-columns: 34px 1fr 92px; min-height: 88px; }
.ai-prompt-number { color: #a2adbb; font-size: 11px; font-weight: 850; }
.ai-prompt-list > div > div { display: grid; gap: 9px; }
.ai-prompt-list strong { font-size: 14px; font-weight: 750; }
.ai-prompt-list > div > div > span { background: #e9edf3; border-radius: 999px; height: 4px; overflow: hidden; }
.ai-prompt-list > div > div > span i { background: var(--blue); display: block; height: 100%; }
.ai-prompt-list > div > b { font-size: 18px; text-align: right; }
.ai-prompt-list > div > b small { display: block; font-size: 10px; font-weight: 800; margin-top: 4px; text-transform: uppercase; }
.ai-prompt-list b.strong { color: #178258; }
.ai-prompt-list b.opportunity { color: #a56700; }
.ai-prompt-list b.needs-detail { color: #ba514d; }

.ai-best-match { background: var(--navy); border-radius: 12px; color: #fff; padding: 29px; }
.ai-best-match > p { color: var(--aqua); }
.ai-best-match blockquote { font-size: 28px; font-weight: 750; letter-spacing: -.03em; line-height: 1.25; margin: 34px 0; }
.ai-best-match > div { border-top: 1px solid rgba(255,255,255,.13); padding-top: 21px; }
.ai-best-match > div span { color: #8ea1b9; font-size: 11px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.ai-best-match > div p { color: #b4c0cf; font-size: 14px; line-height: 1.65; margin: 9px 0 0; }
.ai-best-match > small { color: #7489a4; display: block; font-size: 11px; line-height: 1.5; margin-top: 31px; }

.ai-recommendations { margin: 0 auto 12px; max-width: 1500px; padding: 25px; scroll-margin-top: 30px; }
.ai-recommendations > header > span { color: #8c97a6; font-size: 12px; }
.ai-recommendation-list { margin-top: 20px; }
.ai-recommendation-list details { border-top: 1px solid #e3e8ef; }
.ai-recommendation-list summary { align-items: center; cursor: pointer; display: grid; gap: 17px; grid-template-columns: 42px 1fr 32px; list-style: none; min-height: 92px; }
.ai-recommendation-list summary::-webkit-details-marker { display: none; }
.ai-recommendation-list summary > i { align-items: center; background: var(--blue-soft); border-radius: 8px; color: var(--blue); display: flex; font-size: 11px; font-style: normal; font-weight: 900; height: 40px; justify-content: center; }
.ai-recommendation-list summary > span { display: grid; }
.ai-recommendation-list summary small { color: var(--blue); font-size: 10px; font-weight: 900; letter-spacing: .1em; margin-bottom: 6px; text-transform: uppercase; }
.ai-recommendation-list summary strong { font-size: 15px; }
.ai-recommendation-list summary > b { color: #9aa5b4; font-size: 20px; text-align: center; transition: transform .2s ease; }
.ai-recommendation-list details[open] summary > b { transform: rotate(45deg); }
.ai-recommendation-list details > div { display: grid; gap: 16px; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr) auto; padding: 0 0 25px 59px; }
.ai-recommendation-list details > div > p { color: #748094; font-size: 14px; line-height: 1.65; margin: 0; }
.ai-recommendation-list blockquote { background: #f5f8ff; border-left: 3px solid var(--blue); color: #4e5d72; font-size: 14px; line-height: 1.65; margin: 0; padding: 16px 18px; }
.ai-recommendation-list blockquote span { color: var(--blue); display: block; font-size: 10px; font-weight: 900; letter-spacing: .11em; margin-bottom: 6px; text-transform: uppercase; }
.ai-recommendation-list details button { align-self: start; background: #fff; border: 1px solid #d8dfe8; border-radius: 7px; color: var(--ink); cursor: pointer; font: inherit; font-size: 12px; font-weight: 850; padding: 12px 14px; white-space: nowrap; }

.ai-next-scan { align-items: center; background: var(--blue); border-radius: 12px; color: #fff; display: flex; justify-content: space-between; margin: 0 auto; max-width: 1500px; padding: 24px 27px; }
.ai-next-scan > div > span { color: #c9d5ff; display: block; font-size: 10px; font-weight: 900; letter-spacing: .12em; margin-bottom: 8px; text-transform: uppercase; }
.ai-next-scan strong { font-size: 18px; }
.ai-next-scan p { color: #d9e1ff; font-size: 13px; line-height: 1.55; margin: 6px 0 0; }
.ai-next-scan button { background: #fff; border: 0; border-radius: 8px; color: var(--ink); cursor: pointer; flex: 0 0 auto; font: inherit; font-size: 12px; font-weight: 850; margin-left: 22px; padding: 13px 15px; }
.ai-next-scan button span { color: var(--blue); margin-left: 8px; }

@media (max-width: 1120px) {
  .ai-overview-grid, .ai-content-grid { grid-template-columns: 1fr; }
  .ai-dimension-grid { grid-template-columns: repeat(2, 1fr); }
  .ai-score-card { min-height: 280px; }
  .ai-best-match { min-height: 310px; }
}

@media (max-width: 760px) {
  .ai-visibility-intro { align-items: start; }
  .ai-source-card { align-items: start; grid-template-columns: 1fr; }
  .ai-source-card form > div { align-items: stretch; display: grid; grid-template-columns: auto 1fr; }
  .ai-source-card form > div > span { align-self: center; }
  .ai-source-card button { grid-column: 1 / 3; min-height: 38px; }
  .ai-score-card { align-items: start; flex-direction: column; gap: 26px; padding: 26px; }
  .ai-score-ring { flex-basis: 174px; height: 174px; width: 174px; }
  .ai-score-ring strong { font-size: 60px; }
  .ai-readiness-card, .ai-prompt-card, .ai-recommendations { padding: 20px; }
  .ai-dimension-grid { grid-template-columns: 1fr 1fr; }
  .ai-dimension-grid article { min-height: 165px; padding: 17px; }
  .ai-prompt-list > div { align-items: start; grid-template-columns: 22px 1fr; padding: 15px 0; }
  .ai-prompt-list > div > b { grid-column: 2; text-align: left; }
  .ai-recommendations > header { display: block; }
  .ai-recommendations > header > span { display: block; margin-top: 8px; }
  .ai-recommendation-list details > div { grid-template-columns: 1fr; padding-left: 0; }
  .ai-recommendation-list details button { justify-self: start; }
  .ai-next-scan { align-items: start; display: block; }
  .ai-next-scan button { margin: 18px 0 0; }
}
