/* Common controls and bottom-aligned section headings. */
.section-heading,.heading-bottom,.audience-heading{align-items:flex-end}.section-heading>p{align-self:flex-end;margin-bottom:0}.section-heading h2{margin-bottom:0}.desktop-nav{gap:clamp(16px,1.4vw,27px)}.desktop-nav a{white-space:nowrap}.header-inner{gap:clamp(18px,1.7vw,32px)}
.text-link,.app-link,.footer-main a:not(.brand),.footer-main button,.footer-bottom a,.article-breadcrumb a,.article-body a:not(.button){display:inline-block;background-image:linear-gradient(currentColor,currentColor)!important;background-repeat:no-repeat!important;background-size:20% 2px!important;background-position:left calc(100% - 4px)!important;padding-bottom:8px;text-decoration:none!important;transition:background-size .38s var(--ease),color .25s}.text-link:is(:hover,:focus-visible),.app-link:is(:hover,:focus-visible),.footer-main a:not(.brand):is(:hover,:focus-visible),.footer-main button:is(:hover,:focus-visible),.footer-bottom a:is(:hover,:focus-visible),.article-breadcrumb a:is(:hover,:focus-visible),.article-body a:not(.button):is(:hover,:focus-visible){background-size:100% 2px!important}.text-link::after,.app-link::after{content:none!important}.footer-main>div{align-items:flex-start}.footer-main a:not(.brand){align-self:flex-start}.footer-bottom{gap:24px;flex-wrap:wrap}.footer-credit{margin-left:auto}.footer-credit a{font-weight:600}
.faq-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(32px,6vw,115px)}.faq-content{min-width:0}.faq-categories{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}.faq-categories button{font-size:var(--control-fluid);font-weight:550;border:1px solid #dce4f1;border-radius:999px;background:#f4f7fc;color:#4c5670;padding:10px 17px;transition:background .25s,color .25s,border-color .25s}.faq-categories button:hover{background:#e5edff;border-color:#8bacf5;color:#2454cf}.faq-categories button[aria-selected=true]{color:white;background:#2459e2;border-color:#2459e2}.faq-card{padding:0;border:1px solid #dce4f1;border-radius:18px;background:#f6f8fc;margin:0 0 12px;overflow:clip}.faq-card summary{font-size:var(--body-fluid);font-weight:550;line-height:1.6;padding:23px 25px;display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;list-style:none;color:#17223b}.faq-card summary::-webkit-details-marker{display:none}.faq-card summary span{display:grid;place-items:center;flex:0 0 28px;height:28px;border:1px solid #c8d7f4;border-radius:50%;background:white;color:#2454cf;transition:transform .35s var(--ease)}.faq-card[open] summary span{transform:rotate(45deg)}.faq-card[open]{background:#eef3ff;border-color:#b6ccf5}.faq-answer{overflow:hidden}.faq-answer p{padding:0 25px 24px;margin:0;color:#404b62;font-size:var(--body-fluid);line-height:1.8}.faq-panel[hidden]{display:none}.faq-section .faq-intro{position:static}.faq-intro .text-link{margin-top:22px}
.booking-dialog{width:min(1100px,calc(100vw - 40px));max-width:1100px;max-height:calc(100svh - 40px);padding:clamp(24px,3vw,48px);border:0;border-radius:24px;background:white;color:#17223b}.booking-dialog::backdrop{background:#10131ec9;backdrop-filter:blur(7px)}.booking-dialog h2{font-size:clamp(1.8rem,2.4vw,2.8rem);line-height:1.2;margin:14px 0}.booking-intro{color:#566178;font-size:1rem;margin-bottom:26px}.booking-layout{display:grid;grid-template-columns:1fr 1fr;gap:40px}.booking-layout fieldset{min-width:0;border:0;padding:0;margin:0}.booking-layout legend{font-size:1rem;font-weight:600;margin-bottom:18px}.booking-fields>legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.booking-fields{display:grid;gap:14px}.booking-fields label{font-size:.875rem;font-weight:550;color:#25314d;display:grid;gap:6px}.booking-fields input,.booking-fields select,.booking-fields textarea{font:400 1rem Montserrat,Arial,sans-serif;color:#17223b;background:#f6f8fc;border:1px solid #d7e1f2;border-radius:10px;padding:11px 13px;width:100%;min-height:44px;outline-offset:2px}.booking-fields textarea{resize:vertical}.booking-fields :is(input,select,textarea):focus{border-color:#2663f7;outline:2px solid #2663f744}.booking-calendar{background:#f5f7fc!important;border:1px solid #dce4f2!important;border-radius:18px;padding:20px!important}.booking-calendar legend{float:left;width:100%;margin-bottom:12px}.calendar-month{clear:both;display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;text-transform:capitalize}.calendar-month strong{font-size:1rem}.calendar-month button{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;font-size:1.5rem;background:white;color:#2454cf;border:1px solid #d9e3f6}.calendar-month button:disabled{opacity:.35;cursor:default}.calendar-weekdays,.booking-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-weekdays span{text-align:center;font-size:.75rem;color:#667086;padding-bottom:8px}.booking-days button{font:500 .875rem Montserrat,Arial,sans-serif;border:1px solid transparent;border-radius:50%;aspect-ratio:1;background:white;color:#24324f;transition:background .2s,color .2s}.booking-days button:hover:not(:disabled){background:#e0eaff;border-color:#85a8f6}.booking-days button:disabled{background:none;color:#a8b0c0;cursor:default}.booking-days button[aria-pressed=true],.booking-times button[aria-pressed=true]{background:#2459e2;color:#fff;border-color:#2459e2}.booking-zone{font-size:.75rem;color:#5d6880;margin:14px 0 20px}.booking-times-heading{display:grid;gap:3px;margin-bottom:12px;font-size:.875rem}.booking-times-heading span{font-size:.75rem;color:#5d6880}.booking-times{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.booking-times button{padding:10px 4px;font:500 .875rem Montserrat,Arial,sans-serif;background:white;border:1px solid #d2dff4;color:#2454cf;border-radius:9px;transition:background .2s,color .2s}.booking-times button:hover{background:#e3ecff}.booking-consent{display:flex;align-items:flex-start;gap:10px;font-size:.8125rem;line-height:1.6;margin:24px 0 20px;color:#4c5770}.booking-consent input{width:18px;height:18px;accent-color:#2459e2;margin-top:2px;flex:0 0 18px}.booking-submit{display:flex;align-items:center;gap:24px}.booking-submit p{font-size:.875rem;color:#43506b;line-height:1.7;max-width:580px}.booking-submit .button{flex-shrink:0}.booking-submit p.booking-success{padding:15px;background:#edf3ff;border-radius:12px;color:#24375a}
.case-hero{padding-block:clamp(60px,6vw,115px);display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(35px,5vw,96px);align-items:center}.case-hero h1{font-size:clamp(2.1rem,1.25rem + 2.6vw,4.5rem);line-height:1.14;letter-spacing:-.045em;margin-bottom:24px}.case-hero p:not(.eyebrow){color:#4c5770;font-size:var(--body-fluid);line-height:1.8;max-width:660px}.case-hero .hero-cta{margin-top:28px}.case-visual{overflow:hidden;border-radius:22px;background:#eef3fb;aspect-ratio:1.4}.case-visual img{width:118%;max-width:none;margin-left:-2%;height:100%;object-fit:cover;object-position:left top}.case-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:var(--section-space)}.case-metric{padding:27px;border-radius:18px;background:#f3f6fc;border:1px solid #dce4f1}.case-metric strong{font-size:clamp(2rem,2.7vw,3.2rem);line-height:1.2;color:#2459e2;display:block;margin-bottom:8px}.case-metric p{font-size:var(--control-fluid);line-height:1.7;color:#43516c}.case-topic{border:1px solid #dce4f1;border-radius:18px;padding:24px;background:#f5f7fc;display:flex;gap:18px;align-items:flex-start}.case-topic>span{flex-shrink:0}.case-topic h3{font-size:1.2rem}.case-topic p{font-size:.9375rem;color:#526078;line-height:1.8;margin-top:8px}.case-process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding-bottom:var(--section-space)}.case-featured{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;background:#f4f7fc;border:1px solid #dce4f1;border-radius:24px;padding:38px}.case-featured h2{font-size:clamp(1.7rem,2.3vw,2.8rem);line-height:1.25;margin:20px 0}.case-featured p{color:#526078;line-height:1.8}.case-featured .text-link{margin-top:25px}.cases-list{padding-bottom:var(--section-space)}.case-article .article-layout{margin-top:0}.case-article .case-result-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.case-result-grid>div{background:#f4f7fc;border:1px solid #dce4f1;border-radius:16px;padding:22px}.case-result-grid h3{font-size:1.125rem!important;margin:0 0 10px}.case-result-grid p{font-size:.9375rem;line-height:1.8}.article-table-scroll{overflow:auto;border:1px solid #dce4f1;border-radius:14px;margin:28px 0}.article-body table{width:100%;border-collapse:collapse;min-width:760px;font-size:.875rem;line-height:1.7}.article-body th{text-align:left;padding:18px;background:#eaf0fc;color:#1e3f8d;vertical-align:top}.article-body td{padding:18px;vertical-align:top;border-top:1px solid #dce4f1;color:#43506b}.article-body tr:nth-child(even){background:#f7f9fd}.article-body td:first-child{color:#1c2d4f;font-weight:550}.article-body section{scroll-margin-top:130px}
@media(max-width:1400px){.desktop-nav{gap:16px}.header-actions{gap:12px}.header-inner{gap:20px}.site-header .brand{width:130px}.app-link{display:none}}@media(max-width:1050px){.desktop-nav{display:none}.menu-toggle{display:block}.header-inner{justify-content:space-between}.case-process-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:850px){.faq-section{grid-template-columns:1fr;gap:30px}.booking-layout{gap:24px}.booking-submit{align-items:flex-start;flex-direction:column}.case-hero{grid-template-columns:1fr}.case-featured{gap:28px;padding:28px}.case-metrics{gap:12px}.case-metric{padding:20px}.footer-credit{margin-left:0}}@media(max-width:600px){.booking-dialog{width:calc(100vw - 24px);max-height:calc(100svh - 24px);padding:22px;border-radius:18px}.booking-layout{grid-template-columns:1fr}.booking-submit .button{width:100%}.faq-card summary{padding:19px}.faq-answer p{padding:0 19px 20px}.faq-categories{gap:7px}.faq-categories button{padding:9px 13px}.case-metrics,.case-process-grid,.case-featured,.case-article .case-result-grid{grid-template-columns:1fr}.case-hero{padding-top:45px}.case-featured{padding:23px}.footer-bottom{gap:16px}.footer-credit{order:2;width:100%}}@media(prefers-reduced-motion:reduce){.faq-card summary span,.faq-categories button,.text-link,.app-link,.footer-main a,.footer-main button,.footer-bottom a{transition:none!important}}
/* Hover-responsive transparent robot. Its screen becomes the next section. */
.ai-hero-track{height:310svh;background:#10131e}.ai-hero-track .ai-hero{isolation:isolate;min-height:600px}.ai-hero-copy{opacity:var(--ai-copy-opacity,1);transition:none;position:relative;z-index:2}.ai-hero:before{display:none}.robot-scene{aspect-ratio:1214/1295;perspective:1400px;animation:robot-arrive 1.15s cubic-bezier(.22,.8,.25,1) both}.robot-rig{transform-origin:50% 27.104%;transform:translate3d(calc(var(--robot-x,0px) + var(--zoom-x,0px)),calc(var(--robot-y,0px) + var(--zoom-y,0px)),0) rotateX(var(--robot-rx,0deg)) rotateY(var(--robot-ry,0deg)) scale(var(--robot-zoom,1));filter:none;transition:transform .28s cubic-bezier(.22,.8,.25,1);will-change:transform}.robot-scene.is-zooming .robot-rig{transition:none}.robot-head{transform-origin:50% 52%;transform:rotateX(var(--head-tilt,0deg));transition:transform .38s cubic-bezier(.22,.8,.25,1)}.robot-screen{background:#131725;overflow:hidden;clip-path:polygon(2.9% .45%,97% 0,100% 99.8%,0 100%)}.robot-screen:after{content:'';position:absolute;inset:-2px;background:white;opacity:var(--screen-white,0);pointer-events:none}.robot-live-copy{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:6% 8%}.robot-live-copy .screen-welcome{font-size:7.5cqi;font-weight:550;line-height:1.22;color:#fff;max-width:100%;margin:0;letter-spacing:-.035em}.robot-scene:not([data-phase='0']) .screen-welcome{font-size:4.2cqi;line-height:1.35}.robot-live-copy .screen-subtitle{font-size:2.8cqi;margin:2cqi 0 0;color:#c8d5ed}.robot-process{display:grid;gap:.8cqi;margin-top:2.5cqi}.robot-process p{font-size:2.15cqi;line-height:1.5;color:#9faecc;margin:0}.robot-process .process-current{color:#f2f6ff}.robot-process .process-complete{color:#b4c6e6}.robot-process .process-complete:before{content:'✓';margin-right:1.2cqi;color:#bfd6ff}.is-typing:after{content:'';display:inline-block;width:2px;height:.85em;background:#d8e4ff;margin-left:.12em;animation:typing-cursor .7s steps(1) infinite}.ai-screen-content{position:absolute;inset:0;width:100%;max-width:none;margin:0;background:white;z-index:4;display:flex;flex-direction:column;justify-content:center;padding:clamp(35px,4vw,77px) var(--page-gutter);opacity:var(--screen-content-opacity,0);pointer-events:none;overflow:auto}.ai-screen-content[aria-hidden=false]{pointer-events:auto}.ai-screen-content .section-heading{margin-bottom:32px}.ai-screen-content .ai-foundations{gap:20px}.ai-screen-content .ai-foundations>div{padding:24px}.ai-screen-content h2{color:#111321}.ai-screen-content p{color:#43516c}.ai-screen-content .eyebrow{color:#2454cf}.ai-screen-content .ai-foundations h3{font-size:clamp(1.15rem,1.35vw,1.6rem);line-height:1.4}.ai-screen-content .ai-foundations p{font-size:var(--control-fluid);line-height:1.8}.ai-screen-content .foundation-icon{margin-bottom:15px}
@keyframes robot-arrive{from{opacity:0;transform:translateY(48px) rotate(-3deg)}to{opacity:1;transform:none}}@keyframes typing-cursor{50%{opacity:0}}@media(max-width:850px){.ai-hero-track{height:auto}.ai-screen-content{position:relative;opacity:1;pointer-events:auto;padding-block:var(--section-space)}.ai-hero-track .ai-hero{display:flex;flex-direction:column;height:auto;min-height:0}.ai-screen-content .section-heading{display:block}.ai-screen-content .section-heading>p{margin-top:20px}.ai-screen-content .ai-foundations{grid-template-columns:1fr}.ai-hero-copy{opacity:1}.robot-rig{transform:translate3d(var(--robot-x,0px),var(--robot-y,0px),0) rotateX(var(--robot-rx,0deg)) rotateY(var(--robot-ry,0deg))}}
@media(prefers-reduced-motion:reduce){.ai-hero-track{height:auto}.ai-hero-track .ai-hero{position:relative;height:auto;min-height:0;display:flex;flex-wrap:wrap;flex-direction:row}.ai-hero-copy,.ai-hero .robot-scene{flex:1 1 420px}.ai-screen-content{position:relative;opacity:1;pointer-events:auto;width:100%}.robot-scene{animation:none}.is-typing:after{animation:none}.robot-rig{transform:none!important}}
.ai-definition .section-heading{align-items:flex-end}.ai-hero-track .ai-hero{min-height:0}.faq-section.section{margin-top:0}.home-case{padding-top:10px}.case-article .article-cover .case-visual{border-radius:18px 0 0 18px}.case-article .case-metrics{margin-top:55px;margin-bottom:65px}.featured-copy>p:not(.article-meta){color:#4c5770;line-height:1.8}.case-featured .eyebrow{color:#2454cf}.home-case .case-featured h3{line-height:1.4;margin-bottom:18px}.home-case .case-featured .text-link{margin-top:22px}
@media(max-width:600px){.case-article .case-metrics{margin-top:35px;margin-bottom:40px}.ai-hero-track .ai-hero{gap:0}.ai-hero .robot-scene{margin-bottom:45px}}
/* Scope application-calendar styles away from the booking calendar. */
.booking-dialog .calendar-weekdays span{background:transparent;color:#5d6880;padding:0 0 8px;border:0}.ai-screen-content .ai-foundations h3{color:#17223b}.ai-screen-content .ai-foundations .foundation-icon{grid-row:auto}
.case-visual{position:relative;aspect-ratio:1.6;background:transparent}.case-visual img{position:absolute;display:block;width:125.54371%;max-width:none;height:auto;left:-3.37153%;top:0;transform:translateY(-10.2056359%);margin:0;object-fit:initial}.case-article .article-cover .case-visual{aspect-ratio:1.62}
@media(max-width:600px){.site-header .brand{width:98px;flex:0 0 98px}.site-header .header-inner{gap:6px}.site-header .header-actions{gap:6px}.site-header .button-small{white-space:nowrap;font-size:.75rem;gap:6px;padding:10px 9px}.site-header .menu-toggle{flex:0 0 26px}.site-header .button-small .button-mark{flex:0 0 18px;width:18px;margin:0}.site-header .app-link{display:none}}
@media(max-width:360px){.site-header .brand{width:82px;flex-basis:82px}.site-header .header-inner{gap:4px}.site-header .header-actions{gap:4px}.site-header .button-small{padding:10px 8px;font-size:.7rem}.site-header .button-small .button-mark{display:none!important}.site-header .menu-toggle{width:24px;flex-basis:24px}}
@media(min-width:851px){.ai-hero-copy{container-type:inline-size}.ai-hero h1{font-size:clamp(2rem,7.25cqi,4.25rem)}.ai-hero h1>span{white-space:nowrap}}

/* Customer story collection: two brands, shared editorial structure. */
.case-hub-intro{padding-block:clamp(55px,6vw,115px) clamp(35px,4vw,65px)}
.case-hub-intro h1{font-size:clamp(2.1rem,1.25rem + 2.6vw,4.5rem);line-height:1.14;letter-spacing:-.045em;max-width:1080px;margin:20px 0 24px}
.case-hub-intro>p:not(.eyebrow){font-size:var(--body-fluid);line-height:1.8;color:#4c5770;max-width:790px}
.case-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(22px,3vw,48px)}
.case-card{min-width:0;display:flex;flex-direction:column;background:#f4f7fc;border:1px solid #dce4f1;border-radius:24px;overflow:hidden}
.case-card-image{display:block;overflow:hidden}.case-card .case-brand-art{border-radius:0}
.case-brand-art{aspect-ratio:3/2;background:#eef2f7}
.case-brand-art img{position:absolute;inset:0;transform:none;width:100%;height:100%;margin:0;max-width:100%;object-fit:cover;object-position:center}
.case-card-copy{padding:clamp(24px,2.2vw,38px);display:flex;flex:1;flex-direction:column;align-items:flex-start}
.case-card-meta{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:.8125rem;line-height:1.5;color:#526078;margin-bottom:20px}
.case-status{display:inline-block;font-size:.75rem!important;line-height:1.4;padding:6px 10px;border-radius:8px;background:#e7eafa;color:#414a8d}
.case-card h2,.home-case .case-card h3{font-size:clamp(1.4rem,1rem + 1.1vw,2.2rem);line-height:1.32;margin:0 0 18px;letter-spacing:-.025em}
.case-card h2 a,.case-card h3 a{color:inherit;text-decoration:none}
.case-card-copy>p{color:#4c5770;line-height:1.8;font-size:var(--body-fluid);margin-bottom:26px}
.case-card-copy>.text-link{margin-top:auto}.case-hub-link{margin-top:32px}
.case-scope .case-metric strong{font-size:clamp(1.5rem,2vw,2.3rem)}
.case-article .article-cover .case-brand-art{aspect-ratio:3/2}
.case-hub-intro h1,.case-article .article-heading h1{text-wrap:balance}
.case-article .article-meta>.case-status{padding:6px 10px!important}
@media(max-width:700px){.case-cards{grid-template-columns:1fr}.case-card{border-radius:20px}.case-card-meta{margin-bottom:16px}.case-hub-intro{padding-top:45px}.case-card-copy{padding:24px}}
