/* AI Services only. Responsive headings stay in server HTML. */
.ai-page { --ai-ink:#121a36; --ai-muted:#56617b; --ai-line:#e1e6f0; --ai-blue:#0057ff; color:var(--ai-ink); }
.ai-page .main__content__inner { align-items:stretch; }
.ai-page .ai-section { width:100%; min-width:0; box-sizing:border-box; padding:76px 0; scroll-margin-top:100px; }
.ai-page .ai-section--tint { background:#f5f7fb; }
.ai-page .ai-container { box-sizing:border-box; width:100%; min-width:0; max-width:1310px; margin-inline:auto; }
.ai-page :where(.ai-section) h1,.ai-page :where(.ai-section) h2,.ai-page :where(.ai-section) h3 { font-family:var(--font-display); color:var(--ai-ink); font-weight:700; }
.ai-page :where(.ai-section) h1 { font-size:clamp(36px,3.7vw,58px); line-height:1.1; letter-spacing:-.035em; margin:20px 0 24px; overflow-wrap:break-word; }
.ai-page :where(.ai-section) h2 { max-width:1000px; font-size:clamp(28px,3vw,42px); line-height:1.17; letter-spacing:-.025em; margin:0 0 24px; }
.ai-page :where(.ai-section) h3 { font-size:21px; line-height:1.3; margin:0 0 16px; letter-spacing:-.015em; }
.ai-page :where(.ai-section) p,.ai-page :where(.ai-section) dd,.ai-page :where(.ai-section) td,.ai-page :where(.ai-section) th { font-family:var(--font-body); font-size:16px; line-height:1.75; }
.ai-page :where(.ai-section) p { max-width:950px; color:var(--ai-muted); margin:0 0 24px; }
.ai-page :where(.ai-section) a { color:var(--ai-blue); }
.ai-page .ai-hero { padding:36px 0 64px; background:linear-gradient(145deg,#f4f7ff 0%,#fff 67%); }
.ai-page .ai-breadcrumb { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-bottom:36px; font:13px/1.5 var(--font-body); color:var(--ai-muted); }
.ai-page .ai-hero__grid { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(320px,.9fr); gap:64px; align-items:start; }
.ai-page .ai-hero__copy,.ai-page .ai-hero__form { min-width:0; }
.ai-page .ai-hero__copy>.eyebrow { color:var(--ai-blue); font-size:13px; font-weight:500; letter-spacing:.06em; text-transform:uppercase; margin:0; }
.ai-page #hero-intro { font-size:18px; }
.ai-page #hero-facts { display:grid; grid-template-columns:155px minmax(0,1fr); gap:12px 18px; padding:24px 0; margin:0 0 20px; border-top:1px solid var(--ai-line); border-bottom:1px solid var(--ai-line); }
.ai-page #hero-facts dt { font:600 13px/1.6 var(--font-body); }
.ai-page #hero-facts dt a { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; }
.ai-page #hero-facts dd { font-size:13px; line-height:1.65; color:var(--ai-muted); margin:0; }
.ai-page .ai-hero__form { border:1px solid var(--ai-line); border-radius:18px; padding:30px; background:#fff; box-shadow:0 16px 55px #1928560a; }
.ai-page .ai-hero__form .contact-form { margin:0; padding:0; width:100%; }
.ai-page .ai-hero__form .contact-form__heading { font-size:25px; letter-spacing:-.02em; margin-bottom:12px; }
.ai-page .ai-hero__form .contact-form__subheading { font-size:14px; line-height:1.65; }
.ai-page .ai-button { display:inline-flex; justify-content:center; align-items:center; padding:16px 24px; min-height:52px; border-radius:8px; color:#fff; background:var(--ai-blue); font:500 15px/1.4 var(--font-body); text-decoration:none; }
.ai-page .ai-jumpnav { display:flex; flex-direction:row; gap:12px 26px; flex-wrap:wrap; padding-top:22px; padding-bottom:22px; border-bottom:1px solid var(--ai-line); font:500 14px/1.7 var(--font-body); }
.ai-page .ai-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin:32px 0 0; padding:0; list-style:none; }
.ai-page .ai-grid--three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ai-page .ai-card { display:flex; flex-direction:column; min-width:0; padding:30px; border:1px solid var(--ai-line); border-radius:14px; background:#fff; }
.ai-page .ai-card p { font-size:15px; line-height:1.75; margin-bottom:20px; }
.ai-page .ai-card p:last-child { margin-bottom:0; }
.ai-page .ai-text-link { margin-top:auto; padding-top:8px; font:500 14px/1.6 var(--font-body); text-decoration:none; }
.ai-page .ai-card__number { display:block; width:42px; height:42px; margin-bottom:24px; border-radius:50%; color:var(--ai-blue); background:#edf3ff; text-align:center; font:600 14px/42px var(--font-body); }
.ai-page .ai-step-heading { display:flex; align-items:flex-start; gap:14px; margin-bottom:16px; }
.ai-page .ai-step-heading .ai-card__number { flex:0 0 42px; margin:0; }
.ai-page .ai-step-heading h3 { margin:4px 0 0; }
.ai-page #delivery ol.ai-grid>li::before { content:none; display:none; }
.ai-page .contact-form__success-cta { color:#fff; }
.ai-page .ai-note { margin-top:24px; font-size:13px; line-height:1.65; }
.ai-page #results-basis,.ai-page #scope-basis,.ai-page #evidence-method { scroll-margin-top:100px; }
.ai-page .ai-evidence { max-width:950px; margin:24px 0; border:1px solid var(--ai-line); border-radius:10px; padding:16px 20px; background:#fff; }
.ai-page .ai-evidence summary { cursor:pointer; color:var(--ai-blue); font:500 15px/1.6 var(--font-body); }
.ai-page .ai-evidence p { margin:16px 0 0; font-size:14px; }
.ai-page .ai-rating-date { font-size:13px; line-height:1.6; margin-top:8px; }
.ai-page #build-or-buy h3 { margin-top:32px; }
.ai-page .ai-table-scroll { overflow-x:auto; width:100%; min-width:0; max-width:100%; box-sizing:border-box; margin:24px 0 36px; border:1px solid var(--ai-line); border-radius:12px; }
.ai-page :where(.ai-section) table { border-collapse:collapse; width:100%; min-width:650px; background:#fff; }
.ai-page :where(.ai-section) caption { text-align:left; padding:18px 22px; font:500 14px/1.6 var(--font-body); color:var(--ai-muted); background:#f5f7fb; }
.ai-page :where(.ai-section) th,.ai-page :where(.ai-section) td { text-align:left; padding:20px 22px; border-bottom:1px solid var(--ai-line); font-size:14px; vertical-align:top; }
.ai-page :where(.ai-section) thead th { background:#edf3ff; font-weight:600; color:var(--ai-ink); }
.ai-page :where(.ai-section) tbody th { width:20%; font-weight:500; }
.ai-page :where(.ai-section) tbody tr:last-child>* { border-bottom:0; }
.ai-page .ai-question { padding:24px 0; border-bottom:1px solid var(--ai-line); }
.ai-page .ai-question summary { cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:24px; list-style:none; }
.ai-page .ai-question summary::-webkit-details-marker { display:none; }
.ai-page .ai-question summary::after { content:'+'; flex-shrink:0; color:var(--ai-blue); font:400 28px/1 var(--font-display); }
.ai-page .ai-question[open] summary::after { content:'−'; }
.ai-page .ai-question h3 { margin:0; font-size:20px; }
.ai-page .ai-question p { margin:18px 0 0; }
.ai-page .ai-source-links { display:flex; flex-wrap:wrap; gap:16px 28px; padding:0; margin:24px 0; list-style:none; font:500 14px/1.6 var(--font-body); }
.ai-page .ai-updated { font-size:13px; }
.ai-page :where(.ai-section) a:focus-visible,.ai-page summary:focus-visible,.ai-page .ai-table-scroll:focus-visible { outline:3px solid #8db3ff; outline-offset:5px; }
.ai-page .hero-variant,.ai-page .heading-variant { display:none; }
.ai-page .hero-mobile,.ai-page .heading-mobile { display:block; }
@media(min-width:768px) and (max-width:1023px) {
 .ai-page .hero-mobile,.ai-page .heading-mobile { display:none; }
 .ai-page .hero-tablet,.ai-page .heading-tablet { display:block; }
}
@media(min-width:1024px) and (max-width:1439px) {
 .ai-page .hero-mobile,.ai-page .heading-mobile { display:none; }
 .ai-page .hero-desktop,.ai-page .heading-desktop { display:block; }
}
@media(min-width:1440px) {
 .ai-page .hero-mobile,.ai-page .heading-mobile { display:none; }
 .ai-page .hero-wide,.ai-page .heading-desktop { display:block; }
}
@media(max-width:1100px) { .ai-page .ai-hero__grid { gap:32px; } .ai-page .ai-grid--three { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:900px) { .ai-page .ai-hero__grid { grid-template-columns:1fr; } .ai-page .ai-hero__form { max-width:680px; } .ai-page .ai-section { padding:52px 0; } }
@media(max-width:600px) {
 .ai-page .ai-container,.ai-page .ai-jumpnav { padding-left:20px; padding-right:20px; }
 .ai-page .ai-section { padding:40px 0; }
 .ai-page .ai-hero { padding-top:24px; }
 .ai-page .ai-breadcrumb { margin-bottom:24px; }
 .ai-page :where(.ai-section) h1 { font-size:36px; } .ai-page :where(.ai-section) h2 { font-size:29px; }
 .ai-page #hero-intro { font-size:16px; }
 .ai-page .ai-grid,.ai-page .ai-grid--three { grid-template-columns:1fr; gap:16px; }
 .ai-page .ai-card { padding:24px; }
 .ai-page .ai-hero__form { padding:22px; }
 .ai-page #hero-facts { grid-template-columns:1fr; gap:6px; }
 .ai-page #hero-facts dd { margin-bottom:12px; }
 .ai-page .ai-question h3 { font-size:18px; }
}

/* Commercial flow: proof, scope and contact stay open; technical depth is optional. */
.ai-commercial-page { --ai-anchor-offset:112px; }
.ai-commercial-page [id] { scroll-margin-top:var(--ai-anchor-offset); }
.ai-commercial-page .ai-actions { display:flex; align-items:center; flex-wrap:wrap; gap:18px 26px; }
.ai-commercial-page .ai-hero .ai-actions { margin-bottom:24px; }
.ai-commercial-page .ai-actions .ai-text-link { margin:0; padding:0; }
.ai-commercial-page .ai-hero__form .contact-form__form { padding:0; border:0; box-shadow:none; }
.ai-commercial-page a.btn--blue { color:#fff; }
.ai-commercial-page .ai-grid--four { grid-template-columns:repeat(4,minmax(0,1fr)); }
.ai-commercial-page .ai-verified { background:#101d3b; }
.ai-commercial-page .ai-verified h2,.ai-commercial-page .ai-verified>.ai-container>p { color:#fff; }
.ai-commercial-page .ai-verified>.ai-container>.eyebrow { color:#a9c3ff; font:500 13px/1.5 var(--font-body); text-transform:uppercase; letter-spacing:.06em; }
.ai-commercial-page .ai-verified .ai-card { padding:24px; }
.ai-commercial-page .ai-verified .ai-button { margin-top:28px; }
.ai-commercial-page .ai-verified ol>li::before { content:none; display:none; }
.ai-commercial-page .ai-section-descriptor { font-size:17px; line-height:1.5; color:var(--ai-muted); font-weight:500; margin-top:-10px; }
.ai-commercial-page #scope .ai-card { border-top:4px solid var(--ai-blue); }
.ai-commercial-page #scope .ai-card:nth-child(2) { box-shadow:0 10px 36px #0057ff15; }
.ai-commercial-page #scope .ai-text-link { display:inline-flex; justify-content:center; border-radius:8px; margin-top:auto; padding:13px 16px; background:var(--ai-blue); color:#fff; }
.ai-commercial-page .ai-technical-options { width:100%; box-sizing:border-box; padding-block:18px; }
.ai-commercial-page .ai-service-details { width:100%; box-sizing:border-box; border:1px solid var(--ai-line); border-radius:12px; background:#fff; margin:14px auto; }
.ai-commercial-page .ai-service-details>summary { display:flex; align-items:center; justify-content:space-between; gap:22px; padding:22px 26px; cursor:pointer; list-style:none; color:var(--ai-ink); font:600 18px/1.4 var(--font-display); }
.ai-commercial-page .ai-service-details>summary::-webkit-details-marker { display:none; }
.ai-commercial-page .ai-service-details>summary::after { content:'+'; flex:0 0 auto; color:var(--ai-blue); font-size:25px; font-weight:400; }
.ai-commercial-page .ai-service-details[open]>summary::after { content:'−'; }
.ai-commercial-page .ai-service-details>.ai-section { padding:24px 0 34px; background:#fff; }
.ai-commercial-page .ai-service-details>.ai-section>.ai-container { padding-inline:26px; }
.ai-commercial-page #results-details { max-width:1270px; width:calc(100% - 40px); margin-block:0 44px; }
.ai-commercial-page #case-studies { padding:60px 0 20px; }
.ai-commercial-page #case-studies .reviewsList__inner { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.ai-commercial-page #case-studies .reviewSplit { display:flex; min-width:0; padding:24px; }
.ai-commercial-page #case-studies .reviewSplit__inner { display:flex; flex-direction:column; height:auto; flex:1; gap:0; }
.ai-commercial-page #case-studies .reviewSplit__left,.ai-commercial-page #case-studies .reviewSplit__right { width:100%; flex:none; }
.ai-commercial-page #case-studies .reviewSplit__left { order:1; max-width:none; height:clamp(180px,24vw,340px); min-height:0; max-height:340px; aspect-ratio:auto; }
.ai-commercial-page #case-studies .reviewSplit__right { display:flex; flex:1; order:2; padding:0; }
.ai-commercial-page #case-studies .reviewSplit__slider { height:100%; max-height:none; }
.ai-commercial-page #case-studies .reviewSplit__slider__slide { height:100%; max-height:none; aspect-ratio:auto; }
.ai-commercial-page #case-studies .reviewSplit__slider__slide img { object-fit:contain; background:#f5f7fb; }
.ai-commercial-page #case-studies .reviewShort--3 { display:flex; flex:1; height:auto; }
.ai-commercial-page #case-studies .reviewShort__inner { flex:1; height:auto; box-sizing:border-box; padding:28px; gap:16px; }
.ai-commercial-page #case-studies .reviewShort__main { margin-bottom:0; }
.ai-commercial-page #case-studies .reviewShort__text { display:block; font-size:16px; line-clamp:unset; -webkit-line-clamp:unset; overflow:visible; margin:0; }
.ai-commercial-page #case-studies .reviewShort__footer { gap:16px; }
.ai-commercial-page #case-studies .reviewShort__table { font-size:12px; }
.ai-commercial-page .case-project-details { width:100%; margin-top:18px; border-top:1px solid var(--ai-line); padding-top:14px; }
.ai-commercial-page .case-project-details>summary { cursor:pointer; color:var(--ai-blue); font:500 14px/1.5 var(--font-body); }
.ai-commercial-page #founder { padding-block:60px; }
.ai-commercial-page #founder .aboutFounder__photoCont img { object-fit:cover; }
.ai-commercial-page #engagement-models { padding-block:50px; }
.ai-commercial-page #engagement-models .interactionModels__title { max-width:none; }
.ai-commercial-page .ai-contact-wrap { width:100%; box-sizing:border-box; padding-block:40px 80px; }
.ai-commercial-page #contact-form { border-radius:24px; }
.ai-commercial-page #contact-form .contact-form__content h2,.ai-commercial-page #contact-form .contact-form__content p,.ai-commercial-page #contact-form .contact-form__content a { color:#fff; }
.ai-commercial-page #contact-form .contact-form__success-cta { background:#fff; color:var(--ai-blue); }
.ai-commercial-page [data-static-catalog] .baseTabs--2 { display:block; }
.ai-commercial-page [data-static-catalog] .baseTabs__containerTabs,.ai-commercial-page [data-static-catalog] .baseTabs__wrapperTabs,.ai-commercial-page [data-static-catalog] .baseTabs__tab { height:auto; max-height:none; }
.ai-commercial-page [data-static-catalog] .baseTabs__tab { position:relative; opacity:1; pointer-events:auto; }
.ai-commercial-page [data-static-catalog] .developmentList__header,.ai-commercial-page [data-static-catalog] .developmentList__block { opacity:1; translate:0 0; }
.ai-commercial-page [data-static-catalog] .developmentList__list__item { opacity:1; transform:none; }
@media(max-width:1100px) { .ai-commercial-page .ai-grid--four { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:767px) {
 .ai-commercial-page #case-studies .reviewsList__inner { grid-template-columns:1fr; gap:24px; }
 .ai-commercial-page #case-studies .reviewSplit { padding:16px; }
 .ai-commercial-page #case-studies .reviewShort__inner { padding:22px; }
 .ai-commercial-page #case-studies { padding-top:40px; }
 .ai-commercial-page #founder { padding-block:40px; }
 .ai-commercial-page .ai-service-details>summary { padding:20px; font-size:16px; }
 .ai-commercial-page .ai-service-details>.ai-section>.ai-container { padding-inline:20px; }
 .ai-commercial-page .ai-contact-wrap { padding-block:24px 50px; }
 .ai-commercial-page #contact-form { border-radius:16px; }
}
@media(max-width:940px) {
 .ai-commercial-page [data-static-catalog] .baseTabs__containerTabs { padding:24px 20px; }
 .ai-commercial-page [data-static-catalog] .developmentList__main { grid-template-columns:1fr; padding-right:0; }
 .ai-commercial-page [data-static-catalog] .developmentList__title { font-size:24px; line-height:1.25; }
 .ai-commercial-page [data-static-catalog] .developmentList__block__list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
 .ai-commercial-page [data-static-catalog] .developmentList__list__item { min-width:0; min-height:48px; padding:8px; }
 .ai-commercial-page [data-static-catalog] .developmentList__list__name { min-width:0; font-size:14px; line-height:1.35; overflow-wrap:anywhere; }
}
@media(max-width:600px) { .ai-commercial-page .ai-grid--four { grid-template-columns:1fr; } }

/* The shared banner uses a light form card on phones and a dark card above 700px. */
@media(min-width:701px) {
 .ai-commercial-page #contact-form .contact-form__form--on-dark { background:rgba(10,32,68,.75); }
 .ai-commercial-page #contact-form .contact-form__privacy-note,.ai-commercial-page #contact-form .contact-form__reply,.ai-commercial-page #contact-form .contact-form__mail-link,.ai-commercial-page #contact-form .contact-form__mail-copy { color:#fff; }
}
@media(max-width:700px) {
 .ai-commercial-page #contact-form .contact-form__privacy-note,.ai-commercial-page #contact-form .contact-form__reply { color:var(--ai-muted); }
 .ai-commercial-page #contact-form .contact-form__privacy-note a,.ai-commercial-page #contact-form .contact-form__mail-link { color:var(--ai-blue); }
 .ai-commercial-page #contact-form .contact-form__mail { background:#f5f7fb; border-color:var(--ai-line); }
 .ai-commercial-page #contact-form .contact-form__mail-copy { color:var(--ai-blue); border-left-color:var(--ai-line); }
 .ai-commercial-page #contact-form .contact-form__mail-link:focus-visible,.ai-commercial-page #contact-form .contact-form__mail-copy:focus-visible { outline-color:var(--ai-blue); }
}

/* Shared commercial modules keep their own typography and color contrast. */
.ai-commercial-page .ai-grid--four { grid-template-columns:repeat(4,minmax(0,1fr)); }
.ai-commercial-page .ai-section-descriptor { font-size:18px; font-weight:500; line-height:1.5; color:var(--ai-muted); }
.ai-commercial-page .ai-service-details { min-width:0; margin:24px 0; border:1px solid var(--ai-line); border-radius:14px; background:#fff; }
.ai-commercial-page .ai-service-details > summary { padding:22px 26px; cursor:pointer; color:var(--ai-ink); font:600 17px/1.5 var(--font-display); }
.ai-commercial-page .ai-service-details > .ai-section { padding:22px 0 36px; }
.ai-commercial-page .ai-service-details .ai-container { padding-inline:26px; }
.ai-commercial-page .ai-technical-options { width:100%; min-width:0; padding-block:12px; }
.ai-commercial-page #results-details { width:calc(100% - 40px); max-width:1270px; margin-inline:auto; }
.ai-commercial-page .ai-contact-wrap { width:100%; min-width:0; padding-block:32px 76px; }
@media(max-width:1100px) { .ai-commercial-page .ai-grid--four { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) {
 .ai-commercial-page .ai-grid--four { grid-template-columns:1fr; }
 .ai-commercial-page .ai-service-details > summary { padding:20px; font-size:16px; }
 .ai-commercial-page .ai-service-details .ai-container { padding-inline:20px; }
 .ai-commercial-page .ai-contact-wrap { padding-bottom:40px; }
}
