/* API Access: scoped page styles, loaded only when its ACF layout is used. */
.api-access { --api-navy:#142d4d; --api-ink:#1c2b3b; --api-muted:#606d7d; --api-green:#71bf45; --api-panel:#f5f7f8; color:var(--api-ink); padding:80px 0 100px; }
.api-access .api-access__container { width:100%; max-width:1440px; padding-inline:24px; margin-inline:auto; }
.api-access h2, .api-access h3, .api-access p { margin:0; text-transform:none; }
.api-access h2 { color:var(--api-ink); font-size:clamp(28px,2.8vw,42px); line-height:1.18; font-weight:600; letter-spacing:-.015em; margin-bottom:18px; }
.api-access h3 { color:var(--api-ink); font-size:23px; line-height:1.22; font-weight:600; margin-bottom:14px; }
.api-access p, .api-access li { font-size:19px; line-height:1.55; font-weight:400; color:var(--api-muted); }
.api-access p + p { margin-top:14px; }
.api-access ul { margin:0; padding:0; list-style:none; }
.api-access .api-access__split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(32px,5vw,72px); align-items:center; }
.api-access .api-access__split > * { min-width:0; }
.api-access .api-access__highlight { color:var(--api-green); }
.api-access .api-access__eyebrow { color:#4c922f; font-size:14px; font-weight:600; line-height:1.3; text-transform:uppercase; letter-spacing:.055em; margin-bottom:10px; }
.api-access__enterprise { padding:34px 36px; border-radius:10px; background:linear-gradient(120deg,#15324f,#1b4268); box-shadow:0 12px 26px #182c4226; }
.api-access .api-access__enterprise h3 { color:#fff; margin-bottom:10px; font-size:24px; }
.api-access .api-access__enterprise p, .api-access .api-access__enterprise li { color:#dce6ee; font-size:17px; line-height:1.5; }
.api-access .api-access__enterprise .api-access__eyebrow { color:#8dd26a; font-size:14px; margin-bottom:3px; }
.api-access .api-access__enterprise-features { margin-top:24px; padding-left:18px; border-left:2px solid #8dd26a; display:grid; }
.api-access .api-access__enterprise-features li { padding:12px 0; border-bottom:1px solid #ffffff24; }
.api-access .api-access__enterprise-features li:first-child { padding-top:0; }
.api-access .api-access__enterprise-features li:last-child { border-bottom:0; padding-bottom:0; }
.api-access .api-access__enterprise-features li::before { content:none; }
.api-access .api-access__flow { display:grid; grid-template-columns:minmax(0,1fr) 50px minmax(0,1fr) 50px minmax(0,1.2fr); align-items:center; padding:44px; margin:64px 0 76px; background:var(--api-panel); border-radius:16px; }
.api-access__flow-platform, .api-access__flow-api { text-align:center; padding:24px 18px; font-size:21px; line-height:1.3; border-radius:10px; font-weight:600; }
.api-access__flow-platform { background:#fff; border:1px solid #e0e6ed; box-shadow:0 7px 18px #152c4510; }
.api-access__flow-api { background:#4f922c; color:#fff; }
.api-access__flow-api strong, .api-access__flow-api span { display:block; }
.api-access__flow-api span { font-weight:400; }
.api-access__flow-arrow { display:block; height:0; margin-inline:7px; border-top:2px dashed var(--api-green); position:relative; }
.api-access__flow-arrow::after { content:''; position:absolute; right:-1px; top:-6px; border-left:7px solid var(--api-green); border-top:5px solid transparent; border-bottom:5px solid transparent; }
.api-access .api-access__flow-destinations { display:grid; gap:10px; }
.api-access .api-access__flow-destinations li { color:#4b8c2b; font-size:19px; font-weight:600; background:#f3f9ef; border:1px solid #cce4bb; border-radius:8px; padding:10px 16px; line-height:1.3; }
.api-access__coverage > p { max-width:1100px; }
.api-access__datasets { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin-top:24px; }
.api-access__card { border:1px solid #ebeff2; border-radius:9px; padding:28px; box-shadow:0 5px 16px #1c34450d; }
.api-access__icon { display:flex; align-items:center; justify-content:center; width:44px; height:44px; color:#579e32; background:#eff7e9; border-radius:7px; margin-bottom:20px; }
.api-access__icon svg { width:23px; height:23px; }
.api-access .api-access__card h3 { font-size:23px; margin-bottom:14px; }
.api-access .api-access__bullets { display:grid; gap:5px; }
.api-access .api-access__bullets li { position:relative; padding-left:22px; font-size:18px; }
.api-access__bullets li::before { content:''; position:absolute; left:0; top:.6em; width:7px; height:7px; background:var(--api-green); }
.api-access__workflows { margin-top:78px; padding:44px 48px 48px; background:var(--api-panel); border-radius:10px; }
.api-access__workflow-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; margin-top:20px; }
.api-access__workflow-card { padding:28px; background:#fff; border-radius:7px; border-top:3px solid var(--api-green); box-shadow:0 6px 16px #1c34450d; }
.api-access .api-access__workflow-card h3 { font-size:23px; margin-bottom:12px; }
.api-access .api-access__workflow-card p { font-size:18px; line-height:1.5; }
.api-access .api-access__ai { margin-top:78px; padding:50px 48px; border-radius:10px; background:linear-gradient(110deg,#112744,#1a3b64); gap:48px; }
.api-access .api-access__ai h2 { color:#fff; }
.api-access .api-access__ai p { color:#d1dce9; }
.api-access .api-access__context h3 { font-size:20px; color:#89ce65; margin-bottom:18px; }
.api-access .api-access__tags { display:flex; flex-wrap:wrap; gap:10px; }
.api-access .api-access__tags li { font-size:17px; line-height:1.3; border:1px solid #647f9a88; background:#ffffff14; color:#e5edf6; padding:8px 17px; border-radius:999px; }
.api-access__closing { text-align:center; max-width:1120px; margin:78px auto 0; }
.api-access__closing p { max-width:1040px; margin-inline:auto; }
/* Keep the native hero, header and CTA; only size the API page's hero copy. */
.btg-api-access-page .hero__wrapper--short { min-height:600px; padding-top:220px; padding-bottom:140px; }
.btg-api-access-page .hero__title h1 { font-size:clamp(36px,3.5vw,54px); line-height:1.15; text-transform:none; }
.btg-api-access-page .hero__text p { font-size:22px; line-height:1.5; max-width:1200px; }
@media(min-width:1600px) { .btg-api-access-page .hero > .container, .btg-api-access-page .hero__breadcrumbs { max-width:1440px; padding-inline:24px; margin-inline:auto; } }
@media(max-width:1100px) {
 .api-access { padding-top:64px; padding-bottom:72px; }
 .api-access__enterprise { padding:28px; }
 .api-access .api-access__flow { padding:32px; grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr) 36px minmax(0,1.2fr); }
 .api-access__flow-platform, .api-access__flow-api { font-size:18px; padding:20px 12px; }
 .api-access .api-access__flow-destinations li { font-size:17px; }
 .api-access__workflow-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .api-access__workflows, .api-access .api-access__ai { padding:36px; }
 .api-access__card { padding:24px; }
 .api-access .api-access__card h3 { font-size:21px; }
 .btg-api-access-page .hero__wrapper--short { min-height:510px; padding-top:170px; padding-bottom:100px; }
}
@media(max-width:760px) {
 .api-access { padding:44px 0 56px; }
 .api-access .api-access__container { padding-inline:20px; }
 .api-access h2 { font-size:30px; }
 .api-access p, .api-access li { font-size:17px; }
 .api-access .api-access__split { grid-template-columns:minmax(0,1fr); gap:30px; }
 .api-access__enterprise { padding:28px 24px; }
 .api-access .api-access__flow { grid-template-columns:minmax(0,1fr); padding:28px 24px; margin:40px 0 48px; }
 .api-access__flow-platform, .api-access__flow-api { font-size:19px; padding:22px 14px; }
 .api-access__flow-arrow { height:28px; width:0; border-top:0; border-left:2px dashed var(--api-green); margin:8px auto; }
 .api-access__flow-arrow::after { right:auto; left:-6px; top:auto; bottom:-1px; border-left:5px solid transparent; border-right:5px solid transparent; border-top:7px solid var(--api-green); border-bottom:0; }
 .api-access .api-access__flow-destinations li { font-size:17px; }
 .api-access__datasets { grid-template-columns:minmax(0,1fr); gap:16px; }
 .api-access__icon { margin-bottom:16px; }
 .api-access__workflows, .api-access .api-access__ai { margin-top:48px; }
 .api-access__workflows, .api-access .api-access__ai { padding:30px 24px; }
 .api-access__workflow-grid { gap:16px; grid-template-columns:minmax(0,1fr); }
 .api-access__workflow-card { padding:24px; }
 .api-access .api-access__workflow-card h3 { font-size:22px; }
 .api-access .api-access__workflow-card p { font-size:17px; }
 .api-access .api-access__tags li { font-size:15px; padding:7px 13px; }
 .api-access__closing { margin-top:48px; text-align:left; }
 .btg-api-access-page .hero__wrapper--short { min-height:440px; padding-top:150px; padding-bottom:64px; }
 .btg-api-access-page .hero__title h1 { font-size:36px; }
 .btg-api-access-page .hero__text p { font-size:18px; line-height:1.5; }
}
/* Neutralize the theme's general span sizes inside API components. */
.api-access h2 span { font:inherit; letter-spacing:inherit; }
.api-access__flow-api span { font-size:inherit; line-height:inherit; color:inherit; }
/* The shared theme adds decorative bullets to every list item. */
.api-access .api-access__flow-destinations li::before,
.api-access .api-access__tags li::before { content:none; }
.api-access .api-access__bullets li::before { border-radius:0; }
/* Product copy remains visible when visitors skip sections or disable animation. */
.btg-api-access-page .hero .anim-items,
.btg-api-access-page .hero__breadcrumbs.anim-items,
.btg-api-access-page .cta .anim-items { opacity:1; transform:none; }

/* Motion is added by the page script; server-rendered content is never hidden. */
.btg-api-access-page .api-access__scroll-progress { position:fixed; inset:0 0 auto; height:3px; background:#8dd26a; transform:scaleX(0); transform-origin:left; z-index:10001; pointer-events:none; }
.btg-api-access-page.admin-bar .api-access__scroll-progress { top:32px; }
@media(max-width:782px) { .btg-api-access-page.admin-bar .api-access__scroll-progress { top:46px; } }
@media(prefers-reduced-motion:reduce) {
 .btg-api-access-page { scroll-behavior:auto; }
 html:has(.btg-api-access-page) { scroll-behavior:auto; }
 .btg-api-access-page .api-access__scroll-progress { display:none; }
}
.api-access__flow-arrow { transform-origin:left center; }
@media(max-width:760px) { .api-access__flow-arrow { transform-origin:center top; } }

/* Moving dashes follow each arrowhead: right on desktop, down on mobile. */
.api-access__flow-arrow {
 height:2px;
 border:0;
 background:repeating-linear-gradient(to right,var(--api-green) 0 5px,transparent 5px 10px);
 background-size:10px 2px;
 animation:api-data-flow-right .8s linear infinite;
}
.api-access__flow-arrow::after { top:-4px; }
@keyframes api-data-flow-right { to { background-position:10px 0; } }
@keyframes api-data-flow-down { to { background-position:0 10px; } }
@media(max-width:760px) {
 .api-access__flow-arrow {
  width:2px;
  height:28px;
  border:0;
  background-image:repeating-linear-gradient(to bottom,var(--api-green) 0 5px,transparent 5px 10px);
  background-size:2px 10px;
  animation-name:api-data-flow-down;
 }
 .api-access__flow-arrow::after { top:auto; left:-4px; }
}
@media(prefers-reduced-motion:reduce) {
 .api-access__flow-arrow { animation:none; }
}
/* One outgoing branch per destination, with a shared distribution spine. */
.api-access .api-access__flow-destinations {
 grid-column:4 / 6;
 position:relative;
 padding-left:50px;
}
.api-access .api-access__flow-destinations::before {
 content:'';
 position:absolute;
 left:0;
 top:calc(50% - 1px);
 width:25px;
 height:2px;
 background:repeating-linear-gradient(to right,var(--api-green) 0 5px,transparent 5px 10px);
 background-size:10px 2px;
 animation:api-data-flow-right .8s linear infinite;
}
.api-access .api-access__flow-destinations li { position:relative; }
.api-access .api-access__flow-destinations li::before {
 content:'';
 display:block;
 position:absolute;
 left:-26px;
 top:0;
 width:2px;
 height:calc(100% + 10px);
 margin:0;
 border:0;
 border-radius:0;
 background:var(--api-green);
 transform:none;
}
.api-access .api-access__flow-destinations li:first-child::before { top:50%; height:calc(50% + 10px); }
.api-access .api-access__flow-destinations li:last-child::before { top:-10px; height:calc(50% + 10px); }
.api-access .api-access__flow-destinations li:only-child::before { display:none; }
.api-access .api-access__flow-branch {
 position:absolute;
 left:-26px;
 top:calc(50% - 1px);
 width:24px;
 height:2px;
 margin:0;
 border:0;
 background:repeating-linear-gradient(to right,var(--api-green) 0 5px,transparent 5px 10px);
 background-size:10px 2px;
 animation:api-data-flow-right .8s linear infinite;
 transform-origin:left center;
}
.api-access .api-access__flow-branch::after {
 left:auto;
 right:-1px;
 top:-4px;
 bottom:auto;
 border-left:7px solid var(--api-green);
 border-top:5px solid transparent;
 border-bottom:5px solid transparent;
 border-right:0;
}
.api-access .api-access__destination-label { font:inherit; color:inherit; }
@media(max-width:1100px) and (min-width:761px) {
 .api-access .api-access__flow-destinations { padding-left:36px; }
 .api-access .api-access__flow-destinations::before { width:18px; }
 .api-access .api-access__flow-destinations li::before { left:-18px; }
 .api-access .api-access__flow-branch { left:-18px; width:16px; }
}
@keyframes api-data-flow-left { to { background-position:-10px 0; } }
@media(max-width:760px) {
 .api-access .api-access__flow-destinations { grid-column:auto; padding-left:30px; padding-top:28px; }
 .api-access .api-access__flow-destinations::before {
  left:14px;
  top:14px;
  width:calc(50% - 14px);
  animation-name:api-data-flow-left;
 }
 .api-access .api-access__flow-destinations::after {
  content:'';
  position:absolute;
  top:0;
  left:calc(50% - 1px);
  width:2px;
  height:16px;
  background:repeating-linear-gradient(to bottom,var(--api-green) 0 5px,transparent 5px 10px);
  background-size:2px 10px;
  animation:api-data-flow-down .8s linear infinite;
 }
 .api-access .api-access__flow-destinations li::before { left:-16px; }
 .api-access .api-access__flow-destinations li:first-child::before { top:-14px; height:calc(100% + 24px); }
 .api-access .api-access__flow-destinations li:only-child::before { display:block; top:-14px; height:calc(50% + 14px); }
 .api-access .api-access__flow-branch { left:-16px; width:14px; }
}
@media(prefers-reduced-motion:reduce) {
 .api-access .api-access__flow-branch,
 .api-access .api-access__flow-destinations::before,
 .api-access .api-access__flow-destinations::after { animation:none; }
}

/* A restrained cursor-following glow behind the AI section's readable content. */
.api-access .api-access__ai { position:relative; isolation:isolate; overflow:hidden; }
.api-access .api-access__ai::before {
 content:'';
 position:absolute;
 inset:0;
 z-index:0;
 pointer-events:none;
 border-radius:inherit;
 background:radial-gradient(500px circle at var(--api-glow-x,50%) var(--api-glow-y,50%),rgba(75,209,161,.23) 0,rgba(47,162,188,.18) 30%,rgba(58,116,199,.12) 54%,transparent 78%);
 opacity:0;
 transition:opacity .45s ease;
}
.api-access .api-access__ai.is-cursor-glow::before { opacity:1; }
.api-access .api-access__ai > div { position:relative; z-index:1; }
@media(prefers-reduced-motion:reduce), (hover:none), (pointer:coarse) {
 .api-access .api-access__ai::before { display:none; }
}
