/* Reusable service pages. All rules are scoped away from the approved homepage. */
.wbs-page { --service-accent:#8725eb; --service-dark:#5a19d0; --service-tint:#f3eefb; background:#fff; }
.wbs-page .header .header-join { display:inline-flex; align-items:center; justify-content:center; }
.wbs-main { overflow:clip; }
.wbs-hero { position:relative; isolation:isolate; color:#fff; background:radial-gradient(ellipse at 84% 12%,#42324555,transparent 54%),linear-gradient(115deg,#211c2a,#17141e); padding:29px 0 62px; }
.wbs-hero::before { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; background:repeating-radial-gradient(ellipse at 106% 78%,transparent 0 83px,#d8c4ec12 84px,transparent 85px 166px); mask-image:linear-gradient(90deg,transparent,#000 50%); }
.wbs-crumbs { display:flex; flex-wrap:wrap; gap:9px 12px; align-items:center; font-size:11px; font-weight:300; line-height:1.6; color:#e0dbe5; margin-bottom:38px; }
.wbs-crumbs a { padding:3px 0; }
.wbs-crumbs a:hover { color:#fff; text-decoration:underline; text-underline-offset:4px; }
.wbs-hero-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:center; }
.wbs-kicker { font-size:11px; font-weight:400; text-transform:uppercase; letter-spacing:1.7px; color:#625969; margin:0 0 20px; }
.wbs-hero .wbs-kicker { color:#fff; opacity:.86; }
.wbs-hero h1 { font-size:clamp(39px,3.95vw,55px); font-weight:300; line-height:1.13; letter-spacing:-2px; color:#fff; }
.wbs-hero-lead { color:#fff; font-size:17px; font-weight:300; line-height:1.75; margin:26px 0 0; max-width:580px; }
.wbs-actions { display:flex; flex-wrap:wrap; align-items:center; gap:22px 26px; margin-top:32px; }
.wbs-button { display:inline-flex; align-items:center; justify-content:space-between; gap:26px; padding:18px 28px; min-height:60px; border-radius:4px; font-size:15px; line-height:1.4; font-weight:300; background:linear-gradient(115deg,var(--service-accent),var(--service-dark)); color:#fff; box-shadow:0 10px 26px #08030e25; transition:transform .28s cubic-bezier(.2,.7,.25,1),box-shadow .28s; }
.wbs-button:is(:hover,:focus-visible) { transform:translateY(-3px); box-shadow:0 15px 30px #08030e35; }
.wbs-arrow { display:block; width:31px; height:21px; flex:none; transition:transform .28s cubic-bezier(.2,.7,.25,1); }
.wbs-button:is(:hover,:focus-visible) .wbs-arrow,.wbs-text-link:is(:hover,:focus-visible) .wbs-arrow { transform:translateX(5px); }
.wbs-text-link { display:inline-flex; align-items:center; gap:16px; min-height:44px; font-size:14px; font-weight:300; color:inherit; }
.wbs-text-link > span { text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:1px; }
.wbs-hero-art { position:relative; min-width:0; margin:0; }
.wbs-hero-art img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:contain; border-radius:4px; }
.wbs-hero-art:not(.wbs-art-cutout) { overflow:hidden; border-radius:4px; box-shadow:0 24px 55px #07030c38; }
.wbs-hero-art.wbs-art-cutout img { width:112%; max-width:none; margin-left:-6%; }
.wbs-hero-art.wbs-art-cutout{isolation:isolate}
.wbs-hero-art.wbs-art-cutout::after{content:"";position:absolute;z-index:-1;pointer-events:none;left:12%;right:8%;bottom:0;height:13%;border-radius:50%;background:radial-gradient(ellipse,#05030b80 0%,#08051138 48%,transparent 73%);filter:blur(9px)}
.wbs-hero-art.wbs-art-cutout img{filter:drop-shadow(0 18px 18px #05030b42)}
.wbs-hero-art:has(img[src*="/ai-agents.webp"])::after{left:24%;right:14%;bottom:-3%;height:18%;background:radial-gradient(ellipse,#030107b8 0%,#08051170 42%,transparent 73%);filter:blur(10px)}
.wbs-hero-note { margin-top:30px; padding-top:23px; border-top:1px solid #ffffff20; display:flex; flex-wrap:wrap; gap:15px 25px; font-size:11px; font-weight:300; color:#e8e2ee; }
.wbs-hero-note span { display:inline-flex; align-items:center; gap:8px; }
.wbs-hero-note span::before { content:""; width:4px; height:4px; flex:none; border-radius:50%; background:#fff; opacity:.6; }
.wbs-section { padding:76px 0; }
.wbs-section h2 { color:#25202c; font-size:clamp(30px,3vw,42px); font-weight:300; line-height:1.2; letter-spacing:-1.4px; }
.wbs-section-intro { max-width:590px; color:#57505f; font-size:16px; font-weight:300; line-height:1.75; margin:20px 0 0; }
.wbs-need-grid { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:start; }
.wbs-signals { list-style:none; margin:6px 0 0; padding:0; display:grid; gap:19px; }
.wbs-signals li { position:relative; padding:0 0 18px 26px; border-bottom:1px solid #e6e2e9; font-size:16px; font-weight:300; line-height:1.65; color:#4b4453; }
.wbs-signals li:last-child { border-bottom:0; padding-bottom:0; }
.wbs-signals li::before { content:""; width:7px; height:7px; border-radius:50%; position:absolute; top:10px; left:0; background:var(--service-accent); }
.wbs-scope { background:#f4f5f7; border-top:1px solid #eae8ed; border-bottom:1px solid #eae8ed; }
.wbs-scope-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; margin-top:35px; }
.wbs-scope-card { padding:28px 25px 31px; background:#fff; border:1px solid #e9e7ec; border-radius:4px; box-shadow:0 8px 28px #21182c04; }
.wbs-scope-mark { display:inline-grid; place-items:center; width:45px; height:45px; margin-bottom:26px; border-radius:4px; background:var(--service-tint); color:var(--service-accent); }
.wbs-scope-mark svg { width:26px; height:26px; }
.wbs-scope-card h3 { color:#282230; font-size:22px; line-height:1.3; font-weight:300; letter-spacing:-.5px; }
.wbs-scope-card p { margin:17px 0 0; color:#5a5262; font-size:15px; font-weight:300; line-height:1.75; }
.wbs-result-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; align-items:start; }
.wbs-deliverables { list-style:none; padding:0; margin:0; display:grid; gap:0; }
.wbs-deliverables li { display:flex; align-items:baseline; gap:22px; padding:21px 0; border-bottom:1px solid #e6e3e9; font-size:19px; line-height:1.5; font-weight:300; color:#302836; }
.wbs-deliverables li:first-child { padding-top:3px; }
.wbs-deliverables .wbs-number { font-size:11px; color:var(--service-accent); font-weight:400; min-width:23px; }
.wbs-result .wbs-text-link { margin-top:28px; color:#302836; }
.wbs-options { padding-top:0; }
.wbs-options-head { display:flex; align-items:end; justify-content:space-between; gap:25px; margin-bottom:30px; }
.wbs-related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; }
.wbs-related-card { position:relative; min-height:155px; display:flex; flex-direction:column; padding:25px 25px 23px; border:1px solid #e4e0e8; border-radius:4px; background:#fff; color:#302836; transition:transform .28s,border-color .28s,box-shadow .28s; }
.wbs-related-card:hover { transform:translateY(-3px); border-color:var(--service-accent); box-shadow:0 10px 30px #2c1b3b0b; }
.wbs-related-card h3 { font-weight:300; font-size:23px; letter-spacing:-.6px; line-height:1.3; margin-bottom:22px; }
.wbs-related-card p { font-size:12px; font-weight:300; line-height:1.6; color:#655c6e; padding-right:30px; }
.wbs-related-card .wbs-arrow { position:absolute; bottom:22px; right:24px; color:var(--service-accent); width:28px; }
.wbs-related-card:hover .wbs-arrow { transform:translateX(3px); }
.wbs-process { background:var(--service-tint); }
.wbs-process-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:35px; margin-top:37px; list-style:none; padding:0; }
.wbs-process-grid li { padding-top:25px; border-top:1px solid color-mix(in srgb,var(--service-accent) 25%,transparent); }
.wbs-step-number { display:block; color:var(--service-accent); font-size:12px; letter-spacing:1px; margin-bottom:24px; }
.wbs-process-grid h3 { font-size:22px; letter-spacing:-.5px; line-height:1.35; font-weight:300; color:#29222f; }
.wbs-process-grid p { color:#5a5263; font-size:15px; line-height:1.75; font-weight:300; margin-top:15px; }
.wbs-faq-grid { display:grid; grid-template-columns:.75fr 1.25fr; gap:80px; align-items:start; }
.wbs-faq details { border-bottom:1px solid #e4e0e8; }
.wbs-faq details:first-child { border-top:1px solid #e4e0e8; }
.wbs-faq summary { cursor:pointer; list-style:none; padding:24px 35px 24px 0; position:relative; font-size:17px; font-weight:300; line-height:1.5; color:#302836; }
.wbs-faq summary::-webkit-details-marker { display:none; }
.wbs-faq summary::before,.wbs-faq summary::after { content:""; position:absolute; right:2px; top:35px; width:13px; height:1px; background:#4d4356; transition:transform .2s; }
.wbs-faq summary::after { transform:rotate(90deg); }
.wbs-faq details[open] summary::after { transform:rotate(0); }
.wbs-faq details p { margin:0; padding:0 30px 23px 0; color:#5a5262; font-size:15px; font-weight:300; line-height:1.8; }
.wbs-faq { position:relative; z-index:2; overflow:visible; }
.wbs-faq-grid { position:relative; --wbs-faq-gap:80px; gap:var(--wbs-faq-gap); }
.wbs-faq-grid>div:last-child { position:absolute; top:0; right:0; width:calc((100% - var(--wbs-faq-gap)) * .625); z-index:3; }
@media(max-width:1100px) { .wbs-faq-grid { --wbs-faq-gap:45px; } }
@media(max-width:800px) { .wbs-faq { z-index:auto; } .wbs-faq-grid>div:last-child { position:relative; top:auto; right:auto; width:auto; } }
.wbs-source-note { margin-top:28px; font-size:11px; line-height:1.7; font-weight:300; color:#716777; }
.wbs-source-note a { text-decoration:underline; text-underline-offset:3px; white-space:normal; }
.wbs-contact { position:relative; overflow:hidden; isolation:isolate; padding:65px 0 68px; color:#fff; background:radial-gradient(ellipse at 85% 0,#725a7b30,transparent 65%),linear-gradient(115deg,#25202e,#19151f); border-bottom:1px solid #ffffff19; }
.wbs-contact::before { content:""; position:absolute; right:-110px; top:-200px; width:690px; height:690px; border:1px solid #ffffff12; border-radius:50%; box-shadow:0 0 0 85px #ffffff03,0 0 0 170px #ffffff02; z-index:-1; }
.wbs-contact-inner { display:grid; grid-template-columns:1.1fr .9fr; gap:65px; align-items:center; }
.wbs-contact h2 { color:#fff; font-weight:300; font-size:clamp(31px,3vw,42px); line-height:1.2; letter-spacing:-1.3px; }
.wbs-contact .wbs-kicker { color:#fff; opacity:.85; }
.wbs-contact p:not(.wbs-kicker) { color:#fff; opacity:.9; font-size:15px; font-weight:300; line-height:1.75; margin-top:22px; }
.wbs-contact .wbs-actions { margin:0; justify-content:flex-end; gap:17px 23px; }
.wbs-contact .wbs-text-link { font-size:13px; }
.wbs-catalog-hero .wbs-hero-grid { grid-template-columns:1.08fr .92fr; }
.wbs-catalog { padding:70px 0 80px; }
.wbs-catalog-row { position:relative; display:grid; grid-template-columns:80px 1fr; column-gap:35px; border-bottom:1px solid #e4e0e8; padding:38px 0; }
.wbs-catalog-row:first-child { padding-top:0; }
.wbs-catalog-symbol { width:70px; height:70px; border-radius:4px; display:grid; place-items:center; background:linear-gradient(115deg,var(--service-accent),var(--service-dark)); color:white; }
.wbs-catalog-symbol svg { width:37px; height:37px; }
.wbs-catalog-row h2 { font-size:32px; letter-spacing:-1px; font-weight:300; line-height:1.25; }
.wbs-catalog-row h2 a { display:inline-flex; align-items:center; gap:20px; }
.wbs-catalog-row h2 a .wbs-arrow { color:var(--service-accent); }
.wbs-catalog-row h2 a:hover .wbs-arrow { transform:translateX(4px); }
.wbs-catalog-row p { font-size:16px; font-weight:300; color:#625969; line-height:1.75; margin-top:16px; max-width:780px; }
.wbs-catalog-tags { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.wbs-catalog-tags a { display:inline-flex; align-items:center; gap:18px; padding:10px 15px; font-size:13px; color:#fff; background:var(--service-accent); border-radius:3px; font-weight:300; transition:transform .25s,box-shadow .25s; }
.wbs-catalog-tags a:hover { transform:translateY(-3px); box-shadow:0 8px 17px #20112815; }
.wbs-catalog-tags .wbs-arrow { width:24px; height:17px; }
.wbs-motion-ready [data-wbs-reveal] { opacity:0; translate:0 16px; }
.wbs-motion-ready [data-wbs-reveal].is-visible { opacity:1; translate:0 0; transition:opacity .55s ease,translate .55s cubic-bezier(.2,.7,.25,1); }
@media(max-width:1100px) {
  .wbs-hero-grid { gap:35px; }
  .wbs-hero h1 { font-size:44px; }
  .wbs-hero-lead { font-size:16px; }
  .wbs-scope-grid { gap:20px; }
  .wbs-scope-card { padding:25px 21px; }
  .wbs-scope-card h3 { font-size:20px; }
  .wbs-need-grid,.wbs-result-grid { gap:45px; }
  .wbs-faq-grid { gap:45px; }
  .wbs-related-card { padding:23px 20px; }
  .wbs-related-card h3 { font-size:21px; }
  .wbs-contact-inner { gap:35px; }
}
@media(max-width:800px) {
  .wbs-hero { padding-bottom:48px; }
  .wbs-hero-grid,.wbs-catalog-hero .wbs-hero-grid { grid-template-columns:1fr; gap:35px; }
  .wbs-hero h1 { font-size:clamp(40px,6.8vw,54px); }
  .wbs-hero-art { max-width:560px; width:100%; margin:auto; }
  .wbs-hero-art.wbs-art-cutout { max-width:480px; }
  .wbs-hero-art.wbs-art-cutout img { width:100%; margin-left:0; }
  .wbs-hero-note { margin-top:10px; }
  .wbs-section { padding:58px 0; }
  .wbs-need-grid,.wbs-result-grid,.wbs-faq-grid { grid-template-columns:1fr; gap:30px; }
  .wbs-scope-grid { grid-template-columns:1fr; gap:15px; }
  .wbs-scope-card { display:grid; grid-template-columns:45px 1fr; gap:0 23px; }
  .wbs-scope-mark { grid-row:1/3; margin:0; }
  .wbs-scope-card h3 { font-size:23px; }
  .wbs-scope-card p { margin-top:12px; }
  .wbs-process-grid { gap:23px; }
  .wbs-related-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .wbs-contact-inner { grid-template-columns:1fr; gap:30px; }
  .wbs-contact .wbs-actions { justify-content:flex-start; }
  .wbs-options { padding-top:0; }
  .wbs-catalog-row { grid-template-columns:60px 1fr; gap:24px; }
  .wbs-catalog-symbol { width:56px; height:56px; }
}
@media(max-width:560px) {
  .wbs-crumbs { font-size:10px; gap:6px 9px; margin-bottom:29px; }
  .wbs-kicker { font-size:10px; letter-spacing:1.4px; }
  .wbs-hero h1 { font-size:39px; letter-spacing:-1.7px; }
  .wbs-hero h1 br { display:none; }
  .wbs-hero-lead { font-size:16px; }
  .wbs-actions { gap:14px 22px; }
  .wbs-button { padding:18px 23px; min-height:58px; font-size:14px; gap:22px; }
  .wbs-text-link { font-size:13px; }
  .wbs-hero-note { display:grid; gap:10px; }
  .wbs-section h2 { font-size:31px; }
  .wbs-section-intro,.wbs-signals li { font-size:15px; }
  .wbs-scope-card { grid-template-columns:37px 1fr; gap:0 17px; padding:24px 18px; }
  .wbs-scope-mark { width:37px; height:37px; }
  .wbs-scope-mark svg { width:24px; height:24px; }
  .wbs-scope-card h3 { font-size:22px; }
  .wbs-scope-card p { grid-column:1/-1; margin-top:17px; }
  .wbs-deliverables li { font-size:18px; gap:17px; }
  .wbs-process-grid { grid-template-columns:1fr; gap:27px; }
  .wbs-process-grid li { padding-top:21px; }
  .wbs-step-number { margin-bottom:13px; }
  .wbs-process-grid p { margin-top:12px; }
  .wbs-options-head { display:block; }
  .wbs-options-head .wbs-text-link { margin-top:16px; }
  .wbs-related-grid { grid-template-columns:1fr; gap:12px; }
  .wbs-related-card { min-height:135px; }
  .wbs-related-card h3 { margin-bottom:15px; }
  .wbs-faq summary { font-size:16px; padding-top:21px; padding-bottom:21px; }
  .wbs-faq details p { font-size:14px; padding-right:12px; }
  .wbs-contact { padding:52px 0 55px; }
  .wbs-contact h2 { font-size:32px; }
  .wbs-contact .wbs-actions { align-items:flex-start; flex-direction:column; }
  .wbs-catalog { padding:50px 0; }
  .wbs-catalog-row { grid-template-columns:1fr; row-gap:19px; }
  .wbs-catalog-row h2 { font-size:29px; }
  .wbs-catalog-row h2 .wbs-arrow { width:27px; }
  .wbs-catalog-row p { font-size:15px; }
  .wbs-catalog-tags { gap:9px; }
  .wbs-catalog-tags a { font-size:12px; gap:14px; padding:10px 13px; }
}
@media(prefers-reduced-motion:reduce) {
  html:has(body.wbs-page) { scroll-behavior:auto; }
  .wbs-button,.wbs-arrow,.wbs-related-card,.wbs-catalog-tags a,.wbs-faq summary::before,.wbs-faq summary::after { transition:none; }
  .wbs-button:is(:hover,:focus-visible),.wbs-button:is(:hover,:focus-visible) .wbs-arrow,.wbs-text-link:is(:hover,:focus-visible) .wbs-arrow,.wbs-related-card:hover,.wbs-related-card:hover .wbs-arrow,.wbs-catalog-tags a:hover,.wbs-catalog-row h2 a:hover .wbs-arrow { transform:none; }
  .wbs-motion-ready [data-wbs-reveal],.wbs-motion-ready [data-wbs-reveal].is-visible { opacity:1; translate:none; transition:none; }
}

/* Conversion CTA review */
.wbs-page .wbs-button--conversion{background:linear-gradient(105deg,#db00c0,#8d13f7 55%,#155bff);color:#fff;border:0;border-radius:5px;min-height:60px;padding:18px 28px;gap:26px;font-size:15px;line-height:1.4;font-weight:300;box-shadow:0 8px 22px #7124cb20;transition:transform .25s,box-shadow .25s,filter .25s}
.wbs-page .wbs-button--conversion:is(:hover,:focus-visible){color:#fff;transform:translateY(-3px);filter:brightness(1.08);box-shadow:0 12px 26px #7124cb33}
.wbs-page .wbs-button--conversion>span{text-decoration:none}
.wbs-page :is(.wbs-result,.wbs-faq) .wbs-button--conversion{margin-top:28px}
@media(max-width:560px){.wbs-page .wbs-button--conversion{max-width:100%;padding:18px 23px;font-size:14px;gap:22px}}
@media(prefers-reduced-motion:reduce){.wbs-page .wbs-button--conversion{transition:none}.wbs-page .wbs-button--conversion:is(:hover,:focus-visible){transform:none}}
