/* MDW pastel identity. Loaded after page styles; content and application styles stay intact. */
:root {
  --paper:#faf8f3; --ink:#29283c; --muted:#666576; --purple:#66508c;
  --lavender:#eee6f8; --mint:#e2eee7; --peach:#f6e4d8; --sky:#e5eef5; --line:#dddcd6;
  --navy-dark:#29283c; --navy:#343046; --navy-mid:#443d58; --navy-light:#514865;
  --teal:#66508c; --teal-light:#bca4d6; --gold:#b77748; --gold-light:#f0c9aa;
  --off-white:#f4f0f7; --gray-500:#666576; --gray-700:#514f61;
  --radius-sm:12px; --radius-md:20px; --radius-lg:26px; --radius-xl:32px;
  --shadow-card:0 3px 14px rgba(41,40,60,.035); --shadow-hover:0 14px 30px rgba(41,40,60,.08);
}
html { overflow-x:clip; }
body { background:var(--paper); color:var(--ink); width:100%; position:relative; }
::selection { background:#d9c8ef; color:var(--ink); }
h1,h2,h3,h4 { letter-spacing:-.035em; }
h2 { font-weight:500; }
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible { outline:3px solid var(--purple); outline-offset:5px; }
.site-header,.site-header.scrolled { background:rgba(250,248,243,.97); padding:20px 0; border-bottom:1px solid var(--line); box-shadow:none; backdrop-filter:blur(16px); width:100%; max-width:100vw; }
.site-header .header-inner { gap:20px; }
.site-header .logo-text,.site-header.hero-at-top .logo-text { color:var(--ink); font-size:1.2rem; letter-spacing:-.7px; }
.site-header .logo-text span,.site-header.hero-at-top .logo-text span { color:var(--purple); }
.site-header .logo-sub,.site-header.hero-at-top .logo-sub { color:var(--muted); letter-spacing:.16em; }
.site-header .nav-links { gap:18px; }
.site-header .nav-links a,.site-header.hero-at-top .nav-links a { color:var(--ink); font-size:.8rem; }
.site-header .nav-links a::after,.site-header.hero-at-top .nav-links a::after { background:var(--purple); }
.site-header .nav-links a.nav-demos,.site-header.hero-at-top .nav-links a.nav-demos { background:var(--lavender); color:var(--purple); border-color:#d9cbe6; border-radius:12px; }
.site-header .lang-toggle,.site-header.hero-at-top .lang-toggle { color:var(--ink); border-color:var(--line); background:transparent; border-radius:12px; }
.site-header .nav-toggle span,.site-header.hero-at-top .nav-toggle span { background:var(--ink); }
.site-header .nav-cta { background:var(--ink); color:white; padding:12px 17px; font-size:.8rem; margin:0; white-space:nowrap; }
.mobile-nav { background:var(--paper); border-bottom:1px solid var(--line); }
.mobile-nav a { color:var(--ink); }
.mobile-nav .btn-primary { color:white; }
.btn { border-radius:14px; box-shadow:none; gap:14px; }
.btn-primary { background:var(--ink); border-color:var(--ink); }
.btn-primary:hover { background:var(--purple); box-shadow:var(--shadow-hover); }
.btn-outline-teal { color:var(--purple); border-color:#cbbbdc; }
.section-label,.section-label.gold,.product-tag,.payment-badge { background:var(--lavender); color:var(--purple); border-color:#dacde8; border-radius:10px; letter-spacing:.12em; }
.hero { margin:105px 24px 24px; padding:76px 0 64px; border-radius:32px; background:var(--lavender); min-height:600px; }
.hero .hero-bg { background:linear-gradient(120deg,#f5f0f9 0%,#eee6f8 60%,#e1eae2 100%); }
.hero .hero-bg::before,.hero .hero-aurora,.hero .hero-shape,.hero .hero-diamond,.hero #heroCanvas,.page-hero #heroCanvas { display:none; }
.hero .hero-grid { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:40px; align-items:center; }
.hero .hero-content { max-width:700px; min-width:0; }
.hero .hero-label { background:none; border:0; padding:0; color:var(--purple); font-size:.7rem; letter-spacing:.15em; }
.hero .hero-label-alert { display:table; margin-top:12px; padding:7px 11px; background:var(--peach); border-radius:9px; color:#77513a; font-size:.62rem; letter-spacing:.04em; box-shadow:none; animation:none; }
.hero h1 { font-size:clamp(2.1rem,4.2vw,4.1rem); line-height:1.17; font-weight:500; letter-spacing:-.055em; margin:24px 0 32px; color:var(--ink); }
.hero .hero-typewriter { color:var(--purple); -webkit-text-fill-color:var(--purple); background:none; }
.hero .hero-tw-cursor { color:var(--purple); }
.hero .hero-stats { gap:10px; }
.hero .hero-stat-pill { background:rgba(255,255,255,.48); border:1px solid rgba(102,80,140,.12); box-shadow:none; border-radius:16px; padding:14px 15px; min-width:90px; }
.hero .hsp-num { color:var(--ink); font-weight:600; }
.hero .hsp-num span:last-child,.hero .hsp-icon { color:var(--purple); }
.hero .hsp-label { color:var(--muted); font-size:.62rem; }
.hero .hero-ctab { flex-wrap:wrap; max-width:520px; margin-top:26px; }
.hero .hero-ctab a { border-radius:14px; padding:16px 20px; font-weight:600; font-size:.85rem; }
.hero .hcb-green { background:var(--ink); border-color:var(--ink); }
.hero .hcb-peach { background:var(--peach); border-color:#dfc9b9; color:var(--ink)!important; }
.hero .hero-scroll { display:none; }
.hero-art { position:relative; height:390px; border-radius:30px; overflow:hidden; background:#d9c9ed; isolation:isolate; }
.hero-art::before { content:''; position:absolute; inset:28px 28px 130px 80px; border:1px solid rgba(102,80,140,.25); border-radius:26px; background:rgba(250,248,243,.35); transform:rotate(-8deg); }
.hero-art::after { content:''; position:absolute; width:56%; height:48%; bottom:-15px; inset-inline-end:-20px; background:var(--peach); border-radius:32px; transform:rotate(-12deg); }
.hero-art span { position:absolute; display:block; border-radius:24px; }
.hero-art span:nth-child(1) { width:56%; height:40%; left:28px; top:55px; background:var(--mint); transform:rotate(-8deg); }
.hero-art span:nth-child(2) { width:47%; height:42%; right:22px; top:135px; background:#b6a0ce; transform:rotate(9deg); }
.hero-art span:nth-child(3) { width:40%; height:27%; left:23px; bottom:26px; background:var(--paper); transform:rotate(-8deg); }
.hero-art span:nth-child(4) { width:34%; height:2px; left:54px; top:100px; background:#90a898; box-shadow:0 15px #90a898,0 30px #90a898; transform:rotate(-8deg); }
.hero-art span:nth-child(5) { width:55px; height:55px; right:48px; top:42px; background:var(--paper); border-radius:16px; transform:rotate(12deg); }
.hero-slides { position:absolute; inset:0; z-index:1; }
.hero-slides img { position:absolute; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity .7s; }
.hero-slides img.is-active { opacity:1; }
.hero-slide-controls { display:flex; gap:8px; position:absolute; bottom:16px; inset-inline:16px; z-index:3; justify-content:center; }
.hero-slide-controls button { min-width:44px; min-height:44px; border:1px solid #ddd2e7; background:var(--paper); color:var(--ink); border-radius:12px; cursor:pointer; }
.hero-slide-controls button[aria-pressed=true] { background:var(--ink); color:white; }
.clients-ticker { background:var(--paper); border-color:var(--line); }
.section-white,.intro-section,.products-showcase,.process-section { background:var(--paper); }
.services-section,.section-light,.industries-home,.faq-section { background:#f1edf5; }
.card,.industry-tile,.solution-card,.faq-item,.pricing-card,.contact-form-wrap,.team-card,.blog-card { border-radius:24px; border-color:var(--line); box-shadow:none; }
.services-grid .card:nth-child(3n+1),.industry-tile:nth-child(4n+1) { background:var(--lavender); }
.services-grid .card:nth-child(3n+2),.industry-tile:nth-child(4n+2) { background:var(--mint); }
.services-grid .card:nth-child(3n),.industry-tile:nth-child(4n+3) { background:var(--peach); }
.industry-tile:nth-child(4n) { background:var(--sky); }
.industry-tile { text-align:start; padding:28px; }
.industry-tile h3,.industry-tile h4 { color:var(--ink); }
.industry-tile p { color:var(--muted); }
.industry-tile:hover { background:#e8ddf2; border-color:#bca4d6; box-shadow:var(--shadow-hover); }
.industry-tile:hover h3,.industry-tile:hover h4,.industry-tile:hover .industry-icon,.industry-tile:hover p { color:var(--ink); }
.card-icon,.industry-card-icon,.solution-icon-wrap { background:rgba(255,255,255,.55); color:var(--purple); border-radius:15px; box-shadow:none; }
.domain-slider { background:var(--mint); border-color:var(--line); }
.domain-slider-label { color:#456455; }
.domain-tile { background:rgba(255,255,255,.6); color:var(--ink); border-color:#ccdcd1; border-radius:22px; }
.domain-tile i { color:var(--purple); }
.domain-tile:hover { background:var(--lavender); color:var(--ink); box-shadow:none; }
.stats-section { background:var(--mint); }
.stats-section::before { display:none; }
.stat-item { border-color:#c8d8cd; }
.stat-number { color:var(--ink); font-weight:500; }
.stat-label { color:#4e6759; }
.page-hero { margin:100px 24px 0; padding:70px 24px 60px; background:var(--lavender); border-radius:30px; }
.page-hero::before,.page-hero::after,.page-hero-aurora { display:none; }
.page-hero-content h1 { color:var(--ink); -webkit-text-fill-color:var(--ink); background:none; animation:none; white-space:normal; overflow:visible; font-weight:500; }
.page-hero-content p,.breadcrumb,.breadcrumb a { color:var(--muted); }
.page-hero-content .section-label { background:rgba(255,255,255,.6); color:var(--purple); border-color:#dacde8; }
.product-card { border:1px solid var(--line); box-shadow:none; }
.product-card-visual,.product-card-reverse .product-card-visual,.visual-block { background:var(--mint); }
.product-card-reverse .product-card-visual { background:var(--peach); }
.product-card-visual::before,.visual-block::before { display:none; }
.product-icon-large { color:var(--purple); opacity:.55; }
.visual-card { background:var(--paper); color:var(--ink); border-color:var(--line); }
.visual-card-label { color:var(--purple); }
.why-section,.section-dark,.section-navy-dark { background:var(--lavender); }
.why-card { border-radius:22px; background:rgba(238,230,248,.07); }
.why-card p,.why-point-text p { color:#d1c9dd; }
.cta-banner,.blog-post-pastel .cta-banner { background:var(--lavender); margin:24px; border-radius:30px; }
.cta-banner::before { display:none; }
.cta-banner h2 { color:var(--ink); font-weight:500; }
.cta-banner p { color:var(--muted); }
.cta-banner .btn-outline { color:var(--ink); border-color:#b8a8ca; }
.cta-banner .btn-white { background:var(--ink); color:white; }
.contact-strip { background:var(--mint); }
.contact-strip-text h3 { color:var(--ink); }
.contact-strip-text p { color:#4e6759; }
.contact-strip .btn-outline { color:var(--ink); border-color:#9db4a5; }
.site-footer { background:var(--mint); border-radius:32px 32px 0 0; }
.footer-brand p,.footer-contact-item,.footer-links a,.footer-bottom p { color:#d3cddd; }
.ba-section { background:var(--peach); }
.payment-section { background:var(--mint); }
.payment-section::before,.payment-device::before { display:none; }
.payment-content h2,.payment-benefit-text strong,.payment-flow-step-text { color:var(--ink); }
.payment-content > p,.payment-content > p.lead,.payment-benefit-text span,.payment-device-title,.payment-flow-highlight p { color:#4e6759; }
.payment-benefit-icon { color:var(--purple); background:var(--lavender); }
.payment-device { background:#f4f7f2; border-color:#c8d8cd; }
.payment-device-icon { color:var(--purple); }
.payment-flow-step { background:var(--paper); border-color:#d5dfd6; }
.payment-flow-arrow { color:#64816d; }
.payment-flow-num { background:var(--lavender); color:var(--ink)!important; border:1px solid #d4c4e4; }
.payment-flow-highlight { background:var(--lavender); border-color:#d4c4e4; }
.payment-flow-highlight strong,.payment-flow-highlight i { color:var(--purple); }
.payment-section .btn-outline { color:var(--ink); border-color:#9db4a5; }
/* Light surfaces throughout, including custom product/article panels. */
.site-header,.site-header.scrolled,.site-header.hero-at-top { background:var(--paper)!important; }
.why-section h2,.why-section h3,.why-section h4,.why-section p,
.section-header.light h2,.section-header.light p,
.why-point-text h4,.why-point-text p,.why-card h4,.why-card p,
.site-footer .logo-text,.site-footer h4,.site-footer p,.site-footer a,.site-footer span,
.footer-contact-item,.footer-links a,.footer-bottom p { color:var(--ink)!important; }
.why-card { background:rgba(255,255,255,.6); border-color:#d7cbe4; }
.why-point:not(:hover) .why-point-icon,
.why-point:not(:hover) .why-point-icon i { color:#000!important; -webkit-text-fill-color:#000!important; }
.site-footer .logo-text span { color:var(--purple)!important; }
.footer-grid,.footer-bottom { border-color:#cbd9ce; }
.btn-primary,.site-header .nav-cta,.hero .hcb-green,.cta-banner .btn-white,
.btn-hero-green,.btn-outline-navy:hover,.hero-slide-controls button[aria-pressed=true] {
  background:var(--lavender)!important; color:var(--ink)!important; border:1px solid #cbbbdc!important; box-shadow:none!important;
}
.btn-primary:hover,.site-header .nav-cta:hover,.hero .hcb-green:hover { background:#ded0ed!important; color:var(--ink)!important; }
.pastel-light-surface { background-color:var(--lavender)!important; background-image:none!important; color:var(--ink)!important; border-color:#d9cde5!important; box-shadow:none!important; }
.pastel-light-surface:nth-child(3n+2) { background-color:var(--mint)!important; border-color:#ccdcd1!important; }
.pastel-light-surface:nth-child(3n) { background-color:var(--peach)!important; border-color:#e5d3c6!important; }
.pastel-readable-text { color:var(--ink)!important; -webkit-text-fill-color:currentColor!important; }
.pastel-light-before::before,.pastel-light-after::after { background:transparent!important; box-shadow:none!important; }
@media(min-width:1100px) { .hero .container { width:calc(100% - 80px); } }
@media(max-width:1190px) { .site-header .nav-links { gap:12px; } .site-header .header-inner { gap:12px; } .site-header .logo-text { font-size:1rem; } }
@media(max-width:1024px) { .hero .hero-grid { grid-template-columns:minmax(0,1fr); } .hero .hero-content { order:0; } .hero-art { height:260px; max-width:700px; width:100%; } .hero { padding:48px 0; } }
@media(max-width:600px) {
  .site-header,.site-header.scrolled { padding:17px 0; }
  .hero { margin:92px 12px 16px; border-radius:24px; padding:32px 0; min-height:0; }
  .hero .container { width:100%; padding-inline:22px; }
  .hero .hero-grid { gap:28px; }
  .hero h1 { font-size:clamp(1.8rem,7vw,2.6rem); margin:23px 0; }
  .hero .hero-label { font-size:.6rem; letter-spacing:.08em; }
  .hero .hero-label-alert { font-size:.56rem; }
  .hero .hero-stat-pill { min-width:0; padding:12px 5px; }
  .hero .hsp-num { font-size:1.1rem; }
  .hero .hsp-label { font-size:.53rem; }
  .hero .hero-ctab { gap:9px; }
  .hero .hero-ctab a { flex:1 1 100%; padding:14px; }
  .hero-art { height:220px; border-radius:22px; }
  .page-hero { margin:88px 12px 0; padding:46px 18px; border-radius:24px; }
  .page-hero-content h1 { font-size:2rem; }
  .cta-banner { margin:12px; border-radius:24px; padding:54px 8px; }
  .industry-tile { padding:23px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}
/* Supplied panoramic photography: full hero on desktop, uncropped panel on mobile. */
.hero-has-slides { padding-bottom:100px; min-height:660px; }
.hero-has-slides .hero-grid { display:block; contain:none; }
.hero-has-slides .hero-tw-cursor { display:inline-block; }
.hero-has-slides .hero-typewriter { display:inline-block; min-height:1.2em; }
.hero-benefit { max-width:570px; color:var(--gray-700); font-size:1.06rem; line-height:1.75; margin:-12px 0 24px; }
.hero .hsp-num .hsp-count { font-size:inherit; color:var(--ink); }
.hero .hero-ctab a.hero-demo,.hero .hero-ctab a.hero-demo:hover { background:#66508c!important; color:#fff!important; border-color:#66508c!important; }
.hero-demo * { color:#fff!important; -webkit-text-fill-color:#fff!important; }
.career-notice { margin:24px auto 0; width:min(1140px,calc(100% - 36px)); padding:16px 22px; background:var(--peach); border:1px solid #e5d3c6; border-radius:16px; color:var(--ink); }
.ai-quote-block { padding:36px 0!important; }
.hero-has-slides .container { position:relative; z-index:2; pointer-events:none; }
.hero-has-slides .hero-content { max-width:690px; pointer-events:auto; }
.hero-has-slides .hero-art { position:absolute; inset:0; width:100%; height:100%; max-width:none; border-radius:inherit; background:var(--peach); overflow:hidden; pointer-events:none; isolation:auto; }
.hero-has-slides .hero-art > span,.hero-has-slides .hero-art::before { display:none; }
.hero-has-slides .hero-art::after { inset:0; width:100%; height:100%; border-radius:0; transform:none; background:linear-gradient(90deg,rgba(250,248,243,.98) 0%,rgba(250,248,243,.94) 29%,rgba(250,248,243,.75) 48%,rgba(250,248,243,.08) 76%); z-index:1; }
[dir=rtl] .hero-has-slides .hero-art::after { background:linear-gradient(270deg,rgba(250,248,243,.98) 0%,rgba(250,248,243,.94) 29%,rgba(250,248,243,.75) 48%,rgba(250,248,243,.08) 76%); }
.hero-has-slides .hero-slides { z-index:0; }
.hero-has-slides .hero-slide-controls { inset-inline:auto 24px; bottom:24px; z-index:3; padding:8px; border-radius:18px; background:rgba(250,248,243,.94); pointer-events:auto; gap:4px; max-width:calc(100% - 48px); flex-wrap:wrap; }
.hero-has-slides .hero-slide-controls button { min-width:30px; min-height:40px; font-size:.75rem; }
.hero-has-slides .hero-slide-caption { position:absolute; inset-inline-end:24px; bottom:100px; z-index:3; padding:10px 18px; background:rgba(250,248,243,.94); border-radius:12px; color:var(--ink); font-size:.85rem; font-weight:600; }
@media(max-width:1024px) {
 .hero-has-slides { display:block; padding:36px 0 20px; }
 .hero-has-slides .hero-art { position:relative; inset:auto; margin:28px 22px 0; width:calc(100% - 44px); height:auto; aspect-ratio:1672/941; overflow:visible; padding-bottom:106px; box-sizing:content-box; }
 .hero-has-slides .hero-slides { bottom:106px; overflow:hidden; border-radius:22px; }
 .hero-has-slides .hero-art::after { display:none; }
 .hero-has-slides .hero-slides img { object-fit:contain; }
 .hero-has-slides .hero-slide-controls { inset-inline:0; bottom:0; max-width:100%; padding:5px; gap:2px; }
 .hero-has-slides .hero-slide-controls button { min-width:24px; min-height:36px; }
 .hero-has-slides .hero-slide-caption { bottom:62px; inset-inline:0; text-align:center; padding:8px; }
}
@media(max-width:600px) {
 .hero-has-slides .hero-slide-controls { align-items:center; flex-wrap:nowrap; gap:0; }
 .hero-has-slides .hero-slide-controls .carousel-arrow { display:none; }
 .hero-has-slides .hero-slide-controls .carousel-dot { position:relative; min-width:0; flex:1; width:20px; min-height:40px; padding:0; font-size:0; border:0; background:transparent!important; }
 .hero-has-slides .hero-slide-controls .carousel-dot::before { content:''; display:block; width:6px; height:6px; margin:auto; border-radius:50%; background:#c0afcf; }
 .hero-has-slides .hero-slide-controls .carousel-dot[aria-pressed=true]::before { background:#66508c; transform:scale(1.4); }
 .hero-has-slides .hero-slide-controls .carousel-pause { min-width:40px; min-height:40px; margin-inline-start:4px; }
 .hero-benefit { font-size:.95rem; margin:0 0 22px; }
}
