/* RelayAI public knowledge pages — shared editorial layout */
body.geo-content-page {
  background:
    radial-gradient(circle at 88% 0, rgba(36,84,240,.055), transparent 28rem),
    var(--paper);
}

body.geo-content-page .article-hero,
body.geo-content-page .models-hero,
body.geo-content-page .guide-hero {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:94px 0 70px;
  background:linear-gradient(118deg,#f6f3ed 0%,#eef2fd 57%,#f7f8fc 100%);
  border-bottom:1px solid var(--line);
}

body.geo-content-page .article-hero::before,
body.geo-content-page .models-hero::before,
body.geo-content-page .guide-hero::before {
  content:"";
  position:absolute;
  z-index:-1;
  width:29rem;
  height:29rem;
  right:-8rem;
  top:-16rem;
  border-radius:50%;
  background:radial-gradient(circle,rgba(36,84,240,.16) 0,rgba(36,84,240,.025) 47%,transparent 70%);
}

body.geo-content-page .article-hero::after,
body.geo-content-page .models-hero::after,
body.geo-content-page .guide-hero::after {
  content:"";
  position:absolute;
  z-index:-1;
  width:13rem;
  height:13rem;
  right:15%;
  bottom:-8rem;
  border:1px solid rgba(36,84,240,.14);
  border-radius:50%;
  box-shadow:0 0 0 24px rgba(36,84,240,.025),0 0 0 50px rgba(36,84,240,.018);
}

body.geo-content-page .article-hero h1,
body.geo-content-page .models-hero h1,
body.geo-content-page .guide-hero h1 {
  max-width:940px;
  margin:16px 0 18px;
  font-size:clamp(38px,5.1vw,60px);
  line-height:1.08;
  letter-spacing:-.045em;
}

body.geo-content-page .article-hero p,
body.geo-content-page .models-hero p,
body.geo-content-page .guide-hero p {
  max-width:780px;
  font-size:17px;
  line-height:1.8;
  color:var(--ink-2);
}

body.geo-content-page .guide-hero .updated {
  margin-top:26px;
  padding:7px 11px;
  width:max-content;
  border:1px solid var(--line);
  border-radius:999px;
  background:rgba(255,255,255,.55);
}

body.geo-content-page .article-layout,
body.geo-content-page .article-main,
body.geo-content-page .models-main {
  max-width:920px;
  padding:64px 0 96px;
}

body.geo-content-page .article-layout > article,
body.geo-content-page .article-main > article,
body.geo-content-page .guide-article {
  display:grid;
  gap:22px;
}

body.geo-content-page .article-layout section,
body.geo-content-page .article-main article > section,
body.geo-content-page .guide-article > section {
  margin:0;
}

body.geo-content-page .article-layout section:not(.cta-box),
body.geo-content-page .article-main article > section:not(.key):not(.cta),
body.geo-content-page .guide-article > section:not(.summary) {
  padding:30px 32px;
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  background:rgba(255,255,255,.86);
  box-shadow:var(--shadow-sm);
}

body.geo-content-page .article-layout h2,
body.geo-content-page .article-main h2,
body.geo-content-page .guide-article h2,
body.geo-content-page .models-main .how h2 {
  margin:0 0 13px;
  font-size:28px;
  letter-spacing:-.03em;
}

body.geo-content-page .guide-article h2:not(:first-child) { margin-top:0; }

body.geo-content-page .article-layout p,
body.geo-content-page .article-layout li,
body.geo-content-page .article-main p,
body.geo-content-page .article-main li,
body.geo-content-page .guide-article p,
body.geo-content-page .guide-article li {
  color:var(--ink-2);
  font-size:15px;
  line-height:1.86;
}

body.geo-content-page .article-layout p + p,
body.geo-content-page .article-main p + p,
body.geo-content-page .guide-article p + p { margin-top:12px; }

body.geo-content-page .article-layout ul,
body.geo-content-page .article-main ul,
body.geo-content-page .guide-article ul { margin:13px 0 0; }

body.geo-content-page .article-layout li + li,
body.geo-content-page .article-main li + li,
body.geo-content-page .guide-article li + li { margin-top:7px; }

body.geo-content-page .notice,
body.geo-content-page .article-main .key,
body.geo-content-page .guide-article .summary {
  position:relative;
  margin:0;
  padding:22px 24px 22px 27px;
  overflow:hidden;
  border:1px solid var(--accent-line);
  border-radius:var(--r-lg);
  background:linear-gradient(120deg,rgba(36,84,240,.10),rgba(36,84,240,.035));
  box-shadow:var(--shadow-sm);
}

body.geo-content-page .notice::before,
body.geo-content-page .article-main .key::before,
body.geo-content-page .guide-article .summary::before {
  content:"";
  position:absolute;
  inset:14px auto 14px 0;
  width:3px;
  border-radius:0 4px 4px 0;
  background:var(--accent);
}

body.geo-content-page .notice b,
body.geo-content-page .notice strong,
body.geo-content-page .article-main .key strong,
body.geo-content-page .guide-article .summary strong { color:var(--ink); }

body.geo-content-page .steps { gap:12px; margin-top:18px; }

body.geo-content-page .step {
  border-color:var(--line);
  border-radius:14px;
  background:var(--surface-2);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}

body.geo-content-page .step:hover {
  transform:translateY(-2px);
  border-color:var(--accent-line);
  box-shadow:var(--shadow-sm);
}

body.geo-content-page .article-layout .step { padding:20px 22px; }
body.geo-content-page .article-layout .step b { color:var(--ink); margin-bottom:5px; }

body.geo-content-page .article-layout .cta-box,
body.geo-content-page .article-main .cta {
  margin:0;
  padding:34px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:var(--r-xl);
  background:linear-gradient(135deg,#151a31,#171923 58%,#202a4c);
  box-shadow:0 18px 42px rgba(21,25,35,.18);
}

body.geo-content-page .article-layout .cta-box h2,
body.geo-content-page .article-main .cta h2 { color:#fff; }

body.geo-content-page .article-layout .cta-box p,
body.geo-content-page .article-main .cta p { color:rgba(255,255,255,.76); }

body.geo-content-page .article-main .compare {
  margin-top:18px;
  border-color:var(--line-2);
  border-radius:12px;
  background:var(--surface-2);
}

body.geo-content-page .article-main .compare th { background:rgba(36,84,240,.06); }

body.geo-content-page .article-main .cards {
  gap:12px;
  margin-top:18px;
}

body.geo-content-page .article-main .card {
  padding:20px;
  border-radius:14px;
  background:var(--surface-2);
}

body.geo-content-page .article-main .card h3 { margin:12px 0 7px; }

body.geo-content-page .guide-layout {
  grid-template-columns:minmax(0,1fr) 238px;
  gap:46px;
  padding:64px 0 96px;
}

body.geo-content-page .guide-article { max-width:800px; }

body.geo-content-page .guide-aside {
  top:94px;
  padding:18px 0 18px 20px;
  border:1px solid var(--line);
  border-width:1px 0 1px 1px;
  border-radius:0 var(--r) var(--r) 0;
  background:rgba(255,255,255,.42);
}

body.geo-content-page .guide-aside a { margin-top:12px; }

body.geo-content-page .faq { margin-top:4px; }
body.geo-content-page .faq details { padding:17px 0; }
body.geo-content-page .faq summary { line-height:1.55; }

body.geo-content-page .models-main { max-width:1160px; }

body.geo-content-page .models-main > .notice { margin-bottom:22px; }

body.geo-content-page .model-grid { gap:16px; }

body.geo-content-page .model-card {
  min-height:252px;
  padding:25px;
  border-radius:var(--r-lg);
  background:rgba(255,255,255,.88);
  box-shadow:var(--shadow-sm);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}

body.geo-content-page .model-card:hover {
  transform:translateY(-4px);
  border-color:var(--accent-line);
  box-shadow:var(--shadow);
}

body.geo-content-page .model-card .icon {
  margin-bottom:16px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}

body.geo-content-page .model-card h2 { margin:0 0 8px; }

body.geo-content-page .models-main .how {
  margin-top:30px;
  padding:32px;
  border:1px solid var(--line);
  border-radius:var(--r-xl);
  background:rgba(255,255,255,.65);
}

body.geo-content-page .models-main .flow { gap:12px; margin-top:20px; }

body.geo-content-page .models-main .flow div {
  padding:19px;
  border-color:var(--line);
  background:var(--surface-2);
}

body.geo-content-page .page-footer,
body.geo-content-page .guide-footer,
body.geo-content-page .models-footer,
body.geo-content-page .article-footer {
  padding:32px 0 36px;
  background:rgba(255,255,255,.38);
  border-top:1px solid var(--line);
}

body.geo-content-page .page-footer a,
body.geo-content-page .guide-footer a,
body.geo-content-page .models-footer a,
body.geo-content-page .article-footer a {
  color:var(--ink-2);
  text-underline-offset:3px;
}

body.geo-content-page .page-footer a:hover,
body.geo-content-page .guide-footer a:hover,
body.geo-content-page .models-footer a:hover,
body.geo-content-page .article-footer a:hover { color:var(--accent); }

@media (max-width:860px) {
  body.geo-content-page .guide-layout { grid-template-columns:1fr; gap:0; padding:50px 0 72px; }
  body.geo-content-page .guide-aside { display:none; }
  body.geo-content-page .model-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:640px) {
  body.geo-content-page .article-hero,
  body.geo-content-page .models-hero,
  body.geo-content-page .guide-hero { padding:70px 0 54px; }
  body.geo-content-page .article-hero h1,
  body.geo-content-page .models-hero h1,
  body.geo-content-page .guide-hero h1 { margin:13px 0 15px; font-size:clamp(34px,10vw,45px); }
  body.geo-content-page .article-hero p,
  body.geo-content-page .models-hero p,
  body.geo-content-page .guide-hero p { font-size:15.5px; line-height:1.75; }
  body.geo-content-page .article-layout,
  body.geo-content-page .article-main,
  body.geo-content-page .models-main { padding:42px 0 64px; }
  body.geo-content-page .article-layout > article,
  body.geo-content-page .article-main > article,
  body.geo-content-page .guide-article { gap:16px; }
  body.geo-content-page .article-layout section:not(.cta-box),
  body.geo-content-page .article-main article > section:not(.key):not(.cta),
  body.geo-content-page .guide-article > section:not(.summary) { padding:24px 20px; border-radius:14px; }
  body.geo-content-page .article-layout h2,
  body.geo-content-page .article-main h2,
  body.geo-content-page .guide-article h2,
  body.geo-content-page .models-main .how h2 { font-size:23px; }
  body.geo-content-page .article-layout p,
  body.geo-content-page .article-layout li,
  body.geo-content-page .article-main p,
  body.geo-content-page .article-main li,
  body.geo-content-page .guide-article p,
  body.geo-content-page .guide-article li { font-size:14.5px; }
  body.geo-content-page .notice,
  body.geo-content-page .article-main .key,
  body.geo-content-page .guide-article .summary { padding:19px 18px 19px 22px; border-radius:14px; }
  body.geo-content-page .article-layout .cta-box,
  body.geo-content-page .article-main .cta { padding:26px 22px; border-radius:18px; }
  body.geo-content-page .article-main .cta .btn + .btn { margin:10px 0 0 !important; }
  body.geo-content-page .article-main .compare { margin-right:-2px; }
  body.geo-content-page .model-grid { grid-template-columns:1fr; gap:12px; }
  body.geo-content-page .model-card { min-height:0; padding:22px; }
  body.geo-content-page .models-main .how { margin-top:22px; padding:24px 20px; border-radius:18px; }
  body.geo-content-page .models-main .flow { grid-template-columns:1fr; }
  body.geo-content-page .guide-hero .updated { margin-top:20px; }
  body.geo-content-page .page-footer,
  body.geo-content-page .guide-footer,
  body.geo-content-page .models-footer,
  body.geo-content-page .article-footer { padding:26px 0 30px; }
}

@media (prefers-reduced-motion:reduce) {
  body.geo-content-page .step,
  body.geo-content-page .model-card { transition:none; }
}
