
/* AI Expertise */
.ai-expertise { padding: 72px 0; background: var(--color-bg); color: var(--color-text-light); border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); }
.ai-expertise .container { display: flex; flex-direction: column; gap: 40px; }
.ai-expertise-trust { display: flex; flex-direction: column; gap: 12px; align-items: center; text-align: center; }
.ai-expertise-trust-label { font-size: 14px; letter-spacing: .18em; text-transform: uppercase; color: var(--color-muted); }
.ai-expertise-logos { list-style: none; margin: 0; padding: 0; display: flex; gap: 40px; align-items: center; flex-wrap: wrap; justify-content: center; }
.ai-expertise-logos img { display: block; max-height: 36px; width: auto; opacity: .85; filter: grayscale(100%); transition: opacity .2s ease; }
.ai-expertise-logos img:hover { opacity: 1; }
.ai-expertise-logo-text { font-size: 22px; font-weight: 700; letter-spacing: .08em; color: var(--color-text-light); text-transform: uppercase; display: inline-flex; align-items: center; justify-content: center; min-width: 92px; }
.ai-expertise-intro { max-width: 880px; margin: 0 auto; text-align: center; }
.ai-expertise-intro p { margin: 0; font-size: clamp(18px, 2.4vw, 24px); line-height: 1.6; color: var(--color-text-light); }
.ai-expertise-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
.ai-expertise-card { position: relative; border: 1px solid var(--color-border); border-radius: 18px; padding: 26px 24px; background: var(--color-surface); display: flex; flex-direction: column; gap: 20px; min-height: 220px; transition: transform .25s ease, background .25s ease, border-color .25s ease, box-shadow .25s ease, color .25s ease; }
.ai-expertise-icon { width: 44px; height: 44px; border-radius: 14px; background: rgba(var(--color-accent-rgb), .16); display: inline-flex; align-items: center; justify-content: center; }
.ai-expertise-icon img { width: 24px; height: 24px; object-fit: contain; filter: brightness(1.25); transition: filter .25s ease; }
.ai-expertise-card p { margin: 0; color: var(--color-text-light); font-size: 16px; line-height: 1.6; font-weight: 500; }
.ai-expertise-card:hover { background: var(--color-accent-gradient); border-color: rgba(var(--color-accent-rgb), .65); transform: translateY(-6px); box-shadow: var(--shadow-lg); color: var(--color-accent-contrast); }
.ai-expertise-card:hover p { color: var(--color-accent-contrast); }
.ai-expertise-card:hover .ai-expertise-icon { background: rgba(255,255,255,.22); }
.ai-expertise-card:hover .ai-expertise-icon img { filter: brightness(0) invert(1); }
@media (max-width: 640px){
  .ai-expertise { padding: 56px 0; }
  .ai-expertise-grid { gap: 12px; }
  .ai-expertise-card { min-height: 200px; padding: 22px; }
}



/* Product Design Suite */
.product-suite { padding: clamp(72px, 18vw, 120px) 0; background: radial-gradient(860px 480px at 20% 5%, rgba(var(--color-accent-rgb), .18), transparent 65%), var(--color-bg); color: var(--color-text-light); border-top: 1px solid rgba(255,255,255,.06); border-bottom: 1px solid rgba(255,255,255,.06); }
.product-suite .container { display: flex; flex-direction: column; gap: clamp(40px, 8vw, 64px); }
.product-suite-head { max-width: 900px; display: flex; flex-direction: column; gap: 18px; color: var(--color-text-light); }
.product-suite-head h2 { margin: 0; font-size: clamp(32px, 4.6vw, 48px); letter-spacing: -0.02em; color: var(--color-text); }
.product-suite-head p { margin: 0; font-size: clamp(17px, 2.3vw, 20px); line-height: 1.7; color: var(--color-text-light); }
.product-suite-intro { font-size: 16px; letter-spacing: .06em; text-transform: uppercase; color: var(--color-muted); }
.product-suite-layout { display: grid; grid-template-columns: minmax(320px, 0.9fr) minmax(0, 1.1fr); gap: clamp(28px, 5vw, 48px); align-items: stretch; }
.product-suite-tabs { position: relative; border-radius: clamp(24px, 4vw, 32px); padding: clamp(28px, 5vw, 40px); background: linear-gradient(180deg, rgba(42,96,255,.36), rgba(32,44,210,.48)); color: rgba(255,255,255,.8); display: flex; flex-direction: column; gap: 12px; box-shadow: inset 0 0 0 1px rgba(255,255,255,.08); }
.product-suite-tab { display: grid; grid-template-columns: auto 1fr; gap: 16px; align-items: center; padding: 14px 18px; border-radius: 18px; background: rgba(15,26,75,.35); border: 1px solid transparent; color: inherit; cursor: pointer; font-size: 16px; font-weight: 600; text-align: left; transition: transform .25s ease, background .25s ease, border-color .25s ease, color .25s ease; }
.product-suite-tab:hover { transform: translateX(4px); border-color: rgba(255,255,255,.18); color: #fff; }
.product-suite-tab.is-active { background: rgba(4,10,40,.65); border-color: rgba(255,255,255,.28); color: #fff; box-shadow: 0 18px 32px rgba(8,12,50,.38); transform: translateX(6px); }
.product-suite-tab:focus-visible { outline: 2px solid rgba(255,255,255,.7); outline-offset: 3px; }
.product-suite-tab-number { font-size: 18px; font-weight: 700; letter-spacing: .14em; color: rgba(255,255,255,.65); }
.product-suite-tab.is-active .product-suite-tab-number { color: var(--color-accent); }
.product-suite-tab-label { font-size: 16px; letter-spacing: 0.01em; }
.product-suite-panels { position: relative; border-radius: clamp(24px, 4vw, 32px); padding: clamp(32px, 5vw, 44px); background: rgba(5,8,25,.92); border: 1px solid rgba(255,255,255,.06); backdrop-filter: blur(18px); display: flex; flex-direction: column; gap: 22px; overflow: hidden; }
.product-suite-panel { display: none; flex-direction: column; gap: clamp(18px, 3vw, 28px); color: rgba(255,255,255,.8); }
.product-suite-panel.is-active { display: flex; }
.product-suite-panel-icon { width: 56px; height: 56px; border-radius: 18px; background: linear-gradient(135deg, rgba(45,112,255,.92), rgba(84,39,255,.88)); display: inline-flex; align-items: center; justify-content: center; color: #fff; box-shadow: 0 16px 32px rgba(12,22,85,.45); }
.product-suite-panel-icon svg { width: 30px; height: 30px; }
.product-suite-panel-copy h3 { margin: 0; font-size: clamp(24px, 3.8vw, 34px); color: #fff; letter-spacing: -0.01em; }
.product-suite-panel-copy p { margin: 0; font-size: clamp(16px, 2.2vw, 18px); line-height: 1.75; color: rgba(255,255,255,.78); }
@media (max-width: 980px){
  .product-suite-layout { grid-template-columns: minmax(0, 1fr); }
  .product-suite-tabs { flex-direction: row; overflow-x: auto; padding: 24px; gap: 12px; scroll-snap-type: x mandatory; }
  .product-suite-tab { min-width: 240px; scroll-snap-align: start; }
  .product-suite-tab.is-active { transform: translateY(-4px); }
}
@media (max-width: 600px){
  .product-suite-panels { padding: 28px; }
}

/* Product Design Process */
.product-process { padding: clamp(72px, 16vw, 120px) 0; background: #f6f6f9; position: relative; overflow: hidden; color: #0b0d16; }
.product-process::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(248,196,94,.6), rgba(225,72,160,.45), rgba(69,97,255,.55)); opacity: .12; pointer-events: none; }
.product-process .container { position: relative; z-index: 1; display: flex; flex-direction: column; gap: clamp(40px, 7vw, 64px); }
.product-process-head { text-align: center; display: flex; flex-direction: column; gap: 16px; max-width: 960px; margin: 0 auto; }
.product-process-head h2 { margin: 0; font-size: clamp(32px, 4vw, 48px); letter-spacing: -0.02em; color: #0b0d16; }
.product-process-head p { margin: 0; font-size: clamp(17px, 2.3vw, 20px); line-height: 1.75; color: rgba(11,13,22,.72); }
.product-process-track { position: relative; display: grid; grid-template-columns: repeat(4, minmax(220px, 1fr)); gap: clamp(24px, 4vw, 36px); padding: clamp(28px, 5vw, 44px); border-radius: clamp(24px, 4vw, 36px); background: rgba(255,255,255,.94); box-shadow: 0 24px 54px rgba(12,22,55,.12); }
.product-process-track::before { content: ""; position: absolute; inset: 18% 0 auto 0; height: 8px; margin: 0 40px; border-radius: 999px; background: linear-gradient(90deg, rgba(247,180,77,.65), rgba(223,92,165,.6), rgba(94,115,255,.75)); opacity: .7; }
.product-process-card { position: relative; background: #fff; border-radius: 18px; padding: 28px 24px; display: flex; flex-direction: column; gap: 16px; align-items: flex-start; box-shadow: 0 12px 28px rgba(20,32,85,.08); border: 1px solid rgba(37,50,120,.06); }
.product-process-card::before { content: ""; position: absolute; top: -30px; left: 28px; width: 2px; height: 28px; background: rgba(94,115,255,.55); border-radius: 999px; }
.product-process-card:nth-child(2)::before { background: rgba(247,180,77,.65); }
.product-process-card:nth-child(3)::before { background: rgba(223,92,165,.65); }
.product-process-card:nth-child(4)::before { background: rgba(94,115,255,.75); }
.product-process-step { font-size: 18px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: rgba(94,115,255,.8); }
.product-process-card h3 { margin: 0; font-size: clamp(18px, 2.6vw, 22px); color: #0b0d16; letter-spacing: -0.01em; }
.product-process-card p { margin: 0; font-size: 15px; line-height: 1.6; color: rgba(11,13,22,.74); }
@media (max-width: 1100px){
  .product-process-track { grid-template-columns: repeat(2, minmax(220px, 1fr)); }
}
@media (max-width: 680px){
  .product-process-track { grid-template-columns: minmax(0, 1fr); padding: 24px; }
  .product-process-card { padding: 24px; }
  .product-process-card::before { left: 24px; }
  .product-process-track::before { display: none; }
}

/* Product Design Vision */
.product-vision { padding: clamp(72px, 16vw, 120px) 0; background: var(--color-bgdark, #050608); color: rgba(255,255,255,.82); border-top: 1px solid rgba(255,255,255,.04); border-bottom: 1px solid rgba(255,255,255,.04); }
.product-vision .container { display: flex; flex-direction: column; }
.product-vision-grid { display: grid; grid-template-columns: minmax(320px, 0.9fr) minmax(0, 1.1fr); gap: clamp(32px, 6vw, 60px); align-items: start; }
.product-vision-intro { display: flex; flex-direction: column; gap: 20px; }
.product-vision-intro h2 { margin: 0; font-size: clamp(32px, 4.5vw, 52px); letter-spacing: -0.02em; color: #fff; }
.product-vision-intro p { margin: 0; font-size: clamp(17px, 2.4vw, 20px); line-height: 1.8; color: rgba(255,255,255,.7); }
.product-vision-accordion { display: flex; flex-direction: column; gap: 12px; }
.product-vision-item { border-radius: 18px; border: 1px solid rgba(255,255,255,.12); background: rgba(12,18,48,.6); backdrop-filter: blur(14px); overflow: hidden; }
.product-vision-toggle { width: 100%; background: transparent; color: inherit; border: none; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 18px; padding: 22px 28px; text-align: left; font-size: 18px; font-weight: 600; cursor: pointer; transition: background .2s ease, color .2s ease; }
.product-vision-item.is-active .product-vision-toggle { background: rgba(52,74,220,.35); color: #fff; }
.product-vision-toggle:focus-visible { outline: 2px solid rgba(255,255,255,.75); outline-offset: 4px; }
.product-vision-title { letter-spacing: -0.01em; }
.product-vision-icon { width: 24px; height: 24px; position: relative; display: inline-flex; align-items: center; justify-content: center; }
.product-vision-icon::before,
.product-vision-icon::after { content: ""; position: absolute; background: currentColor; border-radius: 999px; transition: transform .2s ease, opacity .2s ease; }
.product-vision-icon::before { width: 16px; height: 2px; }
.product-vision-icon::after { width: 2px; height: 16px; }
.product-vision-item.is-active .product-vision-icon::after { transform: scaleY(0); opacity: 0; }
.product-vision-panel { padding: 0 28px 24px; color: rgba(255,255,255,.75); font-size: 16px; line-height: 1.7; }
.product-vision-panel p { margin: 0; }
@media (max-width: 900px){
  .product-vision-grid { grid-template-columns: minmax(0, 1fr); }
  .product-vision-intro { text-align: center; align-items: center; }
}
@media (max-width: 560px){
  .product-vision-toggle { padding: 18px 20px; font-size: 16px; }
  .product-vision-panel { padding: 0 20px 18px; }
}

/* Product Design Industries */
.product-industries { padding: clamp(72px, 16vw, 120px) 0; background: var(--color-bg); color: var(--color-text-light); border-bottom: 1px solid var(--color-border); }
.product-industries .container { display: flex; flex-direction: column; gap: clamp(36px, 6vw, 56px); }
.product-industries-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 24px; }
.product-industries-head h2 { margin: 0 0 12px 0; font-size: clamp(32px, 4.2vw, 48px); letter-spacing: -0.02em; color: var(--color-text); }
.product-industries-head p { margin: 0; font-size: clamp(16px, 2.3vw, 19px); line-height: 1.7; max-width: 720px; color: var(--color-text-light); }
.product-industries-controls { display: inline-flex; gap: 12px; }
.product-industries-arrow { width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--color-border); background: var(--color-surface); color: var(--color-text); display: inline-flex; align-items: center; justify-content: center; font-size: 20px; cursor: pointer; transition: transform .2s ease, border-color .2s ease, background .2s ease; }
.product-industries-arrow:hover { transform: translateY(-2px); border-color: rgba(var(--color-accent-rgb), .5); background: rgba(var(--color-accent-rgb), .12); color: var(--color-accent); }
.product-industries-scroll { overflow: hidden; }
.product-industries-track { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: clamp(20px, 4vw, 32px); scroll-behavior: smooth; }
.product-industry-card { background: rgba(15,18,46,.82); color: rgba(255,255,255,.78); border-radius: 20px; padding: clamp(24px, 4vw, 32px); border: 1px solid rgba(255,255,255,.08); box-shadow: 0 16px 38px rgba(12,20,68,.22); display: flex; flex-direction: column; gap: 16px; min-height: 220px; }
.product-industry-card h3 { margin: 0; font-size: 20px; color: #fff; letter-spacing: -0.01em; }
.product-industry-card p { margin: 0; font-size: 15px; line-height: 1.6; }
.product-industry-icon { font-size: 28px; }
@media (max-width: 720px){
  .product-industries-track { display: flex; gap: 18px; overflow-x: auto; padding-bottom: 6px; }
  .product-industry-card { min-width: 260px; }
}



/* Product Design Tools */
.product-tools { padding: clamp(72px, 16vw, 120px) 0; background: #f9f7f6; color: #131321; }
.product-tools .container { display: flex; flex-direction: column; gap: clamp(36px, 7vw, 60px); }
.product-tools-head { max-width: 840px; display: flex; flex-direction: column; gap: 18px; }
.product-tools-head h2 { margin: 0; font-size: clamp(32px, 4.5vw, 48px); letter-spacing: -0.02em; color: #131321; }
.product-tools-head p { margin: 0; font-size: clamp(17px, 2.3vw, 20px); line-height: 1.7; color: rgba(18,19,33,.72); }
.product-tools-layout { display: grid; grid-template-columns: minmax(240px, 0.7fr) minmax(0, 1.3fr); gap: clamp(24px, 5vw, 40px); align-items: stretch; }
.product-tools-tabs { background: linear-gradient(180deg, rgba(38,114,255,1), rgba(13,67,247,1)); padding: clamp(22px, 4vw, 28px); border-radius: clamp(26px, 4.5vw, 32px); display: flex; flex-direction: column; gap: 12px; box-shadow: 0 28px 52px rgba(37,86,240,.35); }
.product-tools-tab { display: grid; grid-template-columns: auto 1fr auto; gap: 16px; align-items: center; padding: 16px 18px; border-radius: 18px; background: rgba(255,255,255,.08); color: rgba(255,255,255,.82); border: 1px solid transparent; font-size: 16px; font-weight: 600; cursor: pointer; text-align: left; transition: transform .2s ease, border-color .2s ease, background .2s ease, color .2s ease; }
.product-tools-tab:hover { transform: translateX(4px); border-color: rgba(255,255,255,.35); color: #fff; }
.product-tools-tab.is-active { background: rgba(255,255,255,.16); border-color: rgba(255,255,255,.45); color: #fff; transform: translateX(6px); }
.product-tools-tab:focus-visible { outline: 2px solid rgba(255,255,255,.85); outline-offset: 4px; }
.product-tools-tab-icon { font-size: 20px; }
.product-tools-tab-caret { font-size: 16px; opacity: .8; }
.product-tools-panels { background: #fff; border-radius: clamp(24px, 4vw, 32px); border: 1px solid rgba(19,19,33,.08); box-shadow: 0 20px 44px rgba(19,27,72,.1); padding: clamp(28px, 5vw, 40px); display: flex; flex-direction: column; }
.product-tools-panel { display: none; }
.product-tools-panel.is-active { display: block; }
.product-tools-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: clamp(16px, 3vw, 24px); }
.product-tool { background: rgba(19,19,33,.05); border-radius: 16px; padding: 18px; font-weight: 600; font-size: 15px; letter-spacing: 0.01em; color: #131321; display: flex; align-items: center; justify-content: center; min-height: 70px; box-shadow: inset 0 0 0 1px rgba(19,19,33,.06); transition: transform .2s ease, box-shadow .2s ease; }
.product-tool:hover { transform: translateY(-3px); box-shadow: 0 14px 28px rgba(19,27,72,.12); }
@media (max-width: 900px){
  .product-tools-layout { grid-template-columns: minmax(0, 1fr); }
  .product-tools-tabs { flex-direction: row; overflow-x: auto; border-radius: 24px; }
  .product-tools-tab { min-width: 240px; }
  .product-tools-tab.is-active { transform: translateY(-4px); }
}
@media (max-width: 540px){
  .product-tools-panels { padding: 24px; }
}



/* AI Momentum Metrics */
.ai-momentum { padding: 72px 0 64px 0; background: radial-gradient(circle at top right, rgba(var(--color-accent-rgb), .18), transparent 45%), var(--color-bg); border-bottom: 1px solid var(--color-border); }
.ai-momentum .container { max-width: 1120px; margin: 0 auto; display: flex; flex-direction: column; gap: 32px; }
.ai-momentum-grid { display: grid; grid-template-columns: 1.05fr 1.05fr 1.3fr; column-gap: 22px; row-gap: 18px; }
.ai-momentum-card,
.ai-momentum-highlight { background: radial-gradient(circle at top left, rgba(37,99,235,.18), transparent 58%), rgba(15,23,42,.96); border-radius: 22px; padding: 26px; color: var(--color-text-light); box-shadow: 0 16px 36px rgba(15,23,42,.70); display: flex; flex-direction: column; gap: 18px; border: 1px solid rgba(148,163,184,.28); transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease, background .25s ease; }
.ai-momentum-card:hover,
.ai-momentum-highlight:hover { transform: translateY(-6px); border-color: rgba(var(--color-accent-rgb), .8); box-shadow: 0 28px 52px rgba(15,23,42,.78); background: radial-gradient(circle at top left, rgba(59,130,246,.28), transparent 60%), rgba(15,23,42,.98); }
.ai-momentum-card { justify-content: flex-start; min-height: 150px; gap: 12px; }
.ai-momentum-icon { width: 48px; height: 48px; border-radius: 16px; background: rgba(var(--color-accent-rgb), .16); display: inline-flex; align-items: center; justify-content: center; }
.ai-momentum-icon img { width: 26px; height: 26px; object-fit: contain; filter: brightness(1.2); }
.ai-momentum-card h3 { margin: 2px 0 4px 0; font-size: 30px; font-weight: 800; letter-spacing: -0.01em; color: #ffffff; }
.ai-momentum-card p { margin: 0; font-size: 15px; line-height: 1.6; color: rgba(241,245,249,.95); }
.ai-momentum-highlight { align-items: center; justify-content: center; text-align: center; gap: 20px; color: #f9fafb; position: relative; overflow: hidden; }
.ai-momentum-highlight::before { content: ""; position: absolute; inset: -30%; background: radial-gradient(circle at top, rgba(var(--color-accent-rgb), .55), transparent 65%); opacity: .7; z-index: 0; }
.ai-momentum-highlight>* { position: relative; z-index: 1; }
.ai-momentum-highlight-logo img { max-width: 140px; width: 100%; height: auto; }
.ai-momentum-rating-stars { display: inline-flex; gap: 8px; }
.ai-momentum-rating-stars svg { width: 26px; height: 26px; fill: var(--color-accent); filter: drop-shadow(0 4px 6px rgba(0,0,0,.35)); }
.ai-momentum-rating { display: flex; flex-direction: column; gap: 4px; align-items: center; color: #f9fafb; }
.ai-momentum-rating strong { font-size: 34px; font-weight: 800; }
.ai-momentum-rating span { font-size: 14px; line-height: 1.7; max-width: 260px; color: rgba(226,232,240,.88); }
.ai-momentum-cta { display: flex; justify-content: center; }
.ai-momentum-cta .btn-primary { background: linear-gradient(135deg, var(--color-accent), var(--color-accent-2)); color: var(--color-accent-contrast); border-radius: 999px; padding: 12px 28px; font-weight: 700; box-shadow: 0 16px 30px rgba(var(--color-accent-rgb), .32); }
.ai-momentum-cta .btn-primary:hover { filter: brightness(1.05); }
.ai-momentum-cta .btn-primary:active { transform: translateY(1px); }
@media (max-width: 1024px){
  .ai-momentum-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .ai-momentum-highlight { grid-column: span 2; }
}
@media (max-width: 640px){
  .ai-momentum { padding: 56px 0; }
  .ai-momentum-grid { grid-template-columns: 1fr; }
  .ai-momentum-highlight { grid-column: auto; }
}

/* AI End-to-End Services */
.ai-end-services { padding: 80px 0; background: radial-gradient(880px 520px at 15% 10%, rgba(var(--color-accent-rgb), .16), transparent 70%), radial-gradient(640px 420px at 85% 15%, rgba(var(--color-accent-rgb), .12), transparent 65%), var(--color-bg); color: var(--color-text-light); border-bottom: 1px solid var(--color-border); }
.ai-end-services .container { display: flex; flex-direction: column; gap: 46px; }
.ai-end-services-head { text-align: center; display: flex; flex-direction: column; gap: 18px; max-width: 920px; margin: 0 auto; }
.ai-end-services-head h2 { margin: 0; font-size: clamp(28px, 4vw, 46px); letter-spacing: -0.01em; color: var(--color-text); }
.ai-end-services-head p { margin: 0; font-size: clamp(17px, 2.3vw, 20px); line-height: 1.7; color: var(--color-text-light); }
.ai-end-services-layout { display: grid; grid-template-columns: minmax(340px, 1fr) minmax(0, 1.1fr); gap: 32px; }
.ai-end-services-tabs { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: 28px; padding: 24px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; max-height: 560px; overflow-y: auto; scrollbar-width: thin; scrollbar-color: rgba(var(--color-accent-rgb), .4) transparent; align-content: start; }
.ai-end-services-tabs::-webkit-scrollbar { width: 6px; }
.ai-end-services-tabs::-webkit-scrollbar-thumb { background: rgba(var(--color-accent-rgb), .4); border-radius: 999px; }
.ai-end-services-tab { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 14px; padding: 18px 20px; border-radius: 20px; background: rgba(255,255,255,.05); border: 1px solid var(--color-border); color: var(--color-text-light); font-size: 16px; font-weight: 600; text-align: left; cursor: pointer; transition: transform .2s ease, background .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease; }
.ai-end-services-tab:hover { border-color: rgba(var(--color-accent-rgb), .35); color: var(--color-text); }
.ai-end-services-tab.is-active { background: linear-gradient(135deg, var(--color-accent), var(--color-accent-2)); color: #fff; border-color: rgba(var(--color-accent-rgb), .65); box-shadow: 0 20px 38px rgba(var(--color-accent-rgb), .38); transform: translateY(-2px); }
.ai-end-services-tab:focus-visible { outline: 2px solid rgba(var(--color-accent-rgb), .9); outline-offset: 3px; }
.ai-end-services-tab-icon svg { width: 26px; height: 26px; display: block; }
.ai-end-services-panels { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: 32px; padding: 32px 36px; display: flex; flex-direction: column; gap: 0; position: relative; overflow: hidden; }
.ai-end-services-panels::before { content: ""; position: absolute; inset: 0; background: radial-gradient(600px 400px at 20% 0%, rgba(var(--color-accent-rgb), .18), transparent 60%); opacity: .6; pointer-events: none; }
.ai-end-services-panel { display: none; flex-direction: column; gap: 22px; color: var(--color-text-light); }
.ai-end-services-panel.is-active { display: flex; }
.ai-end-services-panel-head { display: flex; align-items: center; gap: 14px; }
.ai-end-services-panel-icon svg { width: 30px; height: 30px; color: var(--color-accent); }
.ai-end-services-panel h3 { margin: 0; font-size: clamp(22px, 3vw, 30px); letter-spacing: -0.01em; color: var(--color-text); }
.ai-end-services-panel-summary { margin: 0; font-size: 16px; line-height: 1.7; color: var(--color-text-light); max-width: 640px; }
.ai-service-em { color: var(--color-text); font-weight: 600; text-decoration: underline; text-decoration-color: rgba(var(--color-accent-rgb), .75); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.ai-end-services-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 16px; }
.ai-end-services-list li { display: grid; grid-template-columns: auto 1fr; gap: 14px; align-items: center; color: var(--color-text-light); }
.ai-end-services-list-icon { width: 36px; height: 36px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; color: var(--color-accent); flex-shrink: 0; }
.ai-end-services-list-icon svg { width: 20px; height: 20px; display: block; }
.ai-end-services-list strong { display: block; font-size: 16px; font-weight: 700; color: var(--color-text); margin-bottom: 4px; }
.ai-end-services-list span { display: block; font-size: 15px; line-height: 1.6; color: var(--color-text-light); }
@media (max-width: 1180px){
  .ai-end-services-layout { grid-template-columns: minmax(0, 1fr); }
  .ai-end-services-tabs { max-height: none; }
  .ai-end-services-panels { padding: 28px; }
}
@media (max-width: 720px){
  .ai-end-services { padding: 64px 0; }
  .ai-end-services-tabs { grid-template-columns: 1fr; padding: 20px; gap: 12px; }
  .ai-end-services-tab { border-radius: 16px; padding: 16px 18px; }
  .ai-end-services-panels { border-radius: 26px; padding: 24px; }
}

/* AI Why Partner */
.ai-why-partner { padding: 48px 0; }
.awp-shell { display: grid; grid-template-columns: 1.1fr 1fr; gap: 20px; }
.awp-left { position: relative; border-radius: 16px; padding: 28px; color: var(--color-text); overflow: hidden; border: 1px solid var(--color-border); }
.awp-left::before { content:""; position:absolute; inset:-10%; background:
  radial-gradient(800px 400px at 10% 10%, rgba(var(--color-accent-rgb), .45), transparent 60%),
  radial-gradient(700px 500px at 90% 80%, rgba(var(--color-accent-rgb), .35), transparent 65%),
  linear-gradient(135deg, rgba(11,12,13,.9), rgba(20,22,24,.9));
  filter: blur(.4px); }
.awp-left>* { position: relative; }
.awp-icon { width: 44px; height: 44px; border-radius: 12px; background: var(--color-border); display: inline-flex; align-items: center; justify-content: center; margin-bottom: 14px; }
.awp-head { margin: 0 0 12px 0; font-size: clamp(22px, 3.5vw, 36px); letter-spacing: -0.01em; }
.awp-copy { margin: 0; color: var(--color-text-light); line-height: 1.7; }
.awp-right { background: var(--color-surface-light); border: 1px solid var(--color-border-light); border-radius: 16px; padding: 18px; color: var(--color-text-dark); }
.awp-acc { display: flex; flex-direction: column; gap: 0; }
.awp-acc-btn { width: 100%; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; padding: 14px 6px; background: transparent; border: none; cursor: pointer; text-align: left; border-radius: 8px; }
.awp-acc-index { color: var(--color-accent); font-weight: 800; min-width: 38px; }
.awp-acc-title { font-weight: 800; color: var(--color-text-dark); font-size: 20px; }
.awp-acc-caret { transform: rotate(0deg); transition: transform .15s ease; color: var(--color-text-dark); }
.awp-acc-btn[aria-expanded="true"] .awp-acc-caret { transform: rotate(180deg); }
.awp-acc-panel { padding: 2px 6px 16px 44px; color: var(--color-text-dark); }
.awp-sep { border: 0; border-top: 1px solid var(--color-border-light); margin: 8px 0; }
@media (max-width: 900px){ .awp-shell { grid-template-columns: 1fr; } }

/* Base resets and layout */
* { box-sizing: border-box; }
html, body { height: 100%; }
html { scroll-padding-top: 96px; }
body {
  margin: 0;
  font-family: var(--font-primary);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: 1.7;
  letter-spacing: -0.01em;
  color: var(--color-text);
  background: var(--color-bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
a { color: var(--color-text); text-decoration: none; font-weight: var(--font-weight-medium); transition: color .2s ease; }
a:hover,
a:focus { color: var(--color-accent); }
.typography,
:where(main, section, article, aside) { font-family: inherit; }

p,
li,
dd { font-size: var(--font-size-base); line-height: 1.75; letter-spacing: -0.01em; color: inherit; }
p { margin: 0 0 1.4em; }
p:last-child { margin-bottom: 0; }
ul,
ol { margin: 0 0 1.4em 1.5em; padding: 0; }
ul ul,
ol ul,
ul ol,
ol ol { margin-bottom: 0.9em; }
small { font-size: var(--font-size-sm); }
strong { font-weight: var(--font-weight-semibold); }
em { font-style: italic; }
blockquote { margin: 0 0 1.6em; padding-left: 1.2em; border-left: 4px solid rgba(233,238,249,.18); font-size: var(--font-size-md); line-height: 1.8; color: rgba(233,238,249,.85); }

h1,
h2,
h3,
h4,
h5,
h6 { font-family: var(--font-primary); margin: 0 0 0.8em; color: inherit; letter-spacing: -0.02em; }
h1 { font-size: var(--font-size-3xl); font-weight: var(--font-weight-extrabold); line-height: 1.05; }
h2 { font-size: clamp(2rem, 4vw, 2.8rem); font-weight: var(--font-weight-bold); line-height: 1.12; }
h3 { font-size: clamp(1.5rem, 3vw, 2.1rem); font-weight: var(--font-weight-bold); line-height: 1.18; }
h4 { font-size: clamp(1.3rem, 2.5vw, 1.6rem); font-weight: var(--font-weight-semibold); line-height: 1.25; }
h5 { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); line-height: 1.3; }
h6 { font-size: var(--font-size-md); font-weight: var(--font-weight-medium); line-height: 1.35; letter-spacing: -0.01em; }
.eyebrow { font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); letter-spacing: .18em; text-transform: uppercase; display: inline-block; color: rgba(233,238,249,.7); margin-bottom: 1.2em; }
.lead { font-size: var(--font-size-lg); line-height: 1.7; color: rgba(233,238,249,.88); font-weight: var(--font-weight-medium); }

.logo-text { font-family: var(--font-primary); font-weight: var(--font-weight-extrabold); letter-spacing: 0; color: var(--color-text-light); }
.logo-accent { background: var(--color-accent-gradient); -webkit-background-clip: text; background-clip: text; color: transparent; text-shadow: 0 0 10px rgba(155,95,255,.5); }
.sub-text { font-family: var(--font-primary); font-weight: var(--font-weight-regular); text-transform: uppercase; letter-spacing: 0.1em; color: #9ca8c3; }

.container { width: 100%; max-width: 1360px; margin: 0 auto; padding: 0 32px; }
@media (max-width: 768px){
  .container { padding: 0 24px; }
}
@media (max-width: 540px){
  .container { padding: 0 16px; }
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Header + Mega menu foundation */
.site-header { position: fixed; top: 0; left: 0; right: 0; z-index: 600; background: rgba(6,7,8,.96); border-bottom: 1px solid var(--color-border); box-shadow: 0 10px 28px rgba(0,0,0,.32); backdrop-filter: blur(12px); }
.site-header .nav-wrap { position: relative; margin: 0 auto; padding: 0 28px; min-height: 70px; background: transparent; border: none; border-radius: 0; box-shadow: none; backdrop-filter: none; }
.site-nav { display: flex; align-items: center; gap: 24px; }
.logo { display: inline-flex; align-items: center; height: 56px; }
.logo img { display: block; height: 40px; }

.navbar { display: flex; align-items: center; justify-content: space-between; height: 64px; }
.navbar > .site-nav > ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 24px; }
.navbar li { position: static; }
.navbar .nav-link { display: inline-flex; align-items: center; gap: 6px; line-height: 36px; height: 36px; padding: 0 12px; margin: 0 2px; border-radius: 6px; color: var(--color-text); font-size: 15px; font-weight: 600; letter-spacing: -.01em; transition: background .2s ease, color .2s ease; }
.navbar .nav-link:hover,
.navbar .nav-link:focus { background: var(--overlay-light); color: var(--color-text); }
.navbar .nav-link[aria-expanded="true"] { color: var(--color-accent); }
.navbar .nav-link[aria-expanded="true"]::after { transform: rotate(180deg) translateY(-1px); }
.navbar .nav-link[data-mega-trigger]::after { content: ""; display: inline-block; width: 0; height: 0; border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 5px solid currentColor; transform: translateY(1px); transition: transform .2s ease; margin-left: 2px; }

/* Panel */
.mega-panel { position: absolute; left: 0; right: 0; top: 100%; display: none; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: 16px; box-shadow: var(--shadow-lg); margin-top: 10px; overflow: visible; z-index: 1000; }
.mega-panel.open { display: block; }
.mega-grid { display: grid; grid-template-columns: 320px minmax(0, 1fr) 360px; gap: 24px; padding: 22px; }
/* Services panel: use all available width (no right column) */
#mega-services .mega-grid { grid-template-columns: 320px minmax(0, 1fr); }
.mega-col { overflow: visible; }
/* Ensure lists inside panels are block, not flex */
.mega-panel ul { display: block; }

/* Intro/Links/Feature slots */
.mega-grid [data-slot="intro"] { padding-right: 18px; position: relative; }
.mega-grid [data-slot="links"] { padding: 0 18px; border-left: 1px solid var(--color-border); min-width: 0; }

.ai-hero {
  position: relative;
  --ai-hero-header-offset: 88px;
  --ai-hero-pad-top: clamp(120px, 16vw, 180px);
  --ai-hero-pad-bottom: clamp(160px, 20vw, 240px);
  min-height: calc(100vh - var(--ai-hero-header-offset));
  padding: var(--ai-hero-pad-top) 0 var(--ai-hero-pad-bottom);
  overflow: hidden;
}
.ai-hero::before { content: ""; position: absolute; inset: 0; pointer-events: none; }
.ai-hero__background { position: absolute; inset: 0; overflow: hidden; z-index: 1; }
.ai-hero__background-video { width: 100%; height: 100%; object-fit: cover; display: block; }
.ai-hero__background-overlay {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(120% 80% at 30% -10%, rgba(var(--color-accent-rgb), .28), transparent 60%),
    radial-gradient(140% 90% at 80% -20%, rgba(var(--color-accent-rgb), .18), transparent 70%),
    linear-gradient(180deg, rgba(5,7,13,.82) 0%, rgba(5,7,13,.72) 48%, rgba(5,7,13,.88) 100%);
  pointer-events: none;
}
.ai-hero .ai-hero__inner {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: center;
  min-height: calc(100vh - var(--ai-hero-header-offset) - var(--ai-hero-pad-top) - var(--ai-hero-pad-bottom));
  padding-bottom: clamp(48px, 8vw, 72px);
}
.ai-hero--align-left .ai-hero__inner { justify-content: flex-start; }
.ai-hero__content { max-width: 720px; display: flex; flex-direction: column; gap: clamp(20px, 3vw, 32px); text-align: center; align-items: center; }
.ai-hero--align-left .ai-hero__content { text-align: left; align-items: flex-start; }
.ai-hero__eyebrow { margin: 0; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; font-size: 14px; color: var(--color-accent); }
.ai-hero__title { margin: 0; }
.ai-hero__copy { margin: 0; }
.ai-hero__cta { display: flex; justify-content: center; }
.ai-hero--align-left .ai-hero__cta { justify-content: flex-start; }
.ai-hero__cta .btn-primary { align-self: center; background: linear-gradient(135deg, var(--color-accent), var(--color-accent-2)); color: var(--color-accent-contrast); padding: 14px 28px; border-radius: 12px; font-weight: 600; box-shadow: 0 18px 32px rgba(var(--color-accent-rgb), .28); transition: transform .2s ease, box-shadow .2s ease; }
.ai-hero__cta .btn-primary:hover { transform: translateY(-1px); box-shadow: 0 24px 36px rgba(var(--color-accent-rgb), .32); }
.ai-hero__cta .btn-primary:active { transform: translateY(0); box-shadow: 0 18px 28px rgba(var(--color-accent-rgb), .24); }

/* Press Article */
.press-article { color: var(--color-text); background: radial-gradient(120% 140% at 0% 0%, #fdfaf3 0%, #f4efe3 32%, #f3f0e8 60%, #f0ebe0 100%); }
.press-hero { padding: clamp(110px, 16vw, 160px) 0 clamp(40px, 7vw, 64px); background: linear-gradient(180deg, rgba(248, 246, 239, 0.9) 0%, rgba(255, 255, 255, 1) 82%); border-bottom: 1px solid rgba(17, 24, 39, 0.06); }
.press-hero-inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 420px); gap: clamp(32px, 6vw, 60px); align-items: center; padding: clamp(26px, 4vw, 34px); border-radius: 28px; background: rgba(255, 255, 255, 0.94); box-shadow: 0 26px 50px rgba(15, 23, 42, 0.16); border: 1px solid rgba(148, 163, 184, 0.26); }
.press-hero-copy { display: flex; flex-direction: column; gap: clamp(16px, 4vw, 22px); }
.press-hero-copy nav { font-size: 13px; letter-spacing: 0.16em; text-transform: uppercase; color: rgba(17, 24, 39, 0.56); font-weight: 700; }
.press-hero-copy nav ol { margin: 0; padding: 0; list-style: none; display: inline-flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.press-hero-copy nav a { color: rgba(37, 99, 235, 0.9); text-decoration: none; }
.press-hero-copy h1 { margin: 0; font-size: clamp(34px, 4.4vw, 56px); letter-spacing: -0.02em; color: #101623; text-wrap: balance; }
.press-hero-subtitle { margin: 0; font-size: clamp(17px, 2.2vw, 20px); line-height: 1.75; color: rgba(17, 24, 39, 0.72); max-width: 680px; }
.press-hero-meta { display: inline-flex; align-items: center; gap: 12px; font-weight: 600; color: rgba(17, 24, 39, 0.68); margin-top: 4px; }
.press-hero-location { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; background: rgba(37, 99, 235, 0.08); color: #1e3a8a; font-weight: 700; box-shadow: 0 10px 24px rgba(37, 99, 235, 0.16); }
.press-hero-dot { width: 6px; height: 6px; border-radius: 50%; background: rgba(37, 99, 235, 0.3); display: inline-block; }
.press-hero-visual { display: flex; align-items: center; justify-content: center; }
.press-hero-illustration { width: 100%; max-width: 420px; height: clamp(220px, 38vw, 320px); border-radius: 28px; background: radial-gradient(circle at 0% 0%, rgba(37, 99, 235, 0.28), transparent 55%), radial-gradient(circle at 100% 100%, rgba(147, 197, 253, 0.45), transparent 60%); box-shadow: 0 36px 68px rgba(15, 23, 42, 0.22); }
.press-hero-image { width: 100%; max-width: 420px; height: auto; border-radius: 28px; display: block; box-shadow: 0 30px 54px rgba(15, 23, 42, 0.24); object-fit: cover; background: #ffffff; }
@media (max-width: 980px){
  .press-hero-inner { grid-template-columns: 1fr; padding: 22px 20px; }
  .press-hero-visual { order: -1; }
  .press-hero-illustration { max-width: 100%; height: 220px; }
  .press-hero-image { max-width: 100%; }
}

.press-body { padding: clamp(40px, 7vw, 88px) 0 clamp(60px, 10vw, 120px); background: radial-gradient(120% 140% at 100% 0%, rgba(148, 163, 184, 0.12), transparent 55%), linear-gradient(180deg, rgba(255,255,255,0.9) 0%, rgba(248,245,239,1) 100%); }
.press-body-grid { display: grid; grid-template-columns: minmax(88px, 120px) minmax(0, 1fr) minmax(260px, 320px); gap: clamp(32px, 7vw, 60px); align-items: start; grid-template-areas: "share content contact"; }
.press-share-rail { grid-area: share; position: sticky; top: 160px; display: flex; flex-direction: column; align-items: center; gap: 16px; padding-top: 12px; }
.press-share-title { margin: 0; writing-mode: vertical-rl; transform: rotate(180deg); font-size: 12px; letter-spacing: 0.24em; text-transform: uppercase; color: rgba(17, 24, 39, 0.5); font-weight: 700; }
.press-share-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.press-share-list a { display: inline-flex; width: 42px; height: 42px; border-radius: 50%; align-items: center; justify-content: center; background: #ffffff; border: 1px solid rgba(17, 24, 39, 0.1); box-shadow: 0 18px 28px rgba(15, 23, 42, 0.14); color: #2563eb; text-decoration: none; font-size: 18px; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.press-share-list a:hover { transform: translateY(-2px); box-shadow: 0 22px 34px rgba(15, 23, 42, 0.2); background: linear-gradient(135deg, rgba(219, 234, 254, 0.7), #ffffff); }
.press-share-icon { display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; font-size: 11px; font-weight: 700; text-transform: uppercase; color: currentColor; }
.press-share-icon::before { content: '↗'; }
.press-share-icon--linkedin::before { content: 'in'; font-size: 10px; }
.press-share-icon--twitter::before { content: 't'; }
.press-share-icon--facebook::before { content: 'f'; }
.press-share-icon--email::before { content: '@'; }
.press-share-icon--link::before { content: '∞'; font-size: 12px; }
.press-content { grid-area: content; display: flex; flex-direction: column; gap: clamp(20px, 4vw, 32px); color: #1a1c1f; max-width: 740px; }
.press-content section { background: #ffffff; border: 1px solid rgba(17, 24, 39, 0.06); border-radius: 24px; padding: clamp(22px, 4vw, 34px); box-shadow: 0 20px 40px rgba(15, 23, 42, 0.08); position: relative; overflow: hidden; }
.press-content section::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 3px; background: linear-gradient(90deg, rgba(37, 99, 235, 0.28), rgba(56, 189, 248, 0.2), rgba(129, 140, 248, 0.24)); opacity: 0.9; }
.press-content section + section { margin-top: -4px; }
.press-content h2 { font-size: clamp(24px, 3.2vw, 30px); letter-spacing: -0.01em; margin-bottom: 6px; }
.press-content p { margin: 0 0 12px; line-height: 1.75; color: rgba(17, 24, 39, 0.78); }
.press-content ul { margin: 0 0 16px; padding-left: 20px; color: rgba(17, 24, 39, 0.78); }
.press-figure { display: flex; flex-direction: column; gap: 10px; margin: 8px 0; }
.press-figure-media { width: 100%; height: clamp(180px, 32vw, 260px); border-radius: 16px; background: linear-gradient(135deg, rgba(var(--color-accent-rgb), .12), rgba(147, 197, 253, 0.16)); box-shadow: inset 0 0 0 1px rgba(37, 99, 235, 0.08); }
.press-figure figcaption { font-size: 14px; color: rgba(17, 24, 39, 0.62); }
.press-quote { margin: 0; padding: 18px 22px; border-left: 4px solid var(--color-accent); background: rgba(var(--color-accent-rgb), .08); border-radius: 12px; color: var(--color-text); }
.press-quote cite { display: block; margin-top: 8px; font-size: 14px; color: var(--color-text-light); font-style: normal; }

.press-contact-panel { grid-area: contact; position: sticky; top: 140px; }
.press-contact-card { background: radial-gradient(140% 180% at 0% 0%, #eff6ff 0%, #ffffff 40%, #f9fafb 100%); border: 1px solid rgba(148, 163, 184, 0.32); border-radius: 24px; padding: clamp(22px, 4vw, 30px); box-shadow: 0 24px 52px rgba(15, 23, 42, 0.16); display: flex; flex-direction: column; gap: 10px; }
.press-contact-card h2 { margin: 0; font-size: 20px; letter-spacing: -0.01em; color: #111827; }
.press-contact-name { font-weight: 700; margin: 0; color: #111827; }
.press-contact-role { margin: -4px 0 8px; font-size: 15px; color: rgba(17, 24, 39, 0.6); }
.press-contact-email a, .press-contact-phone a { color: #2563eb; font-weight: 700; text-decoration: none; }

@media (max-width: 1200px) {
  .press-body-grid { grid-template-columns: minmax(72px, 96px) minmax(0, 1fr); grid-template-areas: "share content" "contact contact"; }
  .press-contact-panel { position: static; margin-top: clamp(32px, 6vw, 40px); }
}
@media (max-width: 860px) {
  .press-body-grid { grid-template-columns: minmax(0, 1fr); grid-template-areas: "share" "content" "contact"; }
  .press-share-rail { position: static; flex-direction: row; justify-content: center; gap: 18px; padding-bottom: 12px; order: -1; }
  .press-share-title { writing-mode: horizontal-tb; transform: none; font-size: 12px; letter-spacing: 0.18em; }
  .press-share-list { flex-direction: row; }
}
.ai-hero__media { position: absolute; left: 50%; bottom: calc(-1 * clamp(220px, 28vw, 280px)); transform: translateX(-50%); width: min(calc(100% - 64px), 1280px); border-radius: 36px; overflow: hidden; box-shadow: 0 28px 60px rgba(0,0,0,.45); transition: bottom .6s ease, box-shadow .6s ease; z-index: 3; }
.ai-hero__media::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgba(5,7,13,.95) 0%, rgba(5,7,13,0) 32%, rgba(5,7,13,.25) 100%); transition: opacity .6s ease; opacity: .88; }
.ai-hero__video,
.ai-hero__image { width: 100%; height: 100%; object-fit: cover; display: block; }
.ai-hero__badges {
  position: absolute;
  left: 0;
  right: 0;
  bottom: clamp(48px, 8vw, 92px);
  padding: clamp(24px, 5vw, 40px) clamp(36px, 8vw, 96px);
  display: flex;
  gap: clamp(26px, 5vw, 56px);
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  z-index: 3;
  width: 100%;
  border-radius: clamp(28px, 5vw, 44px);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  box-shadow: 0 28px 72px rgba(0,0,0,.55);
  backdrop-filter: blur(18px);
  overflow-x: auto;
}
.ai-hero--align-left .ai-hero__badges { justify-content: flex-start; }
.ai-hero__badge { display: flex; align-items: center; justify-content: center; }
.ai-hero__badge img { max-height: 58px; width: auto; display: block; filter: drop-shadow(0 14px 26px rgba(0,0,0,.45)); }
.ai-hero.is-scrolled .ai-hero__media { bottom: -56px; box-shadow: 0 20px 44px rgba(0,0,0,.4); }
.ai-hero.is-scrolled .ai-hero__media::after { opacity: .6; }
.ai-hero--light .ai-hero__eyebrow { color: var(--color-text-dark); }
.ai-hero--light .ai-hero__media::after { background: linear-gradient(180deg, rgba(245,248,255,.92) 0%, rgba(245,248,255,0) 40%, rgba(245,248,255,.35) 100%); }
.ai-hero--light .ai-hero__badge img { filter: drop-shadow(0 12px 24px rgba(32,38,72,.16)); }
.ai-hero--light .ai-hero__cta .btn-primary { background: linear-gradient(135deg, var(--color-accent), var(--color-accent-2)); }
.ai-hero.home-hero { background: linear-gradient(180deg, rgba(5,7,13,0.9) 0%, rgba(5,7,13,0.96) 45%, rgba(5,7,13,1) 100%); }
.ai-hero.home-hero::before { background: radial-gradient(120% 80% at 30% -10%, rgba(var(--color-accent-rgb), .35), transparent 60%), radial-gradient(120% 90% at 80% -20%, rgba(var(--color-accent-rgb), .22), transparent 70%); }
.ai-hero.home-hero .ai-hero__inner { align-items: center; }
.ai-hero.home-hero .ai-hero__content { gap: clamp(22px, 3.6vw, 36px); max-width: 640px; }
.ai-hero.home-hero .ai-hero__badges { margin-top: 0; }
.ai-hero.home-hero .ai-hero__badge {
  min-width: clamp(168px, 14vw, 220px);
  height: clamp(86px, 12vw, 128px);
  border-radius: clamp(22px, 4vw, 32px);
  background: rgba(10,14,24,.88);
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 10px 24px rgba(0,0,0,.35);
  padding: 0 clamp(22px, 3vw, 34px);
}
.ai-hero.home-hero .ai-hero__badge img { max-height: clamp(44px, 6vw, 74px); filter: brightness(.98) contrast(1.08); opacity: .95; }
@media (max-width: 1024px){
  .ai-hero {
    --ai-hero-header-offset: 96px;
    --ai-hero-pad-top: clamp(112px, 18vw, 160px);
    --ai-hero-pad-bottom: clamp(140px, 26vw, 220px);
  }
}
@media (max-width: 900px){
  .ai-hero {
    --ai-hero-media-overlap: clamp(200px, 34vw, 240px);
  }
}
@media (max-width: 768px){
  .ai-hero {
    --ai-hero-header-offset: 96px;
    --ai-hero-pad-top: clamp(100px, 20vw, 140px);
    --ai-hero-pad-bottom: clamp(120px, 28vw, 200px);
  }
  .ai-hero__badges { padding: clamp(20px, 6vw, 30px) clamp(22px, 10vw, 38px); border-radius: 28px; gap: clamp(20px, 6vw, 34px); }
  .ai-hero.home-hero .ai-hero__badge { min-width: clamp(150px, 40vw, 190px); height: clamp(74px, 24vw, 106px); padding: 0 clamp(18px, 6vw, 26px); }
  .ai-hero.home-hero .ai-hero__badge img { max-height: clamp(36px, 12vw, 54px); }
}
@media (max-width: 640px){
  .ai-hero {
    --ai-hero-media-overlap: clamp(180px, 52vw, 220px);
    --ai-hero-header-offset: 96px;
    --ai-hero-pad-top: clamp(96px, 22vw, 128px);
    --ai-hero-pad-bottom: clamp(120px, 36vw, 180px);
  }
  .ai-hero.home-hero .ai-hero__inner { align-items: flex-start; }
  .ai-hero__badges { padding: clamp(18px, 8vw, 26px) clamp(18px, 12vw, 26px); border-radius: 24px; gap: clamp(18px, 8vw, 28px); }
  .ai-hero.home-hero .ai-hero__badge { min-width: clamp(136px, 52vw, 176px); height: clamp(66px, 32vw, 94px); padding: 0 clamp(16px, 8vw, 24px); }
  .ai-hero.home-hero .ai-hero__badge img { max-height: clamp(32px, 14vw, 48px); }
  .ai-hero__cta .btn-primary { width: 100%; }
}

.trust-strip { background: var(--color-bg); border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); }

/* Core capabilities carousel */
.cap-section { padding: clamp(72px, 12vw, 120px) 0; background: #05070b; color: #f5f7ff; }
.cap-section .container{max-width:1400px;margin:0 auto;}
.cap-trust { display: flex; flex-direction: column; gap: 18px; align-items: center; text-align: center; }
.cap-eyebrow { margin: 0; font-size: 13px; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(245,247,255,.72); }
.cap-logos { display: grid; grid-template-columns: repeat(auto-fit, minmax(96px, 1fr)); gap: 16px; width: min(960px, 100%); align-items: center; }
.cap-logo { display: grid; place-items: center; padding: 10px 14px; border: 1px solid rgba(255,255,255,.08); border-radius: 12px; background: rgba(255,255,255,.02); }
.cap-logo img { max-height: 32px; width: auto; display: block; filter: grayscale(1) brightness(1.1); opacity: .9; }
.cap-copy { margin: 18px auto 0; max-width: 960px; text-align: center; }
.cap-copy p { margin: 0; color: #d6def2; font-size: 18px; line-height: 1.7; }
.cap-head { margin: clamp(32px, 6vw, 48px) 0 18px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.cap-head h2 { margin: 0; font-size: clamp(24px, 3vw, 34px); color: #f7f9ff; letter-spacing: -0.01em; }
.cap-nav { display: flex; gap: 10px; }
.cap-btn { width: 46px; height: 46px; border-radius: 50%; border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.06); color: #fff; font-size: 18px; cursor: pointer; transition: all .2s ease; }
.cap-btn:hover { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.3); transform: translateY(-1px); }
.cap-btn:active { transform: translateY(0); }
.cap-btn[disabled] { opacity: .4; cursor: not-allowed; transform: none; }
.cap-btn[disabled]:hover { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.18); }
.cap-rail-wrap { position: relative; overflow: hidden; }
.cap-rail { display: flex; gap: 20px; transition: transform .3s ease; will-change: transform; }
.cap-card {
  flex: 0 0 20%;
  width: 20%;
  max-width: 20%;
  min-width: 240px;
  padding: 26px 24px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 14px;
  background: #0c0f16;
  color: #dfe7fb;
  display: flex;
  flex-direction: column;
  gap: 12px;
  opacity: 0;
  transform: translateX(12px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    0 14px 36px rgba(0,0,0,.35);
  transition:
    opacity .32s ease,
    transform .32s ease,
    background .2s ease,
    border-color .2s ease,
    box-shadow .2s ease;
}
.cap-card.cap-visible{
  opacity: 1;
  transform: translateX(0);
}
.cap-card:hover {
  background: linear-gradient(180deg, rgba(24,33,52,.95) 0%, rgba(12,16,26,.98) 100%);
  border-color: rgba(255,255,255,.28);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.22),
    0 18px 42px rgba(0,0,0,.4);
  transform: translateY(-2px);
}
.cap-icon { width: 32px; height: 32px; border-radius: 10px; background: rgba(255,255,255,.12); display: grid; place-items: center; font-weight: 700; color: #fff; font-size: 13px; }
.cap-title { margin: 0; font-size: 17px; color: #fff; }
.cap-desc { margin: 0; font-size: 14px; line-height: 1.6; color: #c9d4e9; }
@media (max-width: 900px){
  .cap-head { flex-direction: column; align-items: flex-start; }
  .cap-nav { align-self: flex-end; }
  .cap-card { flex-basis: calc((100% - 20px) / 2); width: calc((100% - 20px) / 2); min-width: 0; max-width: none; }
}
@media (max-width: 640px){
  .cap-logos { grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); }
  .cap-card { flex-basis: 100%; width: 100%; min-width: 0; }
  .cap-nav { width: 100%; justify-content: space-between; }
}

.trust-strip .container { padding-top: 18px; padding-bottom: 18px; }
.trust-logos { list-style: none; margin: 0; padding: 0; display: flex; gap: 16px 40px; align-items: center; flex-wrap: nowrap; overflow-x: auto; }
.trust-logo-placeholder { width: 140px; height: 56px; border-radius: 12px; background: var(--color-surface); border: 1px solid var(--color-border); display: flex; align-items: center; justify-content: center; color: var(--color-text); font-weight: 700; }
.trust-logo-placeholder img { max-width: 120px; max-height: 36px; width: auto; height: auto; display: block; filter: grayscale(100%) contrast(1.05) brightness(.92); opacity: .9; }
.trust-logos li{ position: relative; }
.trust-logos li:not(:last-child)::after{ content:""; position:absolute; right:-20px; top:50%; width:1px; height:44px; transform:translateY(-50%); background: var(--color-border); }


/* Inline testimonials */
.ai-testimonials { 
  background:
    radial-gradient(120% 80% at 15% -10%, rgba(var(--color-accent-rgb), .28), transparent 60%),
    radial-gradient(120% 90% at 85% -20%, rgba(var(--color-accent-rgb), .22), transparent 70%),
    var(--color-bg);
  color: rgba(233,238,249,.88); 
  padding: 72px 0; 
  border-top: 1px solid var(--color-border); 
  border-bottom: 1px solid var(--color-border); 
}
.ai-testimonials .container { display: flex; flex-direction: column; gap: 40px; }
.ai-test-head h2 { margin: 0 0 12px 0; font-size: clamp(28px, 4vw, 44px); letter-spacing: -0.01em; color: var(--color-text); }
.ai-test-head p { margin: 0; font-size: 18px; line-height: 1.7; color: var(--color-text-light); max-width: 720px; }
.ai-test-body { display: flex; flex-direction: column; gap: 32px; }
.ai-test-row { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 32px; padding: 24px 0 0 0; border-top: 1px solid var(--color-border); }
.ai-test-row:first-of-type { border-top: none; padding-top: 0; }
.ai-test-author { display: flex; align-items: center; gap: 16px; }
.ai-test-avatar { width: 80px; height: 80px; border-radius: 18px; overflow: hidden; box-shadow: 0 16px 32px rgba(0,0,0,.35); flex-shrink: 0; }
.ai-test-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ai-test-meta strong { display: block; font-size: 18px; color: var(--color-text); margin-bottom: 6px; }
.ai-test-meta span { display: block; font-size: 14px; color: var(--color-text-light); }
.ai-test-quote { margin: 0; font-size: 18px; line-height: 1.7; color: var(--color-text-light); font-style: italic; position: relative; padding-left: 16px; }
.ai-test-quote::before { content: "\""; position: absolute; left: 0; top: -6px; font-size: 42px; color: var(--color-border); line-height: 1; }
@media (max-width: 900px){
  .ai-test-row { grid-template-columns: 1fr; gap: 18px; }
  .ai-test-author { justify-content: flex-start; }
}
@media (max-width: 540px){
  .ai-testimonials { padding: 56px 0; }
  .ai-test-body { gap: 24px; }
  .ai-test-avatar { width: 64px; height: 64px; border-radius: 14px; }
  .ai-test-quote { font-size: 16px; padding-left: 12px; }
  .ai-test-quote::before { font-size: 32px; top: -8px; }
}

/* Intro two-column band */
.intro-band { background: var(--color-bg); padding: 32px 0 8px 0; }
.intro-band .intro-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 40px; align-items: start; }
.intro-band .intro-title h2 { margin: 0; font-size: clamp(26px, 3.6vw, 40px); line-height: 1.2; color: var(--color-text); letter-spacing: -0.01em; }
.intro-band .intro-copy p { margin: 0; color: var(--color-muted); font-size: 16px; line-height: 1.7; }
.intro-divider { border: none; height: 1px; background: var(--color-border); margin: 26px 0 0 0; }
@media (max-width: 900px){ .intro-band .intro-grid { grid-template-columns: 1fr; gap: 18px; } }
.mega-grid [data-slot="feature"] { padding-left: 16px; display: flex; flex-direction: column; justify-content: center; }
/* Divider look */
.mega-grid [data-slot="links"] { position: relative; }
.mega-grid [data-slot="links"]:before { content: ""; position: absolute; left: 0; top: -28px; bottom: -28px; width: 1px; background: var(--color-border); }

/* Intro links + CTA */
.mega-text-link { display:block; margin: 0 0 12px 0; font-weight:600; color: var(--color-text); }
.mega-text-link:hover { color: var(--color-text); }
.ai-intro { display: flex; flex-direction: column; gap: 12px; }
.ai-cta { margin-top: 8px; border: 1px solid var(--color-border); background: linear-gradient(135deg, rgba(30,35,58,.95), rgba(16,18,28,.95)) padding-box, linear-gradient(135deg, rgba(var(--color-accent-rgb), .55), rgba(123,97,255,.6)) border-box; border-radius: 14px; padding: 18px; box-shadow: 0 12px 30px rgba(0,0,0,.45); }
.ai-cta-eyebrow { margin: 0 0 8px 0; font-weight: 700; color: var(--color-text); font-size: 15px; }
.ai-cta-copy { margin: 0 0 16px 0; color: var(--color-text-light); font-size: 13px; line-height: 1.6; }
.ai-cta-btn { display: inline-flex; align-items: center; justify-content: center; background: linear-gradient(135deg, var(--color-accent), var(--color-accent-2)); color: var(--color-accent-contrast); font-weight: 700; padding: 10px 16px; border-radius: 999px; box-shadow: 0 12px 24px rgba(var(--color-accent-rgb), .28); }
.ai-cta-btn:hover { filter: brightness(1.05); }
.ai-cta-btn:active { transform: translateY(1px); }
.ai-feature { border: 1px solid rgba(37, 99, 235, 0.12); background: #f5f7ff; border-radius: 20px; padding: 20px; box-shadow: 0 16px 36px rgba(15, 23, 42, 0.12); display: flex; flex-direction: column; gap: 12px; width: 100%; }
.ai-feature h4 { margin: 0; font-size: 12px; font-weight: 800; letter-spacing: .18em; color: rgba(15, 23, 42, 0.55); text-transform: uppercase; }
.ai-feature-card { position: relative; border-radius: 18px; overflow: hidden; min-height: 130px; background: linear-gradient(135deg, rgba(var(--color-accent-rgb), .24), rgba(123,97,255,.28)); display: flex; align-items: center; justify-content: center; }
.ai-feature-card img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ai-feature-title { margin: 0; font-size: 15px; font-weight: 700; line-height: 1.3; color: #0f172a; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ai-feature-link { color: #2563eb; font-weight: 700; }
.ai-feature-link:hover { color: #1744b7; }
.ai-services-head { margin: 0 0 12px 0; font-size: 14px; font-weight: 800; letter-spacing: .04em; color: var(--color-muted); }

/* AI Suite Tabbed Section */
.ai-suite { padding: 72px 0 64px 0; margin-bottom: 32px; background: var(--color-bg); border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); }
.ai-suite-head { max-width: 820px; margin: 0 auto 40px auto; text-align: center; }
.ai-suite-head h2 { margin: 0 0 12px 0; color: var(--color-text); font-size: clamp(28px, 4vw, 42px); letter-spacing: -0.01em; }
.ai-suite-head p { margin: 0; color: var(--color-muted); line-height: 1.7; font-size: 16px; }
.ai-suite-layout { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 24px; align-items: start; }
.ai-suite-tabs { display: flex; flex-direction: column; gap: 12px; background: rgba(0,0,0,.32); border: 1px solid var(--color-border); border-radius: 18px; padding: 20px; position: sticky; top: 96px; }
.ai-suite-tabs { max-height: 460px; overflow-y: auto; scrollbar-width: thin; scrollbar-color: var(--overlay-light) transparent; }
.ai-suite-tabs::-webkit-scrollbar { width: 6px; }
.ai-suite-tabs::-webkit-scrollbar-thumb { background: var(--overlay-light); border-radius: 8px; }
.ai-suite-tab-group { display: inline-flex; align-items: center; justify-content: center; padding: 8px 12px; border-radius: 12px; border: 1px solid var(--color-border); color: var(--color-text); font-weight: 600; font-size: 14px; }
.ai-suite-tab { background: transparent; border: none; color: var(--color-text-light); text-align: left; font-size: 15px; font-weight: 600; padding: 6px 12px 6px 26px; border-radius: 12px; position: relative; cursor: pointer; transition: color .2s ease, background .2s ease; }
.ai-suite-tab:hover { color: var(--color-text); background: var(--overlay-light); }
.ai-suite-tab.is-active { color: var(--color-text); background: var(--overlay-light); }
.ai-suite-tab-indicator { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); width: 10px; height: 10px; border-radius: 50%; background: transparent; display: inline-flex; align-items: center; justify-content: center; overflow: hidden; }
.ai-suite-tab-indicator svg { display: none; width: 18px; height: 18px; color: var(--color-accent); }
.ai-suite-tab.is-active .ai-suite-tab-indicator { width: 22px; height: 22px; border-radius: 50%; background: rgba(var(--color-accent-rgb), .2); }
.ai-suite-tab.is-active .ai-suite-tab-indicator svg { display: block; }
.ai-suite-content { background: rgba(0,0,0,.32); border: 1px solid var(--color-border); border-radius: 22px; padding: 24px; min-height: 360px; }
.ai-suite-panel { display: flex; flex-direction: column; gap: 24px; }
.ai-suite-panel[hidden] { display: none !important; }
.ai-suite-apps-head h3 { margin: 0; font-size: 18px; color: var(--color-text); }
.ai-suite-apps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.ai-suite-app-card { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: 16px; padding: 18px; display: flex; flex-direction: column; gap: 14px; min-height: 140px; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.ai-suite-app-card:hover { transform: translateY(-3px); border-color: rgba(var(--color-accent-rgb), .45); box-shadow: 0 16px 30px rgba(0,0,0,.35); }
.ai-suite-app-icon { width: 36px; height: 36px; border-radius: 12px; background: rgba(var(--color-accent-rgb), .16); display: inline-flex; align-items: center; justify-content: center; color: var(--color-accent); flex-shrink: 0; }
.ai-suite-app-icon svg { width: 22px; height: 22px; }
.ai-suite-app-title { color: var(--color-text); font-size: 15px; font-weight: 600; line-height: 1.4; }
.ai-suite-offer { border-top: 1px solid var(--color-border); padding-top: 18px; }
.ai-suite-offer-label { margin: 0 0 6px 0; color: var(--color-accent); font-weight: 700; letter-spacing: .1em; font-size: 12px; text-transform: uppercase; }
.ai-suite-offer-copy { color: var(--color-text-light); font-size: 15px; line-height: 1.7; }
.ai-suite-offer-copy a { color: var(--color-accent); font-weight: 600; }
.ai-suite-offer-copy a:hover { text-decoration: underline; }
@media (max-width: 1100px){
  .ai-suite-layout { grid-template-columns: 280px minmax(0,1fr); }
  .ai-suite-apps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 900px){
  .ai-suite { padding: 56px 0 40px 0; }
  .ai-suite-layout { grid-template-columns: 1fr; }
  .ai-suite-tabs { position: static; top: auto; flex-direction: row; flex-wrap: wrap; max-height: none; overflow: visible; }
  .ai-suite-tab { flex: 1 1 calc(50% - 12px); }
}
@media (max-width: 640px){
  .ai-suite-tabs { flex-direction: column; }
  .ai-suite-tab { flex: 1 1 auto; }
  .ai-suite-apps { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 480px){
  .ai-suite-apps { grid-template-columns: 1fr; }
}

/* AI Metrics + CTA */
.ai-metrics { background: var(--color-bg); padding: 56px 0 40px 0; border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); }
.ai-metrics-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.ai-metric { display: flex; flex-direction: column; gap: 10px; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: 18px; padding: 22px; min-height: 180px; }
.ai-metric-stat { font-size: clamp(28px, 4vw, 36px); font-weight: 800; color: var(--color-accent); letter-spacing: .04em; }
.ai-metric h3 { margin: 0; color: var(--color-text); font-size: 18px; }
.ai-metric p { margin: 0; color: var(--color-text-light); line-height: 1.6; font-size: 14px; }
.ai-metrics-cta { background: rgba(0,0,0,.32); border: 1px solid var(--color-border); border-radius: 18px; padding: 32px 28px; display: flex; flex-direction: column; gap: 18px; justify-content: center; align-items: flex-start; }
.ai-metrics-cta h3 { margin: 0; color: var(--color-text); font-size: 20px; line-height: 1.5; max-width: 260px; }
.ai-metrics-cta .btn-primary { background: linear-gradient(135deg, var(--color-accent), var(--color-accent-2)); color: var(--color-accent-contrast); border-radius: 999px; padding: 10px 20px; font-weight: 700; box-shadow: 0 12px 24px rgba(var(--color-accent-rgb), .35); }
.ai-metrics-cta .btn-primary:hover { filter: brightness(1.05); }
.ai-metrics-cta .btn-primary:active { transform: translateY(1px); }
@media (max-width: 1024px){
  .ai-metrics-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 640px){
  .ai-metrics-grid { grid-template-columns: 1fr; }
}

/* AI Partner Section */
.ai-partner { padding: 56px 0; background: var(--color-bg); border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); }
.ai-partner-grid { display: grid; grid-template-columns: 380px minmax(0, 1fr); gap: 28px; align-items: stretch; }
.ai-partner-hero { background: linear-gradient(140deg, rgba(var(--color-accent-rgb), .75), rgba(var(--color-accent-rgb), .92)); border-radius: 24px; padding: 32px; color: var(--color-accent-contrast); display: flex; flex-direction: column; gap: 18px; box-shadow: 0 20px 40px rgba(0,0,0,.4); }
.ai-partner-icon { width: 56px; height: 56px; border-radius: 16px; background: var(--overlay-light); display: inline-flex; align-items: center; justify-content: center; color: var(--color-accent-contrast); }
.ai-partner-icon svg { width: 26px; height: 26px; }
.ai-partner-hero h2 { margin: 0; font-size: clamp(24px, 3vw, 32px); letter-spacing: -0.01em; }
.ai-partner-hero p { margin: 0; font-size: 15px; line-height: 1.7; max-width: 320px; color: var(--color-text-light); }
.ai-partner-panels { background: var(--color-surface-light); border-radius: 24px; padding: 20px 24px; display: flex; flex-direction: column; gap: 12px; }
.ai-partner-panel { border-bottom: 1px solid var(--color-border-light); padding: 12px 0; }
.ai-partner-panel:last-of-type { border-bottom: none; }
.ai-partner-panel summary { list-style: none; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 16px; cursor: pointer; font-weight: 700; font-size: 16px; color: var(--color-text-dark); }
.ai-partner-panel summary::-webkit-details-marker { display: none; }
.ai-partner-step { color: var(--color-accent); font-weight: 700; letter-spacing: .08em; font-size: 13px; }
.ai-partner-title { display: block; }
.ai-partner-caret { width: 18px; height: 18px; border-radius: 50%; border: 1px solid var(--color-border-light); display: inline-flex; align-items: center; justify-content: center; position: relative; }
.ai-partner-caret::after { content: ""; width: 6px; height: 6px; border-right: 2px solid var(--color-text-dark); border-bottom: 2px solid var(--color-text-dark); transform: rotate(-45deg); transition: transform .2s ease; }
.ai-partner-content { margin-top: 12px; color: var(--color-text-dark); font-size: 14px; line-height: 1.6; padding-right: 40px; }
@media (max-width: 1024px){
  .ai-partner-grid { grid-template-columns: 1fr; }
  .ai-partner-hero p { max-width: none; }
}

/* AI Case Studies (legacy rail) */
.ai-cases-head { text-align: center; max-width: 780px; margin: 0 auto 40px auto; }
.ai-cases-head h2 { margin: 0 0 12px 0; color: var(--color-text); font-size: clamp(26px, 3.8vw, 40px); }
.ai-cases-head p { margin: 0; color: var(--color-muted); line-height: 1.7; }
.ai-case-metrics { gap: 16px; }
.ai-case-metrics div { text-align: left; }
.ai-case-metrics strong { display: block; color: var(--color-accent); font-size: 16px; font-weight: 700; }
.ai-cases-nav .ai-cases-btn { width: 44px; height: 44px; border-radius: 50%; border: none; background: var(--overlay-light); color: var(--color-text); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.ai-cases-nav .ai-cases-btn::before { content: ''; display: block; width: 0; height: 0; border: 6px solid transparent; border-left-color: currentColor; border-right-color: currentColor; }
.ai-cases-nav .ai-cases-btn.prev::before { border-right-color: currentColor; margin-left: 4px; }
.ai-cases-nav .ai-cases-btn.next::before { border-left-color: currentColor; margin-right: 4px; }
.studies-rail .study-media img { width: 100%; height: 100%; object-fit: cover; border-radius: 14px; }
.studies-rail .study { gap: 24px; }
.studies-rail .results { column-gap: 32px; }
.studies-rail .results strong { color: var(--color-accent); }

/* AI Case Studies (slider) */
.ai-case-stories { padding: 80px 0; background: var(--color-bg); border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); color: var(--color-text-light); }
.ai-case-stories-head { text-align: center; max-width: 880px; margin: 0 auto 42px auto; display: flex; flex-direction: column; gap: 16px; }
.ai-case-stories-head h2 { margin: 0; font-size: clamp(28px, 4.2vw, 44px); letter-spacing: -0.01em; color: var(--color-text); }
.ai-case-stories-head p { margin: 0; font-size: 18px; line-height: 1.7; color: var(--color-text-light); }
.ai-case-stories-stage { position: relative; border-radius: 32px; overflow: hidden; border: 1px solid var(--color-border); background: linear-gradient(135deg, rgba(20,24,32,.96), rgba(12,15,22,.96)); box-shadow: 0 24px 48px rgba(3,6,12,.45); }
.ai-case-stories-track { display: flex; transition: transform .45s cubic-bezier(.22,1,.36,1); width: 100%; --ai-case-index: 0; transform: translateX(calc(var(--ai-case-index) * -100%)); }
.ai-case-slide { flex: 0 0 100%; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: stretch; min-height: 420px; position: relative; }
.ai-case-slide:not(.is-active) { pointer-events: none; }
.ai-case-card { padding: 48px 56px; display: flex; flex-direction: column; gap: 26px; background: rgba(0,0,0,.35); border-right: 1px solid var(--color-border); }
.ai-case-card header h3 { margin: 0; color: var(--color-text); font-size: clamp(26px, 3.2vw, 34px); letter-spacing: -0.01em; }
.ai-case-points { margin: 0; display: flex; flex-direction: column; gap: 18px; }
.ai-case-points div { display: flex; flex-direction: column; gap: 10px; }
.ai-case-points dt { font-weight: 700; color: var(--color-accent); font-size: 16px; letter-spacing: .02em; }
.ai-case-points dd { margin: 0; color: var(--color-text-light); font-size: 16px; line-height: 1.7; }
.ai-case-points ul { margin: 0; padding-left: 22px; display: flex; flex-direction: column; gap: 8px; }
.ai-case-points li { color: var(--color-text-light); position: relative; font-size: 16px; }
.ai-case-points li::marker { color: var(--color-accent); }
.ai-case-link { align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; padding: 12px 22px; border-radius: 12px; border: 1px solid var(--color-border); color: var(--color-text); font-weight: 600; background: transparent; transition: border-color .2s ease, background .2s ease, transform .2s ease; }
.ai-case-link:hover { border-color: rgba(var(--color-accent-rgb), .8); background: rgba(var(--color-accent-rgb), .1); transform: translateY(-1px); }
.ai-case-media { position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center; padding: 36px; }
.ai-case-media-backdrop { position: absolute; inset: 0; background: radial-gradient(520px 400px at 70% 30%, rgba(var(--color-accent-rgb), .25), transparent 70%), linear-gradient(140deg, rgba(33,41,62,.95), rgba(10,14,22,.95)); }
.ai-case-media img { position: relative; z-index: 1; max-width: min(80%, 420px); width: 100%; height: auto; filter: drop-shadow(0 24px 46px rgba(0,0,0,.5)); }
.ai-case-arrow { position: absolute; top: 50%; transform: translateY(-50%); width: 52px; height: 52px; border-radius: 50%; border: none; background: var(--color-surface-light); color: var(--color-text-dark); font-size: 32px; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; z-index: 10; transition: transform .2s ease, box-shadow .2s ease; }
.ai-case-arrow:hover { transform: translateY(-50%) scale(1.04); box-shadow: 0 18px 30px rgba(0,0,0,.35); }
.ai-case-arrow:focus-visible { outline: 2px solid rgba(var(--color-accent-rgb), .9); outline-offset: 4px; }
.ai-case-arrow.prev { left: 16px; }
.ai-case-arrow.next { right: 16px; }
.ai-case-tabs { display: flex; flex-wrap: wrap; justify-content: center; gap: 24px; margin: 36px auto 24px auto; }
.ai-case-tab { position: relative; background: transparent; border: none; color: var(--color-text-light); font-size: 16px; font-weight: 600; letter-spacing: .01em; cursor: pointer; padding: 6px 0; transition: color .2s ease; }
.ai-case-tab::after { content: ""; position: absolute; left: 0; right: 0; bottom: -6px; height: 2px; background: transparent; transition: background .2s ease, transform .2s ease; transform-origin: left center; }
.ai-case-tab:hover { color: var(--color-text); }
.ai-case-tab.is-active { color: var(--color-text); }
.ai-case-tab.is-active::after { background: var(--color-accent); transform: scaleX(1); }
.ai-case-primary-cta { display: flex; justify-content: center; }
.ai-case-primary-cta .btn-primary { background: linear-gradient(135deg, var(--color-accent), var(--color-accent-2)); color: var(--color-accent-contrast); border-radius: 999px; padding: 14px 32px; font-weight: 700; box-shadow: 0 20px 38px rgba(var(--color-accent-rgb), .32); }
.ai-case-primary-cta .btn-primary:hover { filter: brightness(1.05); }
.ai-case-primary-cta .btn-primary:active { transform: translateY(1px); }
@media (max-width: 1024px){
  .ai-case-slide { grid-template-columns: 1fr; min-height: 0; }
  .ai-case-card { border-right: none; border-bottom: 1px solid var(--color-border); padding: 40px 32px; }
  .ai-case-media { padding: 48px 32px; }
  .ai-case-media img { max-width: min(70%, 320px); }
  .ai-case-arrow.prev { left: 12px; }
  .ai-case-arrow.next { right: 12px; }
}
@media (max-width: 640px){
  .ai-case-stories { padding: 64px 0; }
  .ai-case-card { padding: 32px 24px; }
  .ai-case-media { padding: 36px 24px; }
  .ai-case-arrow { width: 44px; height: 44px; font-size: 26px; top: auto; bottom: 16px; transform: none; }
  .ai-case-arrow.prev { left: 16px; }
  .ai-case-arrow.next { right: 16px; }
  .ai-case-arrow:hover { transform: scale(1.05); }
  .ai-case-tabs { gap: 16px; }
}

/* AI Industries (grid) */
.ai-industries { background: #0b0c0d; padding: 56px 0; border-top: 1px solid rgba(255,255,255,.05); border-bottom: 1px solid rgba(255,255,255,.05); }
.ai-industries-head { text-align: center; max-width: 820px; margin: 0 auto 36px auto; }
.ai-industries-head h2 { margin: 0 0 12px 0; color: #e8eef9; font-size: clamp(26px, 3.6vw, 40px); }
.ai-industries-head p { margin: 0; color: var(--color-muted); line-height: 1.7; }
.ai-industries-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.ai-industry-card { position: relative; border-radius: 18px; border: 1px solid rgba(255,255,255,.08); background: rgba(0,0,0,.32); padding: 24px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; min-height: 130px; color: #e8eef9; font-weight: 600; transition: all .2s ease; overflow: hidden; }
.ai-industry-icon { font-size: 26px; }
.ai-industry-label { font-size: 15px; }
.ai-industry-card::after { content: ''; position: absolute; inset: 0; border-radius: inherit; border: 1px solid transparent; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.ai-industry-card:hover { transform: translateY(-4px); border-color: rgba(61,139,255,.45); box-shadow: 0 20px 36px rgba(0,0,0,.35); }
.ai-industry-card:hover::after { border-color: rgba(61,139,255,.6); box-shadow: inset 0 0 0 1px rgba(61,139,255,.6); }
@media (max-width: 1024px){
  .ai-industries-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 768px){
  .ai-industries-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 480px){
  .ai-industries-grid { grid-template-columns: 1fr; }
}

.ai-build-engineered { padding: 72px 0; background: #040506; border-top: 1px solid rgba(255,255,255,.05); border-bottom: 1px solid rgba(255,255,255,.05); }
.ai-build-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 420px); gap: 28px; background: #fff; border-radius: 28px; padding: 40px; box-shadow: 0 32px 60px rgba(4,8,30,.35); overflow: hidden; }
.ai-build-copy h2 { margin: 0 0 16px 0; font-size: clamp(26px, 3.8vw, 38px); letter-spacing: -0.01em; color: #0b0c0d; }
.ai-build-copy p { margin: 0 0 24px 0; color: #2b2e35; font-size: 17px; line-height: 1.7; }
.ai-build-list { list-style: none; margin: 0 0 24px 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.ai-build-list li { position: relative; padding-left: 30px; color: #1b1e26; font-size: 16px; font-weight: 600; }
.ai-build-list li::before { content: ""; position: absolute; left: 0; top: 6px; width: 18px; height: 18px; border-radius: 50%; background: linear-gradient(135deg, var(--color-accent), var(--color-accent-2)); box-shadow: 0 6px 12px rgba(var(--color-accent-rgb), .35); }
.ai-build-list li::after { content: ""; position: absolute; left: 6px; top: 10px; width: 6px; height: 10px; border-right: 2px solid #fff; border-bottom: 2px solid #fff; transform: rotate(45deg); }
.ai-build-cta { margin-top: 12px; display: inline-flex; align-items: center; justify-content: center; background: linear-gradient(135deg, var(--color-accent), var(--color-accent-2)); color: #fff; padding: 12px 26px; border-radius: 16px; font-weight: 700; box-shadow: 0 18px 36px rgba(var(--color-accent-rgb), .35); }
.ai-build-cta:hover { filter: brightness(1.04); }
.ai-build-cta:active { transform: translateY(1px); }
.ai-build-media { border-radius: 22px; overflow: hidden; background: #0b0c0d; display: flex; align-items: center; justify-content: center; }
.ai-build-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (max-width: 920px){
  .ai-build-card { grid-template-columns: 1fr; }
  .ai-build-media { min-height: 260px; }
}
@media (max-width: 640px){
  .ai-build-engineered { padding: 56px 0; }
  .ai-build-card { padding: 28px; border-radius: 22px; }
}

.ai-reasons { padding: 80px 0; background: #050506; border-top: 1px solid rgba(255,255,255,.05); border-bottom: 1px solid rgba(255,255,255,.05); color: rgba(233,238,249,.9); }
.ai-reasons-head { text-align: center; max-width: 820px; margin: 0 auto 38px auto; display: flex; flex-direction: column; gap: 16px; }
.ai-reasons-head h2 { margin: 0; font-size: clamp(28px, 4vw, 42px); letter-spacing: -0.01em; color: #fff; }
.ai-reasons-head p { margin: 0; font-size: 18px; line-height: 1.7; color: rgba(205,216,236,.78); }
.ai-reasons-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.ai-reason-card { background: rgba(12,14,20,.92); border: 1px solid rgba(255,255,255,.08); border-radius: 26px; padding: 28px; display: flex; flex-direction: column; gap: 18px; box-shadow: 0 22px 48px rgba(0,0,0,.38); transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.ai-reason-card:hover { transform: translateY(-6px); border-color: rgba(61,139,255,.6); box-shadow: 0 32px 60px rgba(15,25,60,.45); }
.ai-reason-icon { width: 52px; height: 52px; border-radius: 16px; background: rgba(61,139,255,.16); display: inline-flex; align-items: center; justify-content: center; }
.ai-reason-icon img { width: 28px; height: 28px; object-fit: contain; }
.ai-reason-card h3 { margin: 0; font-size: 20px; color: #fff; }
.ai-reason-card p { margin: 0; font-size: 16px; line-height: 1.7; color: rgba(210,220,242,.82); }
@media (max-width: 1100px){
  .ai-reasons-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px){
  .ai-reasons { padding: 64px 0; }
  .ai-reasons-grid { grid-template-columns: 1fr; }
}

.ai-milestones { padding: 80px 0; background: #050506; border-top: 1px solid rgba(255,255,255,.05); border-bottom: 1px solid rgba(255,255,255,.05); color: rgba(233,238,249,.9); overflow: hidden; }
.ai-milestones-head { text-align: center; max-width: 860px; margin: 0 auto 42px auto; display: flex; flex-direction: column; gap: 16px; }
.ai-milestones-head h2 { margin: 0; font-size: clamp(28px, 4vw, 42px); letter-spacing: -0.01em; color: #fff; }
.ai-milestones-head p { margin: 0; font-size: 18px; line-height: 1.7; color: rgba(205,216,236,.78); }
.ai-milestones-stage { position: relative; overflow: hidden; }
.ai-milestones-track { display: flex; transition: transform .45s cubic-bezier(.22,1,.36,1); --ai-milestones-index: 0; transform: translateX(calc(var(--ai-milestones-index) * -100%)); }
.ai-milestones-slide { flex: 0 0 100%; }
.ai-milestones-row { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px; }
.ai-milestone-card { background: rgba(12,14,20,.92); border: 1px solid rgba(61,139,255,.25); border-radius: 28px; padding: 24px; display: flex; flex-direction: column; gap: 16px; align-items: center; text-align: center; min-height: 280px; box-shadow: 0 24px 50px rgba(0,0,0,.45); transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.ai-milestone-card:hover { transform: translateY(-6px); border-color: rgba(61,139,255,.65); box-shadow: 0 30px 70px rgba(15,30,65,.45); }
.ai-milestone-logo { width: 120px; height: 120px; border-radius: 18px; background: rgba(255,255,255,.05); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.ai-milestone-logo img { max-width: 100%; max-height: 100%; object-fit: contain; display: block; }
.ai-milestone-year { font-size: 14px; color: rgba(205,216,236,.72); text-transform: uppercase; letter-spacing: .18em; }
.ai-milestone-card h3 { margin: 0; font-size: 16px; line-height: 1.6; color: #fff; }
.ai-milestones-nav { display: flex; justify-content: center; align-items: center; gap: 18px; margin-top: 28px; }
.ai-milestones-arrow { width: 44px; height: 44px; border-radius: 12px; border: none; background: rgba(255,255,255,.12); color: #fff; font-size: 20px; cursor: pointer; transition: background .2s ease, transform .2s ease; }
.ai-milestones-arrow:hover { background: rgba(61,139,255,.3); transform: translateY(-2px); }
.ai-milestones-arrow:focus-visible { outline: 2px solid rgba(61,139,255,.9); outline-offset: 3px; }
@media (max-width: 1100px){
  .ai-milestones-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 768px){
  .ai-milestones-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px){
  .ai-milestones { padding: 64px 0; }
  .ai-milestones-row { grid-template-columns: 1fr; }
}

.ai-partners { padding: 80px 0; background: #040405; border-top: 1px solid rgba(255,255,255,.05); border-bottom: 1px solid rgba(255,255,255,.05); color: rgba(233,238,249,.9); }
.ai-partners-head { text-align: center; max-width: 820px; margin: 0 auto 38px auto; display: flex; flex-direction: column; gap: 16px; }
.ai-partners-head h2 { margin: 0; font-size: clamp(28px, 4vw, 40px); letter-spacing: -0.01em; color: #fff; }
.ai-partners-head p { margin: 0; font-size: 18px; line-height: 1.7; color: rgba(205,216,236,.78); }
.ai-partners-stage { position: relative; overflow: hidden; }
.ai-partners-track { display: flex; transition: transform .45s cubic-bezier(.22,1,.36,1); --ai-partners-index: 0; transform: translateX(calc(var(--ai-partners-index) * -100%)); }
.ai-partners-slide { flex: 0 0 100%; }
.ai-partners-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border: 1px solid rgba(255,255,255,.06); border-radius: 28px; overflow: hidden; }
.ai-partner-card { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; padding: 36px 20px; border-right: 1px solid rgba(255,255,255,.08); border-bottom: 1px solid rgba(255,255,255,.08); background: rgba(9,11,18,.9); }
.ai-partners-grid > :nth-child(4n) { border-right: none; }
.ai-partners-grid > :nth-last-child(-n+4) { border-bottom: none; }
.ai-partner-logo { width: 72px; height: 72px; border-radius: 20px; background: rgba(255,255,255,.05); display: inline-flex; align-items: center; justify-content: center; overflow: hidden; }
.ai-partner-logo img { max-width: 100%; max-height: 100%; object-fit: contain; display: block; }
.ai-partner-logo.has-initial { background: linear-gradient(135deg, rgba(61,139,255,.2), rgba(61,139,255,.05)); color: #fff; font-weight: 700; font-size: 24px; }
.ai-partner-name { color: rgba(233,238,249,.82); font-size: 15px; text-align: center; }
.ai-partners-nav { display: flex; justify-content: center; gap: 18px; margin-top: 28px; }
.ai-partners-arrow { width: 44px; height: 44px; border-radius: 12px; border: none; background: rgba(255,255,255,.12); color: #fff; font-size: 20px; cursor: pointer; transition: background .2s ease, transform .2s ease; }
.ai-partners-arrow:hover { background: rgba(61,139,255,.3); transform: translateY(-2px); }
.ai-partners-arrow:focus-visible { outline: 2px solid rgba(61,139,255,.9); outline-offset: 3px; }
@media (max-width: 1024px){
  .ai-partners-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ai-partners-grid > :nth-child(4n) { border-right: 1px solid rgba(255,255,255,.08); }
  .ai-partners-grid > :nth-child(3n) { border-right: none; }
  .ai-partners-grid > :nth-last-child(-n+3) { border-bottom: none; }
}
@media (max-width: 768px){
  .ai-partners-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ai-partners-grid > :nth-child(3n) { border-right: 1px solid rgba(255,255,255,.08); }
  .ai-partners-grid > :nth-child(2n) { border-right: none; }
  .ai-partners-grid > :nth-last-child(-n+2) { border-bottom: none; }
}
@media (max-width: 540px){
  .ai-partners { padding: 64px 0; }
  .ai-partners-grid { grid-template-columns: 1fr; }
  .ai-partners-grid > * { border-right: none !important; }
}

.ai-compliance { padding: 80px 0; background: #050506; border-top: 1px solid rgba(255,255,255,.05); border-bottom: 1px solid rgba(255,255,255,.05); color: rgba(233,238,249,.9); }
.ai-compliance-head { text-align: center; max-width: 820px; margin: 0 auto 40px auto; display: flex; flex-direction: column; gap: 16px; }
.ai-compliance-head h2 { margin: 0; font-size: clamp(28px, 4vw, 42px); letter-spacing: -0.01em; color: #fff; }
.ai-compliance-head p { margin: 0; font-size: 18px; line-height: 1.7; color: rgba(205,216,236,.78); }
.ai-compliance-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.ai-compliance-card { background: rgba(12,14,20,.94); border: 1px solid rgba(255,255,255,.06); border-radius: 24px; padding: 32px 30px; box-shadow: 0 24px 48px rgba(0,0,0,.4); display: flex; flex-direction: column; gap: 22px; }
.ai-compliance-card h3 { margin: 0; font-size: 22px; color: #fff; }
.ai-compliance-card ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 16px; }
.ai-compliance-card li { display: grid; grid-template-columns: auto 1fr; gap: 14px; align-items: start; color: rgba(233,238,249,.88); font-size: 16px; line-height: 1.6; }
.ai-compliance-icon { width: 22px; height: 22px; border-radius: 50%; background: linear-gradient(135deg, var(--color-accent), var(--color-accent-2)); box-shadow: 0 12px 24px rgba(var(--color-accent-rgb), .35); position: relative; }
.ai-compliance-icon::after { content: ""; position: absolute; left: 6px; top: 4px; width: 8px; height: 12px; border-right: 2px solid #fff; border-bottom: 2px solid #fff; transform: rotate(45deg); }
@media (max-width: 900px){
  .ai-compliance-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px){
  .ai-compliance { padding: 64px 0; }
  .ai-compliance-card { padding: 26px 22px; }
}

.ai-models-marquee { padding: 72px 0; background: #050506; border-top: 1px solid rgba(255,255,255,.05); border-bottom: 1px solid rgba(255,255,255,.05); color: rgba(233,238,249,.88); overflow: hidden; }
.ai-models-head { text-align: center; max-width: 880px; margin: 0 auto 36px auto; display: flex; flex-direction: column; gap: 14px; }
.ai-models-head h2 { margin: 0; font-size: clamp(28px, 4vw, 42px); letter-spacing: -0.01em; color: #fff; }
.ai-models-head p { margin: 0; font-size: 18px; line-height: 1.7; color: rgba(205,216,236,.78); }
.ai-models-tracks { display: flex; flex-direction: column; gap: 18px; }
.ai-model-track { position: relative; width: 100%; overflow: hidden; }
.ai-model-track-inner { display: inline-flex; gap: 16px; animation: ai-model-marquee 28s linear infinite; }
.ai-model-track:nth-of-type(2) .ai-model-track-inner { animation-duration: 32s; animation-direction: reverse; }
.ai-model-chip { display: inline-flex; align-items: center; justify-content: center; padding: 12px 26px; border-radius: 18px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); font-size: 16px; font-weight: 600; letter-spacing: .01em; color: rgba(233,238,249,.9); box-shadow: 0 14px 26px rgba(0,0,0,.35); white-space: nowrap; transition: transform .2s ease, border-color .2s ease, background .2s ease; }
.ai-model-chip:hover { transform: translateY(-3px); border-color: rgba(61,139,255,.6); background: rgba(61,139,255,.12); }
@keyframes ai-model-marquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
@media (max-width: 640px){
  .ai-models-marquee { padding: 56px 0; }
  .ai-model-chip { padding: 10px 20px; font-size: 15px; }
}

.ai-testimonials-slider { padding: 80px 0 72px 0; background: var(--color-bg); color: var(--color-text-light); border-bottom: 1px solid var(--color-border); }
.ai-testimonials-slider-head { text-align: center; max-width: 820px; margin: 0 auto 40px auto; display: flex; flex-direction: column; gap: 16px; }
.ai-testimonials-slider-head h2 { margin: 0; font-size: clamp(28px, 4vw, 42px); letter-spacing: -0.01em; color: var(--color-text); }
.ai-testimonials-slider-head p { margin: 0; font-size: 18px; line-height: 1.7; color: var(--color-text-light); }
.ai-testimonials-stage { position: relative; border-radius: 34px; border: 1px solid var(--color-border); background: radial-gradient(680px 420px at 70% 20%, rgba(var(--color-accent-rgb), .24), transparent 70%), var(--color-surface); overflow: hidden; box-shadow: 0 24px 48px rgba(0,0,0,.4); margin-bottom: 32px; }
.ai-testimonials-track { display: flex; transition: transform .45s cubic-bezier(.22,1,.36,1); --ai-testimonial-index: 0; transform: translateX(calc(var(--ai-testimonial-index) * -100%)); }
.ai-testimonial-slide { flex: 0 0 100%; padding: 64px clamp(36px, 6vw, 120px); display: flex; justify-content: center; }
.ai-testimonial-card { max-width: 860px; text-align: center; display: flex; flex-direction: column; gap: 32px; color: var(--color-text-light); }
.ai-testimonial-quote-icon { font-size: 48px; line-height: 1; color: var(--color-accent); }
.ai-testimonial-quote { margin: 0; font-size: clamp(18px, 2.2vw, 22px); line-height: 1.8; color: var(--color-text-light); }
.ai-testimonial-author { display: flex; flex-direction: column; align-items: center; gap: 12px; }
.ai-testimonial-avatar { width: 74px; height: 74px; border-radius: 50%; overflow: hidden; border: 2px solid rgba(255,255,255,.35); box-shadow: 0 12px 24px rgba(0,0,0,.35); }
.ai-testimonial-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ai-testimonial-meta strong { display: block; font-size: 18px; color: var(--color-text); }
.ai-testimonial-meta span { display: block; font-size: 14px; color: var(--color-text-light); }
.ai-testimonials-nav { position: absolute; top: 50%; transform: translateY(-50%); width: 58px; height: 58px; border-radius: 50%; border: none; background: var(--color-surface); color: var(--color-text); font-size: 34px; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease; }
.ai-testimonials-nav:hover { transform: translateY(-50%) scale(1.05); box-shadow: 0 16px 32px rgba(0,0,0,.35); }
.ai-testimonials-nav:focus-visible { outline: 2px solid rgba(var(--color-accent-rgb), .9); outline-offset: 4px; }
.ai-testimonials-nav.prev { left: clamp(12px, 3vw, 28px); }
.ai-testimonials-nav.next { right: clamp(12px, 3vw, 28px); }
.ai-testimonials-dots { display: flex; justify-content: center; gap: 10px; margin-bottom: 28px; }
.ai-testimonial-dot { width: 12px; height: 12px; border-radius: 999px; border: none; background: rgba(var(--color-accent-rgb), .35); cursor: pointer; transition: width .2s ease, background .2s ease; }
.ai-testimonial-dot.is-active { width: 28px; background: var(--color-accent); }
.ai-testimonial-dot:focus-visible { outline: 2px solid rgba(var(--color-accent-rgb), .8); outline-offset: 3px; }
.ai-testimonials-cta { display: flex; justify-content: center; }
.ai-testimonials-cta .btn-primary { background: linear-gradient(135deg, var(--color-accent), var(--color-accent-2)); border-radius: 18px; padding: 14px 34px; font-weight: 700; box-shadow: 0 20px 36px rgba(var(--color-accent-rgb), .28); }
.ai-testimonials-cta .btn-primary:hover { filter: brightness(1.05); }
.ai-testimonials-cta .btn-primary:active { transform: translateY(1px); }
@media (max-width: 768px){
  .ai-testimonial-slide { padding: 48px clamp(18px, 6vw, 36px); }
  .ai-testimonials-nav { width: 48px; height: 48px; font-size: 26px; top: auto; bottom: 20px; transform: none; }
  .ai-testimonials-nav:hover { transform: scale(1.05); }
  .ai-testimonials-nav.prev { left: 20px; }
  .ai-testimonials-nav.next { right: 20px; }
}

.ai-industries-accordion { background: #050506; padding: 80px 0; border-top: 1px solid rgba(255,255,255,.05); border-bottom: 1px solid rgba(255,255,255,.05); color: rgba(233,238,249,.9); }
.ai-industries-accordion-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; }
.ai-industries-accordion-intro { display: flex; flex-direction: column; gap: 18px; max-width: 520px; }
.ai-industries-accordion-intro h2 { margin: 0; font-size: clamp(28px, 4vw, 42px); letter-spacing: -0.01em; color: #fff; }
.ai-industries-accordion-intro p { margin: 0; font-size: 17px; line-height: 1.8; color: rgba(205,216,236,.78); }
.ai-industries-accordion-list { display: flex; flex-direction: column; gap: 18px; }
.ai-industries-accordion-list::-webkit-scrollbar { width: 6px; }
.ai-industries-accordion-list::-webkit-scrollbar-track { background: transparent; }
.ai-industries-accordion-list::-webkit-scrollbar-thumb { background: rgba(255,255,255,.12); border-radius: 999px; }
.ai-industries-accordion-list::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,.2); }

@media (min-width: 992px) {
  .ai-industries-accordion-list { max-height: 70vh; overflow-y: auto; padding-right: 8px; }
}
.ai-industry-panel { border: 1px solid rgba(255,255,255,.08); border-radius: 18px; background: rgba(8,10,16,.86); padding: 22px 26px; transition: border-color .2s ease, box-shadow .2s ease, background .2s ease; }
.ai-industry-panel.is-active { border-color: rgba(61,139,255,.6); box-shadow: 0 20px 45px rgba(0,0,0,.45); background: linear-gradient(140deg, rgba(24,32,52,.95), rgba(12,15,24,.9)); }
.ai-industry-panel header { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.ai-industry-heading { display: flex; align-items: center; gap: 14px; }
.ai-industry-icon { font-size: 26px; }
.ai-industry-heading h3 { margin: 0; font-size: 20px; color: #fff; letter-spacing: .01em; position: relative; }
.ai-industry-heading h3::after { content: ""; position: absolute; left: 0; bottom: -6px; width: 36px; height: 2px; background: rgba(61,139,255,.7); opacity: .9; }
.ai-industry-toggle { width: 40px; height: 40px; border-radius: 12px; border: none; background: rgba(255,255,255,.12); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transition: background .2s ease, transform .2s ease; }
.ai-industry-toggle:hover { background: rgba(255,255,255,.2); transform: translateY(-1px); }
.ai-industry-toggle:focus-visible { outline: 2px solid rgba(61,139,255,.9); outline-offset: 3px; }
.ai-industry-toggle-icon { width: 16px; height: 16px; position: relative; display: inline-flex; align-items: center; justify-content: center; }
.ai-industry-toggle-icon::before { content: ""; position: absolute; width: 10px; height: 10px; border-right: 2px solid #fff; border-bottom: 2px solid #fff; transform: rotate(45deg); transition: transform .2s ease; }
.ai-industry-panel.is-active .ai-industry-toggle-icon::before { transform: rotate(225deg); }
.ai-industry-body { margin-top: 18px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.08); }
.ai-industry-panel:not(.is-active) .ai-industry-body { display: none; }
.ai-industry-body ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.ai-industry-body li { position: relative; padding-left: 28px; font-size: 16px; color: rgba(221,231,250,.94); line-height: 1.7; }
.ai-industry-body li::before { content: ""; width: 12px; height: 12px; border-radius: 4px; border: 2px solid #3f82ff; position: absolute; left: 0; top: 50%; transform: translateY(-50%) rotate(-45deg); }
.ai-industry-body li::after { content: ""; width: 6px; height: 3px; border-left: 2px solid #3f82ff; border-bottom: 2px solid #3f82ff; position: absolute; left: 3px; top: 50%; transform: translateY(-50%) rotate(-45deg); }
@media (max-width: 980px){
  .ai-industries-accordion-grid { grid-template-columns: 1fr; }
  .ai-industries-accordion-intro { max-width: none; }
}
@media (max-width: 640px){
  .ai-industries-accordion { padding: 64px 0; }
  .ai-industry-panel { padding: 18px 20px; }
  .ai-industry-body li { font-size: 15px; }
}

/* Chatbot Features */
.cb-features { padding: 90px 0; background: #05070b; color: #f5f7ff; }
.cb-features-head { text-align: center; max-width: 900px; margin: 0 auto 32px; display: grid; gap: 14px; }
.cb-features-head h2 { margin: 0; font-size: clamp(28px, 3.8vw, 40px); letter-spacing: -0.01em; }
.cb-features-head p { margin: 0; color: #c9d4e9; line-height: 1.7; font-size: 17px; }
.cb-features-tabs { display: inline-flex; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.14); border-radius: 14px; padding: 6px; gap: 8px; margin: 0 auto 28px auto; align-items: center; justify-content: center; }
.cb-features-tabs .cb-features-tab { border: 1px solid transparent; background: transparent; color: #dfe7fb; padding: 12px 18px; border-radius: 10px; font-weight: 700; cursor: pointer; transition: all .2s ease; }
.cb-features-tabs .cb-features-tab.is-active { background: #1f6bff; color: #fff; border-color: rgba(255,255,255,.25); box-shadow: 0 14px 30px rgba(31,107,255,.35); }
.cb-features-tabs .cb-features-tab:hover { color: #fff; }
.cb-features-panels { margin-top: 10px; }
.cb-features-panel { display: none; }
.cb-features-panel.is-active { display: block; }
.cb-feature-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; }
.cb-feature-card { background: #1a1f2a; border: 1px solid rgba(255,255,255,.08); border-radius: 12px; padding: 16px 16px 18px 16px; display: grid; grid-template-columns: auto 1fr; gap: 12px; align-items: flex-start; box-shadow: 0 18px 32px rgba(0,0,0,.32); }
.cb-feature-bullet { width: 18px; height: 18px; border-radius: 50%; border: 3px solid #1f6bff; display: inline-flex; align-items: center; justify-content: center; position: relative; top: 2px; }
.cb-feature-card h3 { margin: 0; color: #fff; font-size: 16px; }
.cb-feature-card p { margin: 4px 0 0 0; color: #d6def2; font-size: 14px; line-height: 1.6; }
@media (max-width: 640px){
  .cb-features { padding: 72px 0; }
  .cb-features-tabs { flex-wrap: wrap; }
}

/* Chatbot Compliance */
.cb-compliance { padding: 90px 0; background: #05070b; color: #f5f7ff; }
.cb-comp-head { text-align: center; max-width: 900px; margin: 0 auto 36px; display: grid; gap: 14px; }
.cb-comp-head h2 { margin: 0; font-size: clamp(28px, 3.8vw, 40px); letter-spacing: -0.01em; }
.cb-comp-head p { margin: 0; color: #c9d4e9; line-height: 1.7; font-size: 17px; }
.cb-comp-stage { overflow: hidden; position: relative; margin-top: 12px; }
.cb-comp-rail { display: flex; gap: 18px; transition: transform .3s ease; }
.cb-comp-card { flex: 0 0 min(240px, 20%); background: #0c1018; border: 1px solid rgba(255,255,255,.08); border-radius: 12px; padding: 18px 16px; display: grid; gap: 10px; justify-items: center; text-align: center; box-shadow: 0 16px 30px rgba(0,0,0,.3); }
.cb-comp-icon { width: 52px; height: 52px; border-radius: 16px; background: rgba(31,107,255,.12); color: #fff; display: grid; place-items: center; font-size: 22px; }
.cb-comp-card h3 { margin: 0; color: #fff; font-size: 16px; }
.cb-comp-card p { margin: 0; color: #d6def2; font-size: 13px; line-height: 1.6; }
.cb-comp-nav { display: flex; gap: 12px; justify-content: center; align-items: center; margin-top: 18px; }
.cb-comp-btn { width: 38px; height: 38px; border-radius: 50%; border: 1px solid rgba(255,255,255,.25); background: rgba(255,255,255,.06); color: #fff; font-size: 16px; cursor: pointer; display: grid; place-items: center; transition: all .2s ease; }
.cb-comp-btn:hover { background: rgba(255,255,255,.12); }
@media (max-width: 900px){
  .cb-comp-card { flex: 0 0 calc(33.33% - 18px); }
}
@media (max-width: 640px){
  .cb-compliance { padding: 72px 0; }
  .cb-comp-card { flex: 0 0 calc(100% - 18px); }
}

/* Chatbot Differentiators */
.cb-diff { padding: 90px 0; background: #05070b; color: #f5f7ff; }
.cb-diff-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 32px; align-items: start; }
.cb-diff-left { display: flex; flex-direction: column; gap: 16px; max-width: 520px; }
.cb-diff-left h2 { margin: 0; font-size: clamp(28px, 3.8vw, 40px); letter-spacing: -0.01em; }
.cb-diff-left p { margin: 0; color: #c9d4e9; line-height: 1.7; }
.cb-diff-right { display: grid; gap: 18px; }
.cb-diff-item { display: grid; grid-template-columns: auto 1fr; gap: 16px; padding: 18px 16px; background: #0d1119; border: 1px solid rgba(255,255,255,.08); border-radius: 14px; box-shadow: 0 16px 30px rgba(0,0,0,.28); }
.cb-diff-num { font-weight: 800; color: #3f82ff; font-size: 16px; }
.cb-diff-copy h3 { margin: 0 0 6px 0; color: #fff; font-size: 17px; }
.cb-diff-copy p { margin: 0; color: #d6def2; line-height: 1.6; font-size: 14px; }
@media (max-width: 960px){
  .cb-diff-grid { grid-template-columns: 1fr; }
  .cb-diff-left { max-width: none; }
}
@media (max-width: 640px){
  .cb-diff { padding: 72px 0; }
}

/* Chatbot Engagement CTA */
.cb-engagement { padding: 60px 0 90px 0; background: #05070b; color: #0c0f16; }
.cb-eng-card { background: #fff; border-radius: 16px; overflow: hidden; box-shadow: 0 18px 36px rgba(0,0,0,.3); display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); align-items: stretch; }
.cb-eng-copy { padding: 26px 26px 26px 26px; display: grid; gap: 14px; }
.cb-eng-copy h3 { margin: 0; font-size: 22px; color: #0c0f16; }
.cb-eng-copy p { margin: 0; color: #3a445a; line-height: 1.7; }
.cb-eng-bullets { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.cb-eng-bullets li { display: grid; grid-template-columns: auto 1fr; gap: 10px; align-items: start; color: #1d2a3c; font-weight: 700; font-size: 14px; }
.cb-eng-tick { width: 18px; height: 18px; border-radius: 50%; border: 3px solid #1f6bff; display: grid; place-items: center; color: #1f6bff; font-weight: 800; font-size: 11px; }
.cb-eng-cta { margin-top: 6px; display: inline-flex; align-items: center; gap: 8px; background: #1f6bff; color: #fff; border: none; border-radius: 999px; padding: 12px 20px; font-weight: 700; text-decoration: none; box-shadow: 0 18px 32px rgba(31,107,255,.35); }
.cb-eng-cta:hover { filter: brightness(1.05); }
.cb-eng-media { position: relative; }
.cb-eng-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (max-width: 900px){
  .cb-eng-card { grid-template-columns: 1fr; }
  .cb-eng-media { order: -1; }
}
@media (max-width: 640px){
  .cb-engagement { padding: 48px 0 72px 0; }
}

/* Chatbot Awards */
.cb-awards { padding: 80px 0; background: #05070b; color: #f5f7ff; }
.cb-awards-head { text-align: center; max-width: 880px; margin: 0 auto 32px; display: grid; gap: 12px; }
.cb-awards-head h2 { margin: 0; font-size: clamp(28px, 3.8vw, 40px); letter-spacing: -0.01em; }
.cb-awards-head p { margin: 0; color: #c9d4e9; line-height: 1.7; font-size: 16px; }
.cb-awards-stage { overflow: hidden; position: relative; margin-top: 12px; }
.cb-awards-rail { display: flex; gap: 18px; transition: transform .3s ease; }
.cb-award-card { flex: 0 0 min(240px, 20%); background: #0c1018; border: 1px solid rgba(255,255,255,.08); border-radius: 12px; padding: 16px; display: grid; gap: 12px; justify-items: center; text-align: center; box-shadow: 0 16px 30px rgba(0,0,0,.3); }
.cb-award-media { width: 100%; display: flex; align-items: center; justify-content: center; }
.cb-award-media img { max-width: 140px; height: auto; object-fit: contain; display: block; }
.cb-award-meta { display: grid; gap: 6px; }
.cb-award-year { color: #8fa7d1; font-weight: 700; font-size: 14px; }
.cb-award-card h3 { margin: 0; color: #fff; font-size: 15px; line-height: 1.4; }
.cb-award-card p { margin: 0; color: #d6def2; font-size: 13px; line-height: 1.5; }
.cb-awards-nav { display: flex; gap: 12px; justify-content: center; align-items: center; margin-top: 18px; }
.cb-awards-btn { width: 38px; height: 38px; border-radius: 50%; border: 1px solid rgba(255,255,255,.25); background: rgba(255,255,255,.06); color: #fff; font-size: 16px; cursor: pointer; display: grid; place-items: center; transition: all .2s ease; }
.cb-awards-btn:hover { background: rgba(255,255,255,.12); }
@media (max-width: 900px){
  .cb-award-card { flex: 0 0 calc(33.33% - 18px); }
}
@media (max-width: 640px){
  .cb-awards { padding: 64px 0; }
  .cb-award-card { flex: 0 0 calc(100% - 18px); }
}

/* Chatbot Partners */
.cb-partners { padding: 80px 0; background: #05070b; color: #f5f7ff; }
.cb-partners-head { text-align: center; max-width: 920px; margin: 0 auto 28px; display: grid; gap: 12px; }
.cb-partners-head h2 { margin: 0; font-size: clamp(28px, 3.8vw, 40px); letter-spacing: -0.01em; }
.cb-partners-head p { margin: 0; color: #c9d4e9; line-height: 1.7; font-size: 16px; }
.cb-partners-stage { overflow: hidden; position: relative; margin-top: 8px; }
.cb-partners-rail { display: flex; transition: transform .35s ease; width: 100%; }
.cb-partners-grid { flex: 0 0 100%; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(120px, 1fr)); }
.cb-partner-card { border: 1px solid rgba(255,255,255,.08); border-right: none; border-bottom: none; display: flex; flex-direction: column; gap: 10px; align-items: center; justify-content: center; padding: 18px 12px; background: rgba(12,16,24,.85); }
.cb-partner-card:nth-child(5n) { border-right: 1px solid rgba(255,255,255,.08); }
.cb-partner-card:nth-child(n+6) { border-bottom: 1px solid rgba(255,255,255,.08); }
.cb-partner-card img { max-height: 42px; max-width: 120px; width: auto; height: auto; object-fit: contain; filter: brightness(1); }
.cb-partner-card span { color: #dfe7fb; font-size: 14px; text-align: center; }
.cb-partners-nav { display: flex; gap: 12px; justify-content: center; align-items: center; margin: 18px 0 10px 0; }
.cb-partners-btn { width: 38px; height: 38px; border-radius: 50%; border: 1px solid rgba(255,255,255,.25); background: rgba(255,255,255,.06); color: #fff; font-size: 16px; cursor: pointer; display: grid; place-items: center; transition: all .2s ease; }
.cb-partners-btn:hover { background: rgba(255,255,255,.12); }
.cb-partners-cta { display: flex; justify-content: center; }
.cb-partners-cta .btn-primary { background: #1f6bff; color: #fff; border-radius: 10px; padding: 12px 22px; font-weight: 700; box-shadow: 0 16px 32px rgba(31,107,255,.35); }
.cb-partners-cta .btn-primary:hover { filter: brightness(1.05); }
@media (max-width: 900px){
  .cb-partners-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(120px, 1fr)); }
  .cb-partner-card:nth-child(5n) { border-right: 1px solid rgba(255,255,255,.08); }
  .cb-partner-card:nth-child(3n) { border-right: 1px solid rgba(255,255,255,.08); }
}
@media (max-width: 640px){
  .cb-partners { padding: 64px 0; }
  .cb-partners-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(120px, 1fr)); }
  .cb-partner-card:nth-child(2n) { border-right: 1px solid rgba(255,255,255,.08); }
}

/* Chatbot Technologies */
.cb-tech { padding: 90px 0; background: #05070b; color: #f5f7ff; }
.cb-tech-head { text-align: center; max-width: 940px; margin: 0 auto 32px; display: grid; gap: 12px; }
.cb-tech-head h2 { margin: 0; font-size: clamp(28px, 3.8vw, 40px); letter-spacing: -0.01em; }
.cb-tech-head p { margin: 0; color: #c9d4e9; line-height: 1.7; font-size: 16px; }
.cb-tech-stage { position: relative; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 16px; }
.cb-tech-track { display: flex; gap: 18px; transition: transform .35s ease; will-change: transform; overflow: hidden; }
.cb-tech-card { min-width: min(320px, 24vw); background: #0d1119; border: 1px solid rgba(255,255,255,.12); border-radius: 14px; padding: 16px; display: flex; flex-direction: column; gap: 12px; box-shadow: 0 18px 34px rgba(0,0,0,.3); }
.cb-tech-card h3 { margin: 0; color: #fff; font-size: 17px; }
.cb-tech-card p { margin: 0; color: #d6def2; line-height: 1.6; font-size: 14px; }
.cb-tech-count { align-self: flex-start; font-size: 12px; color: #9fb4df; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); border-radius: 10px; padding: 4px 8px; }
.cb-tech-media img { width: 100%; height: 180px; object-fit: cover; border-radius: 12px; display: block; }
.cb-tech-arrow { width: 42px; height: 42px; border-radius: 50%; border: 1px solid rgba(255,255,255,.25); background: rgba(255,255,255,.06); color: #fff; font-size: 18px; display: grid; place-items: center; cursor: pointer; transition: all .2s ease; }
.cb-tech-arrow:hover { background: rgba(255,255,255,.12); }
@media (max-width: 960px){
  .cb-tech-card { min-width: 280px; }
}
@media (max-width: 640px){
  .cb-tech { padding: 72px 0; }
  .cb-tech-stage { grid-template-columns: 1fr; }
  .cb-tech-track { width: 100%; }
  .cb-tech-arrow { order: -1; justify-self: center; }
}

/* Chatbot Models */
.cb-models { padding: 90px 0; background: #05070b; color: #f5f7ff; }
.cb-models-head { text-align: center; max-width: 940px; margin: 0 auto 32px; display: grid; gap: 12px; }
.cb-models-head h2 { margin: 0; font-size: clamp(28px, 3.8vw, 40px); letter-spacing: -0.01em; }
.cb-models-head p { margin: 0; color: #c9d4e9; line-height: 1.7; font-size: 16px; }
.cb-models-body { display: grid; grid-template-columns: 220px 1px 1fr; gap: 18px; align-items: start; }
.cb-models-tabs { display: flex; flex-direction: column; gap: 10px; }
.cb-models-tab { width: 100%; text-align: left; padding: 12px 14px; border-radius: 10px; border: 1px solid transparent; background: transparent; color: #9fb4df; font-weight: 700; cursor: pointer; transition: all .2s ease; }
.cb-models-tab.is-active { background: linear-gradient(90deg, rgba(31,107,255,.2), rgba(31,107,255,.05)); color: #fff; border-color: rgba(31,107,255,.35); box-shadow: inset 3px 0 0 #1f6bff; }
.cb-models-divider { width: 1px; background: linear-gradient(180deg, rgba(255,255,255,.24), rgba(255,255,255,.04)); height: 100%; }
.cb-models-panels { width: 100%; }
.cb-models-panel { display: none; }
.cb-models-panel.is-active { display: block; }
.cb-models-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 14px; }
.cb-model-card { background: #0d1119; border: 1px solid rgba(255,255,255,.12); border-radius: 12px; padding: 14px 12px; display: grid; gap: 12px; place-items: center; text-align: center; min-height: 140px; box-shadow: 0 16px 30px rgba(0,0,0,.28); }
.cb-model-card img { max-height: 40px; max-width: 120px; width: auto; height: auto; object-fit: contain; filter: brightness(1); }
.cb-model-card span { color: #fff; font-weight: 700; font-size: 14px; }
@media (max-width: 960px){
  .cb-models-body { grid-template-columns: 1fr; }
  .cb-models-divider { display: none; }
  .cb-models-tabs { flex-direction: row; flex-wrap: wrap; }
  .cb-models-tab { flex: 1 1 calc(50% - 10px); }
}
@media (max-width: 640px){
  .cb-models { padding: 72px 0; }
  .cb-models-tab { flex: 1 1 100%; }
}

/* Chatbot Framework */
.cb-framework { padding: 90px 0; background: #05070b; color: #f5f7ff; }
.cb-framework-head { text-align: center; max-width: 960px; margin: 0 auto 32px; display: grid; gap: 12px; }
.cb-framework-head h2 { margin: 0; font-size: clamp(28px, 3.8vw, 40px); letter-spacing: -0.01em; }
.cb-framework-head p { margin: 0; color: #c9d4e9; line-height: 1.7; font-size: 16px; }
.cb-framework-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.cb-fw-accordion { background: #0d1119; border: 1px solid rgba(255,255,255,.12); border-radius: 10px; overflow: hidden; box-shadow: 0 12px 26px rgba(0,0,0,.24); }
.cb-fw-trigger { width: 100%; padding: 14px 14px; background: none; border: none; color: #f5f7ff; display: flex; align-items: center; gap: 12px; justify-content: space-between; cursor: pointer; font-weight: 700; }
.cb-fw-icon { color: #9fb4df; font-size: 14px; }
.cb-fw-caret { color: #9fb4df; font-size: 14px; transition: transform .2s ease; }
.cb-fw-accordion.is-open .cb-fw-caret { transform: rotate(180deg); }
.cb-fw-panel { padding: 0 14px 14px 14px; }
.cb-fw-tags { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 10px; }
.cb-fw-tag { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14); border-radius: 999px; padding: 8px 12px; color: #dfe7fb; font-size: 13px; }
@media (max-width: 900px){
  .cb-framework-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px){
  .cb-framework { padding: 72px 0; }
}

/* Chatbot Framework CTA */
.cb-framework-cta { padding: 70px 0 90px; background: #05070b; }
.cb-fw-cta-shell { background: #ffffff; border-radius: 14px; overflow: hidden; display: grid; grid-template-columns: 1.05fr 0.95fr; min-height: 280px; box-shadow: 0 22px 44px rgba(0,0,0,.28); }
.cb-fw-cta-copy { padding: 28px; display: grid; align-content: center; gap: 14px; color: #0b0c0d; }
.cb-fw-cta-copy h3 { margin: 0; font-size: 22px; letter-spacing: -0.01em; }
.cb-fw-cta-copy p { margin: 0; line-height: 1.65; color: #1f2937; }
.cb-fw-cta-copy .btn { display: inline-flex; align-items: center; justify-content: center; padding: 12px 18px; border-radius: 10px; font-weight: 700; }
.cb-fw-cta-copy .btn.btn-primary { background: #1f6bff; color: #fff; border: 1px solid #1f6bff; box-shadow: 0 14px 28px rgba(31,107,255,.28); }
.cb-fw-cta-copy .btn.btn-primary:hover { background: #1959d4; border-color: #1959d4; }
.cb-fw-cta-media { position: relative; background: #000; }
.cb-fw-cta-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (max-width: 900px){
  .cb-fw-cta-shell { grid-template-columns: 1fr; }
  .cb-fw-cta-media { max-height: 260px; }
}

/* Chatbot Process */
.cb-process { padding: 90px 0; background: #05070b; color: #f5f7ff; }
.cb-process-head { text-align: center; max-width: 900px; margin: 0 auto 36px; display: grid; gap: 12px; }
.cb-process-head h2 { margin: 0; font-size: clamp(28px, 3.6vw, 40px); letter-spacing: -0.01em; }
.cb-process-head p { margin: 0; color: #c9d4e9; line-height: 1.7; font-size: 16px; }
.cb-process-list { display: grid; gap: 28px; }
.cb-process-step { display: grid; grid-template-columns: 90px 1px 1fr; gap: 18px; padding: 10px 0; border-top: 1px solid rgba(255,255,255,.08); }
.cb-process-step:last-child { border-bottom: 1px solid rgba(255,255,255,.08); padding-bottom: 20px; }
.cb-process-num { font-size: 16px; font-weight: 700; color: #dfe7fb; letter-spacing: 0.08em; }
.cb-process-divider { background: linear-gradient(180deg, rgba(255,255,255,.32), rgba(255,255,255,.08)); width: 1px; }
.cb-process-body { display: grid; gap: 12px; }
.cb-process-body h3 { margin: 0; font-size: 22px; letter-spacing: -0.01em; color: #fff; }
.cb-process-body p { margin: 0; color: #c9d4e9; line-height: 1.65; }
@media (max-width: 720px){
  .cb-process-step { grid-template-columns: 70px 1px 1fr; }
}
@media (max-width: 560px){
  .cb-process-step { grid-template-columns: 1fr; }
  .cb-process-divider { display: none; }
  .cb-process-num { order: -1; }
}

/* Chatbot Insights */
.cb-insights { padding: 90px 0; background: #05070b; color: #f5f7ff; }
.cb-insights-head { text-align: center; margin: 0 auto 22px; }
.cb-insights-head h2 { margin: 0; font-size: clamp(26px, 3.4vw, 34px); letter-spacing: -0.01em; }
.cb-insights-tabs { display: flex; justify-content: center; gap: 22px; margin-bottom: 18px; }
.cb-insights-tab { background: none; border: none; color: #8ea2c8; font-weight: 700; font-size: 15px; padding: 10px 6px; position: relative; cursor: pointer; }
.cb-insights-tab.is-active { color: #fff; }
.cb-insights-tab.is-active::after { content: ""; position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); width: 46px; height: 2px; background: #fff; border-radius: 2px; }
.cb-insights-panel { display: none; }
.cb-insights-panel.is-active { display: block; }
.cb-insights-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.cb-insights-card { display: grid; gap: 10px; text-decoration: none; color: #dfe7fb; background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.08); border-radius: 14px; overflow: hidden; box-shadow: 0 14px 28px rgba(0,0,0,.26); transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.cb-insights-card:hover { transform: translateY(-4px); border-color: rgba(255,255,255,.22); box-shadow: 0 20px 34px rgba(0,0,0,.32); }
.cb-insights-media { width: 100%; aspect-ratio: 16/9; overflow: hidden; background: #0f141c; }
.cb-insights-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cb-insights-title { padding: 0 12px 14px 12px; font-weight: 700; color: #fff; line-height: 1.5; }
@media (max-width: 920px){
  .cb-insights-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px){
  .cb-insights { padding: 72px 0; }
  .cb-insights-grid { grid-template-columns: 1fr; }
}
/* AI Services Overview */
.ai-services { padding: 56px 0; background: #0b0c0d; border-top: 1px solid rgba(255,255,255,.05); border-bottom: 1px solid rgba(255,255,255,.05); }
.ai-services-head { display: flex; flex-direction: column; gap: 12px; margin-bottom: 28px; }
.ai-services-copy h2 { margin: 0; color: #e8eef9; font-size: clamp(28px, 4vw, 40px); letter-spacing: -0.01em; }
.ai-services-copy p { margin: 0; color: var(--color-muted); max-width: 640px; font-size: 16px; line-height: 1.7; }
.ai-services-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.ai-service-card { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.12); border-radius: 14px; padding: 20px; min-height: 180px; display: flex; flex-direction: column; gap: 10px; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.ai-service-card h3 { margin: 0; color: #f1f3ff; font-size: 18px; }
.ai-service-card p { margin: 0; color: rgba(201,212,233,.78); line-height: 1.6; font-size: 14px; }
.ai-service-card:hover { transform: translateY(-4px); border-color: rgba(255,255,255,.24); box-shadow: 0 18px 30px rgba(0,0,0,.35); }
@media (max-width: 1024px){
  .ai-services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px){
  .ai-services-grid { grid-template-columns: 1fr; }
}

/* AI Process */
.ai-process { padding: 56px 0; }
.ai-process-head { text-align: center; max-width: 720px; margin: 0 auto 32px auto; }
.ai-process-head h2 { margin: 0 0 10px 0; color: #e8eef9; font-size: clamp(26px, 3.6vw, 38px); }
.ai-process-head p { margin: 0; color: var(--color-muted); line-height: 1.7; }
.ai-process-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.ai-process-step { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.12); border-radius: 14px; padding: 20px; position: relative; overflow: hidden; min-height: 200px; display: flex; flex-direction: column; gap: 10px; }
.ai-process-index { font-size: 24px; font-weight: 800; color: rgba(255,255,255,.12); letter-spacing: .12em; }
.ai-process-step h3 { margin: 0; color: #f1f3ff; font-size: 18px; }
.ai-process-step p { margin: 0; color: rgba(201,212,233,.78); line-height: 1.6; font-size: 14px; }
.ai-process-step::after { content: ""; position: absolute; inset: 0; background: radial-gradient(220px 220px at 0% 0%, rgba(123,97,255,.18), transparent 60%); pointer-events: none; }
.ai-process-step:hover { border-color: rgba(255,255,255,.24); box-shadow: 0 16px 32px rgba(0,0,0,.35); }
@media (max-width: 1024px){
  .ai-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px){
  .ai-process-grid { grid-template-columns: 1fr; }
}

/* Impact metrics */
.impact-metrics { background: #0b0c0d; padding: 28px 0; border-top: 1px solid rgba(255,255,255,.06); border-bottom: 1px solid rgba(255,255,255,.06); }
.metrics-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; padding: 18px 0; }
.metric { position: relative; padding: 12px 18px; }
.metric:not(:first-child)::before { content: ""; position: absolute; left: -10px; top: 8px; bottom: 8px; width: 1px; background: rgba(255,255,255,.1); }
.metric .stat { font-size: clamp(28px, 4vw, 36px); font-weight: 800; color: #77a9ff; margin-bottom: 8px; }
.metric .title { font-weight: 700; margin-bottom: 6px; }
.metric p { margin: 0; color: var(--color-muted); }
@media (max-width: 900px){ .metrics-grid { grid-template-columns: 1fr; } .metric:not(:first-child)::before{ display:none; } }

/* CTA band */
.impact-cta { padding: 36px 0; }
.cta-card {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 20px;
  padding: 18px 22px;
  border-radius: 16px;
  background: #141414;
  border: 1px solid rgba(255,255,255,.1);
  box-shadow: 0 16px 30px rgba(0,0,0,.32);
}
.cta-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: rgba(255,255,255,.08);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
}
.cta-icon svg { width: 22px; height: 22px; }
.cta-text { color: #f2f4ff; font-weight: 600; font-size: clamp(18px, 2.2vw, 22px); }
.cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 24px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--color-accent), var(--color-accent-2));
  color: #fff;
  font-weight: 600;
  box-shadow: 0 12px 24px rgba(var(--color-accent-rgb), .32);
  text-shadow: 0 1px 2px rgba(0,0,0,.28);
  transition: transform .2s ease, box-shadow .2s ease;
}
.cta-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 28px rgba(var(--color-accent-rgb), .38);
}
@media (max-width: 640px){
  .cta-card {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .cta-btn {
    width: 100%;
  }
}

.btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 18px;
  border-radius: 10px;
  background: linear-gradient(135deg, var(--color-accent), var(--color-accent-2));
  color: var(--color-accent-contrast);
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 14px 28px rgba(var(--color-accent-rgb), .3);
  text-shadow: 0 1px 2px rgba(0,0,0,.28);
  transition: transform .2s ease, box-shadow .2s ease;
}
.btn-primary:hover { transform: translateY(-1px); box-shadow: 0 18px 34px rgba(var(--color-accent-rgb), .36); }
.btn-primary:active { transform: translateY(0); box-shadow: 0 10px 18px rgba(var(--color-accent-rgb), .24); }

/* Testimonials */
.testimonials { padding: 48px 0; background: radial-gradient(1200px 600px at 20% 20%, rgba(var(--color-accent-rgb), .24), transparent 60%), radial-gradient(1200px 600px at 80% 80%, rgba(var(--color-accent-rgb), .16), transparent 65%), var(--color-bg); }
.t-head { color: var(--color-text); margin: 0 0 20px 0; font-size: clamp(22px, 3.2vw, 36px); letter-spacing: -0.01em; }
.t-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.t-card { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: 14px; padding: 10px; cursor: pointer; }
.t-card:focus { outline: 2px solid var(--color-accent); outline-offset: 2px; }
.t-media { position: relative; aspect-ratio: 9/16; overflow: hidden; border-radius: 10px; background: var(--color-bg); }
.t-media .t-thumb { width: 100%; height: 100%; object-fit: cover; display: block; position: absolute; inset: 0; z-index: 1; }
.t-media .t-video { width: 100%; height: 100%; object-fit: cover; display: none; position: absolute; inset: 0; z-index: 2; }
.t-play { 
  position: absolute; 
  left: 50%; 
  top: 50%; 
  transform: translate(-50%, -50%); 
  width: 54px; 
  height: 54px; 
  border-radius: 999px; 
  background: var(--color-surface); 
  color: var(--color-text); 
  display: flex; 
  align-items: center; 
  justify-content: center; 
  font-weight: 900; 
  box-shadow: 0 8px 30px rgba(var(--color-accent-rgb), .20); 
  z-index: 3;
  border: 1px solid var(--color-border);
  cursor: pointer;
  transition: transform .2s ease, background .2s ease;
}
.t-play:hover {
  transform: translate(-50%, -50%) scale(1.1);
  background: rgba(var(--color-accent-rgb), .14);
}
.t-meta { text-align: center; margin-top: 8px; }
.t-name { color: var(--color-text); font-weight: 700; }
.t-role { color: var(--color-text-light); font-size: 13px; }
.t-actions { display: flex; justify-content: center; margin-top: 18px; }

/* Testimonials modal */
.t-modal[hidden] { display: none; }
.t-modal { position: fixed; inset: 0; z-index: 1500; }
.t-modal-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.6); }
.t-modal-dialog { position: relative; margin: 6vh auto; background: #000; border: 1px solid rgba(255,255,255,.12); border-radius: 12px; max-width: 960px; width: calc(100% - 32px); overflow: hidden; }
.t-modal-video { width: 100%; height: auto; display: block; }
.t-close { position: absolute; top: 8px; right: 8px; width: 36px; height: 36px; border-radius: 8px; border: 1px solid rgba(255,255,255,.2); background: rgba(0,0,0,.5); color: #fff; cursor: pointer; }
@media (max-width: 1024px){ .t-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px){ .t-grid { grid-template-columns: 1fr; } }

/* Case studies rail */
.case-studies { padding: 24px 0 8px 0; position: relative; }
.studies-rail { display: grid; gap: 24px; grid-auto-flow: column; grid-auto-columns: 100%; overflow: hidden; scroll-snap-type: x mandatory; padding-bottom: 10px; touch-action: pan-y; }
.studies-rail:focus { outline: none; }
.study { display: grid; grid-template-columns: 1.1fr 1.9fr; gap: 28px; scroll-snap-align: start; align-items: center; }
.study-copy .eyebrow { color: #77a9ff; font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.study-copy h3 { margin: 6px 0 8px 0; font-size: clamp(22px, 3.2vw, 32px); }
.study-copy p { color: var(--color-muted); max-width: 520px; }
.study-copy .results { display: grid; grid-template-columns: repeat(2, max-content); gap: 24px; margin: 14px 0; }
.study-copy .results span { display:block; font-size: 13px; color: var(--color-muted); }
.btn-ghost { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 14px; border-radius: 10px; border: 1px solid var(--color-border); color: #fff; }
.study-media .media-ph { height: 420px; border-radius: 14px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1); display:flex; align-items:center; justify-content:center; color: #9fb3d9; }
@media (max-width: 900px){
  .studies-rail { grid-auto-columns: 100%; }
  .study { grid-template-columns: 1fr; }
  .study-media .media-ph { height: 240px; }
}
/* Carousel nav */
.cs-nav { display: flex; gap: 8px; justify-content: flex-end; margin-top: 10px; }
.cs-btn { width: 40px; height: 40px; border-radius: 10px; border: 1px solid var(--color-border); background: rgba(255,255,255,.04); color: #fff; cursor: pointer; }
.cs-btn:hover { background: rgba(255,255,255,.08); }

/* Middle column links layout: single scrollable column */
.ai-links { max-height: 340px; overflow: auto; padding-right: 8px; width: 100%; }
.ai-links ul { list-style: none; margin: 0; padding: 0; display: block; }
.ai-links li { margin: 0 0 10px 0; }
.ai-links a { display: block; padding: 4px 0; color: var(--color-muted); white-space: normal; line-height: 1.5; }
.ai-links a:hover { color: var(--color-text); }
/* Scrollbar styling */
.ai-links { scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.18) transparent; }
.ai-links::-webkit-scrollbar { width: 8px; }
.ai-links::-webkit-scrollbar-thumb { background: rgba(255,255,255,.14); border-radius: 8px; }

/* Services grid */
.services { padding: 48px 0 20px 0; position: relative; }
.s-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.s-head h2 { margin: 0; font-size: clamp(22px, 3vw, 34px); letter-spacing: -0.01em; color: #e8eef9; }
.s-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.s-card { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.12); border-radius: 12px; padding: 16px; }
.s-icon {
  width: 36px;
  height: 36px;
  margin-bottom: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  filter: grayscale(100%);
  opacity: 0.85;
  transition: all .2s ease;
}
.s-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  filter: invert(1);
}
.s-card:hover .s-icon {
  filter: grayscale(0%);
  opacity: 1;
  transform: scale(1.05);
}
.s-card h3 { margin: 0 0 8px 0; font-size: 18px; }
.s-card p { margin: 0; color: var(--color-muted); }
.services-sep { height: 28px; }
.services-accent { height: 12px; background: var(--color-accent); }
@media (max-width: 1024px){ .s-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px){ .s-grid { grid-template-columns: 1fr; } }

/* ROI band */
.roi-band { background: #1e6bff; color: #0b0c0d; padding: 36px 0 28px 0; }
.roi-band .container { text-align: center; }
.roi-head { color: #e9f2ff; margin: 0 0 16px 0; font-size: clamp(22px, 3vw, 32px); }
.roi-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 8px; }
.roi-card { background: #f6f8ff; color: #0b0c0d; border-radius: 12px; padding: 16px; box-shadow: 0 2px 0 rgba(0,0,0,.08) inset; }
.roi-card h3 { margin: 6px 0 6px 0; font-size: 18px; }
.roi-card p { margin: 0; color: #1f2b3f; }
.roi-chip { 
  display: inline-flex; 
  align-items: center;
  gap: 8px;
  background: #0b0c0d; 
  color: #fff; 
  border-radius: 999px; 
  padding: 4px 12px; 
  font-size: 12px; 
  font-weight: 700; 
  letter-spacing: .04em; 
  text-transform: uppercase;
}
.roi-chip img { width: 16px; height: 16px; filter: invert(1); mix-blend-mode: screen; }
.roi-actions { margin-top: 16px; }
@media (max-width: 900px){ .roi-grid { grid-template-columns: 1fr; } }
.ai-links:hover::-webkit-scrollbar-thumb { background: rgba(255,255,255,.22); }

/* Ensure blogs view also uses full width */
.ai-blogs { width: 100%; }
.ai-blogs-list { max-height: 340px; overflow: auto; padding-right: 8px; display: flex; flex-direction: column; gap: 10px; }
.ai-blogs-item { display: flex; gap: 12px; align-items: center; padding: 6px 0; color: var(--color-text); }
.ai-blogs-thumb { width: 64px; height: 46px; border-radius: 10px; background: linear-gradient(135deg, var(--color-accent), var(--color-accent-2)); flex-shrink: 0; object-fit: cover; display: block; }
.ai-blogs-title { margin: 0; font-size: 14px; line-height: 1.35; color: var(--color-text); }
/* Scrollbar styling */
.ai-blogs-list { scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.18) transparent; }
.ai-blogs-list::-webkit-scrollbar { width: 8px; }
.ai-blogs-list::-webkit-scrollbar-thumb { background: rgba(255,255,255,.14); border-radius: 8px; }
.ai-blogs-list:hover::-webkit-scrollbar-thumb { background: rgba(255,255,255,.22); }

/* Technologies section */
.tech { padding: 36px 0; }
.tech-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 40px; align-items: start; }
.tech-head { margin: 0 0 18px 0; font-size: clamp(24px, 3.2vw, 40px); letter-spacing: -0.01em; color: #e8eef9; }
.tech-cta-card { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.12); border-radius: 12px; padding: 16px; max-width: 380px; }
.tech-cta-title { color: #fff; font-weight: 700; margin-bottom: 4px; }
.tech-cta-sub { color: #c9d4e9; margin-bottom: 12px; }
.tech-right { max-height: 520px; overflow: auto; padding-right: 8px; }
.tech-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 22px; }
.tech-item { display: grid; grid-template-columns: 40px 1fr 18px; gap: 16px; align-items: start; padding-bottom: 18px; border-bottom: 1px solid rgba(255,255,255,.12); }
.ti-icon {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.06);
  border-radius: 10px;
  filter: grayscale(100%);
  opacity: 0.85;
  transition: all .2s ease;
}
.ti-icon img {
  width: 24px;
  height: 24px;
  display: block;
  filter: invert(1) brightness(1.3);
}
.tech-item:hover .ti-icon {
  filter: grayscale(0%);
  opacity: 1;
  transform: scale(1.05);
}
.ti-title { font-weight: 700; margin-bottom: 6px; }
.ti-desc { color: var(--color-muted); }
.ti-more { color: var(--color-muted); }
@media (max-width: 1024px){ .tech-grid { grid-template-columns: 1fr; } .tech-right { max-height: none; } }
/* Scrollbar styling */
.tech-right { scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.18) transparent; }
.tech-right::-webkit-scrollbar { width: 8px; }
.tech-right::-webkit-scrollbar-thumb { background: rgba(255,255,255,.14); border-radius: 8px; }
.tech-right:hover::-webkit-scrollbar-thumb { background: rgba(255,255,255,.22); }

/* Advisory promo */
.advisory { padding: 28px 0 12px 0; }
.advisory .container { position: relative; }
.advisory::before { content: ""; position: absolute; left: 0; right: 0; height: 200px; top: -50px; background: radial-gradient(700px 200px at 20% 0%, rgba(30,107,255,.4), transparent), radial-gradient(700px 200px at 80% 0%, rgba(116,74,255,.32), transparent); pointer-events: none; z-index: 0; }
.advisory-card { 
  position: relative; 
  background: linear-gradient(135deg, rgba(10,15,25,.85) 0%, rgba(15,20,35,.75) 100%); 
  border: 1px solid rgba(30,107,255,.3); 
  border-radius: 16px; 
  padding: 24px 28px; 
  display: grid; 
  grid-template-columns: 1.3fr 1fr; 
  gap: 32px; 
  overflow: hidden;
  box-shadow: 0 10px 40px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.05);
}
.advisory-copy { z-index: 1; }
.advisory-copy h3 { margin: 6px 0 10px 0; font-size: 24px; color: #fff; font-weight: 700; line-height: 1.3; }
.advisory-copy p { margin: 0 0 16px 0; color: #c9d4e9; line-height: 1.6; font-size: 15px; }
.adv-eyebrow { 
  font-weight: 800; 
  font-size: 12px; 
  color: #e8eef9; 
  display: inline-flex; 
  align-items: center; 
  gap: 6px;
  background: rgba(255,255,255,.08);
  padding: 6px 12px;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,.12);
}
.advisory-art { 
  display: flex; 
  align-items: center; 
  justify-content: center; 
  background: radial-gradient(300px 300px at 50% 50%, rgba(30,107,255,.15), transparent); 
  border-radius: 12px; 
  padding: 0;
  position: relative;
  overflow: hidden;
}
.advisory-art::before {
  content: "";
  position: absolute;
  inset: -2px;
  background: linear-gradient(135deg, rgba(30,107,255,.2), rgba(116,74,255,.15));
  border-radius: 12px;
  z-index: 0;
  opacity: 0;
  transition: opacity .3s ease;
}
.advisory-card:hover .advisory-art::before {
  opacity: 1;
}
.adv-image { 
  width: 100%; 
  height: 100%;
  object-fit: cover;
  display: block; 
  border-radius: 12px;
  filter: drop-shadow(0 15px 40px rgba(0,0,0,.5)) brightness(1.05) contrast(1.1);
  transition: transform .3s ease, filter .3s ease;
  position: relative;
  z-index: 1;
}
.advisory-art:hover .adv-image {
  transform: scale(1.03);
  filter: drop-shadow(0 20px 50px rgba(30,107,255,.4)) brightness(1.1) contrast(1.15);
}
.adv-chip { width: 140px; height: 140px; border-radius: 24px; background: linear-gradient(180deg, #0b0c0d, #162034); border: 1px solid rgba(255,255,255,.2); display: grid; place-items: center; color: #e9f2ff; font-weight: 900; font-size: 40px; box-shadow: 0 20px 60px rgba(0,0,0,.45), inset 0 0 40px rgba(255,255,255,.05); }
@media (max-width: 900px){ 
  .advisory-card { grid-template-columns: 1fr; gap: 24px; padding: 24px; } 
  .advisory::before { height: 140px; } 
  .advisory-art { min-height: 200px; }
}

/* Partners section */
.partners { padding: 48px 0 20px 0; }
.p-head { color: #e8eef9; margin: 0 0 32px 0; font-size: clamp(26px, 3.4vw, 42px); letter-spacing: -0.01em; }
.p-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px 64px; align-items: center; justify-items: center; }
.p-item { display: flex; align-items: center; justify-content: center; min-height: 72px; }
.p-logo { transition: filter .2s ease, transform .2s ease, opacity .2s ease; opacity: .85; }
.p-logo img { max-width: 160px; max-height: 48px; width: auto; height: 40px; display: block; object-fit: contain; filter: grayscale(100%) brightness(.72) contrast(1.05); }
.p-item:hover .p-logo { opacity: 1; transform: translateY(-4px); }
.p-item:hover .p-logo img { filter: grayscale(0%) brightness(1); }
@media (max-width: 1024px){ .p-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 40px; } }
@media (max-width: 640px){ .p-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 28px; } .p-logo img { max-width: 120px; height: 32px; } }

/* Marketing CTA band */
.mkt-cta { padding: 20px 0; }
.mkt-card { background: #c6f20b; border: 1px solid rgba(0,0,0,.25); border-radius: 14px; padding: 18px; display: grid; grid-template-columns: 1.3fr 1fr; gap: 20px; align-items: center; overflow: hidden; }
.mkt-copy h3 { margin: 0 0 8px 0; color: #0b0c0d; font-size: clamp(18px, 2.6vw, 24px); }
.mkt-copy p { margin: 0 0 12px 0; color: #0b0c0d; }
.btn-ghost.dark { background: #0b0c0d; color: #fff; border-color: #0b0c0d; }
.mkt-art { position: relative; min-height: 120px; }
/* Simple megaphone placeholder */
.mkt-megaphone { position: absolute; right: 12px; bottom: -8px; width: 220px; height: 140px; }
.mkt-megaphone .mh-body { position: absolute; left: 54px; top: 40px; width: 130px; height: 44px; background: #fff; border: 6px solid #000; border-right-width: 12px; border-radius: 10px; }
.mkt-megaphone .mh-mouth { position: absolute; left: 0; top: 26px; width: 80px; height: 80px; background: #ff8bd6; border: 6px solid #000; border-radius: 12px 60px 60px 12px; transform: rotate(-12deg); }
.mkt-megaphone .mh-handle { position: absolute; left: 120px; top: 76px; width: 16px; height: 40px; background: #000; border-radius: 8px; }
@media (max-width: 900px){ .mkt-card { grid-template-columns: 1fr; } .mkt-art { display: none; } }

/* Awards carousel */
.awards { padding: 24px 0; }
.aw-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.aw-head h2 { margin: 0; font-size: clamp(22px, 3vw, 36px); letter-spacing: -0.01em; color: #e8eef9; max-width: 60ch; }
.aw-nav { display: flex; gap: 8px; }
.aw-btn { width: 36px; height: 36px; border-radius: 999px; border: 1px solid var(--color-border); background: rgba(255,255,255,.04); color: #fff; cursor: pointer; }
.aw-btn:hover { background: rgba(255,255,255,.08); }
.aw-rail { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(240px, 1fr); gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 8px; }
.aw-card { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.12); border-radius: 12px; padding: 16px; scroll-snap-align: start; display: grid; place-items: center; text-align: center; }
.aw-logo img { max-width: 120px; max-height: 64px; display: block; }
.aw-year { margin-top: 10px; color: #9fb3d9; font-weight: 700; }
.aw-text { color: #e8eef9; margin-top: 6px; font-size: 14px; }

/* Quotes carousel - single card layout */
.quotes { padding: 56px 0; background: #050506; }
.q-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 32px; }
.q-titles h2 { margin: 0 0 10px 0; font-size: clamp(24px, 3vw, 38px); letter-spacing: -0.01em; color: #f6f8ff; }
.q-titles p { margin: 0; color: #a8b2c9; max-width: 720px; }
.q-nav { display: flex; gap: 12px; }
.q-btn { width: 48px; height: 48px; border-radius: 999px; border: 1px solid rgba(255,255,255,.18); background: rgba(28,30,38,.88); color: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 18px; transition: transform .18s ease, background .18s ease; box-shadow: 0 14px 28px rgba(0,0,0,.42); }
.q-btn:hover { transform: translateY(-2px); background: rgba(42,45,56,.95); }
.q-btn:active { transform: translateY(-1px); }

.q-rail { position: relative; overflow: hidden; min-height: 260px; border-radius: 24px; }
.q-card { position: absolute; inset: 0; opacity: 0; transform: translateX(24px); transition: opacity .35s ease, transform .35s ease; pointer-events: none; background: rgba(25,27,33,.92); border: 1px solid rgba(255,255,255,.08); border-radius: 24px; padding: 30px 32px; box-shadow: 0 26px 60px rgba(0,0,0,.45); }
.q-card.is-active { opacity: 1; transform: translateX(0); pointer-events: auto; }
.q-quote { margin: 0 0 18px 0; color: #f8faff; line-height: 1.75; font-size: clamp(16px, 1.8vw, 20px); position: relative; }
.q-quote::before { content: "\201C"; position: absolute; left: -18px; top: -12px; color: rgba(255,255,255,.16); font-size: 56px; line-height: 1; }
.q-sep { border: none; height: 1px; background: rgba(255,255,255,.12); margin: 14px 0 18px 0; }
.q-meta { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; }
.q-name { color: #f6f8ff; font-weight: 800; }
.q-title { color: #aab7d6; font-size: 13px; letter-spacing: 0.01em; }

@media (max-width: 900px) {
  .q-head { flex-direction: column; align-items: flex-start; gap: 12px; }
  .q-btn { width: 44px; height: 44px; font-size: 16px; }
  .q-card { padding: 20px; }
}

/* Industries tiles - 2 row grid */
.industries { padding: 48px 0; }
.ind-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 32px; }
.ind-head h2 { margin: 0; font-size: clamp(22px, 3vw, 36px); color: #e8eef9; letter-spacing: -0.01em; }
.ind-rail-wrap { position: relative; }
.ind-pages { position: relative; overflow: hidden; }
.ind-page { opacity: 0; transform: translateX(20px); transition: opacity .3s ease, transform .3s ease; pointer-events: none; }
.ind-page.is-active { opacity: 1; transform: translateX(0); pointer-events: auto; }
.ind-page:not(.is-active) { position: absolute; top: 0; left: 0; right: 0; }
.ind-rail { display: grid; grid-template-columns: repeat(4, 1fr); grid-template-rows: repeat(2, 1fr); gap: 16px; }
.ind-card { 
  background: #0b0c0d; 
  border: 1px solid rgba(255,255,255,.12); 
  border-radius: 12px; 
  height: 200px; 
  padding: 18px; 
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center; 
  color: #c9d4e9; 
  cursor: pointer;
  transition: all .2s ease;
  overflow: hidden;
}
.ind-card:hover { 
  background: rgba(30,107,255,.15); 
  border-color: rgba(30,107,255,.3); 
  color: #fff; 
  transform: translateY(-2px);
}
.ind-card .ind-icon { 
  width: 46px;
  height: 46px;
  border-radius: 16px;
  background: rgba(255,255,255,.08);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
  transition: all .2s ease;
  filter: none;
  opacity: 1;
}
.ind-card .ind-icon img, .ind-card .ind-icon svg { width: 22px; height: 22px; display: block; filter: none; }
.ind-card .ind-title { 
  color: #fff; 
  font-weight: 700; 
  margin: 6px 0 0 0;
  font-size: 16px;
  transition: all .2s ease;
}
.ind-card .ind-desc { 
  font-size: 11px; 
  line-height: 1.3; 
  margin: 0;
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  transition: all .3s ease;
  text-align: center;
}
.ind-card:hover .ind-desc { 
  opacity: 1; 
  max-height: 100px;
  margin-top: 6px;
}
.ind-card:hover .ind-icon {
  transform: translateY(-2px);
  margin-bottom: 8px;
  background: rgba(30,107,255,.25);
}
.ind-card:hover .ind-title {
  margin: 4px 0 0 0;
  font-size: 15px;
}
.ind-nav { display: flex; gap: 8px; justify-content: center; margin-top: 24px; }
.ind-btn { width: 44px; height: 44px; border-radius: 999px; border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.04); color: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 16px; font-weight: 700; transition: all .15s ease; }
.ind-btn:hover { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.3); transform: scale(1.05); }
.ind-btn:active { transform: scale(0.98); }
.ind-btn:disabled { opacity: 0.5; cursor: not-allowed; transform: none; }

@media (max-width: 1024px) {
  .ind-rail { grid-template-columns: repeat(2, 1fr); grid-template-rows: repeat(4, 1fr); }
}
@media (max-width: 640px) {
  .ind-rail { grid-template-columns: 1fr; grid-template-rows: repeat(8, 1fr); }
  .ind-card { height: 160px; }
}

/* Tech Capabilities */
.techcaps { padding: 52px 0; }
.tc-head { margin: 0 0 32px 0; font-size: clamp(24px, 3.4vw, 40px); color: #e8eef9; letter-spacing: -0.01em; }
.tc-shell {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-radius: 28px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.08);
  background: transparent;
  height: 460px;
}
.tc-left {
  background: linear-gradient(180deg, #0b4dff 0%, #1a6eff 50%, #1a5bff 100%);
  display: flex;
  flex-direction: column;
  padding: 16px 12px 16px 16px;
  gap: 8px;
  overflow-y: auto;
  height: 100%;
  scrollbar-width: thin;
  scrollbar-color: rgba(180,198,255,.6) transparent;
}
.tc-left::-webkit-scrollbar {
  width: 6px;
}
.tc-left::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,.24);
  border-radius: 4px;
}
.tc-left::-webkit-scrollbar-track {
  background: transparent;
}
.tc-tab {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 0 18px;
  min-height: 56px;
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.86);
  border: none;
  cursor: pointer;
  transition: all .25s ease;
  font-size: 15px;
  font-weight: 600;
  position: relative;
  border-radius: 18px;
}
.tc-tab::after {
  content: "";
  position: absolute;
  right: 16px;
  top: 50%;
  width: 7px;
  height: 7px;
  transform: translateY(-50%) rotate(45deg);
  border-top: 2px solid rgba(255,255,255,0);
  border-right: 2px solid rgba(255,255,255,0);
  transition: border-color .2s ease;
}
.tc-tab:hover {
  background: rgba(255,255,255,.16);
  color: #fff;
}
.tc-tab.is-active {
  background: rgba(255,255,255,.22);
  color: #fff;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.25);
}
.tc-tab.is-active::after {
  border-top-color: #ffffff;
  border-right-color: #ffffff;
}
.tc-ico {
  width: 34px;
  height: 34px;
  border-radius: 12px;
  background: rgba(255,255,255,.2);
  display: grid;
  place-items: center;
  font-size: 16px;
}
.tc-ico img {
  width: 18px;
  height: 18px;
  object-fit: contain;
  display: block;
}
.tc-title { flex: 1; }
.tc-right {
  background: linear-gradient(135deg, #ffffff 0%, #f2f6ff 100%);
  padding: 28px 32px;
  display: flex;
  flex-direction: column;
  gap: 32px;
  overflow-y: auto;
  height: 100%;
  scrollbar-width: thin;
  scrollbar-color: rgba(150,160,190,.5) transparent;
}
.tc-right::-webkit-scrollbar { width: 6px; }
.tc-right::-webkit-scrollbar-thumb { background: rgba(94,124,255,.35); border-radius: 4px; }
.tc-right::-webkit-scrollbar-track { background: transparent; }
.tc-pane { display: none; }
.tc-pane.is-active { display: flex; flex-direction: column; gap: 26px; }
.tc-group-head {
  margin: 0;
  font-size: 17px;
  font-weight: 700;
  color: #1e293b;
}
.tc-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 18px;
}
.tc-chip {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid rgba(15,23,42,.06);
  box-shadow: 0 8px 20px rgba(15,23,42,.08);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  min-height: 72px;
}
.tc-chip:hover {
  transform: translateY(-4px);
  border-color: rgba(59,107,255,.45);
  box-shadow: 0 16px 32px rgba(59,107,255,.18);
}
.tc-chip img {
  width: 28px;
  height: 28px;
  object-fit: contain;
  display: block;
}
.tc-chip span {
  font-size: 14px;
  font-weight: 600;
  color: #1f2937;
  line-height: 1.3;
}
@media (max-width: 900px){
  .tc-shell { grid-template-columns: 1fr; }
  .tc-left { flex-direction: row; overflow-x: auto; padding: 12px; gap: 12px; }
  .tc-tab {
    min-width: 220px;
    border-radius: 14px;
    background: rgba(255,255,255,.12);
  }
  .tc-tab::after { display: none; }
  .tc-right { padding: 24px; }
  .tc-grid { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
}

/* Strategic Partnerships */
.spartners { padding: 28px 0; }
.sp-head { color: #e8eef9; margin: 0 0 14px 0; font-size: clamp(22px, 3vw, 36px); letter-spacing: -0.01em; }
.sp-grid { list-style: none; margin: 0 0 24px 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px 24px; }
.sp-card { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14); border-radius: 18px; padding: 20px 16px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; min-height: 150px; gap: 14px; }
.sp-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 56px;
}
.sp-logo img {
  width: auto;
  height: 40px;
  display: block;
  filter: invert(1) brightness(1.35);
}
.sp-name { margin: 0; color: #c9d4e9; font-size: 15px; font-weight: 600; }
.sp-sub { margin: 6px 0 12px 0; color: #e8eef9; font-size: 16px; }
.sp-ai { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 20px 22px; margin-top: 20px; }
.sp-ai-card { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14); border-radius: 18px; padding: 16px; display: grid; grid-template-columns: 52px 1fr; gap: 16px; align-items: center; }
.sp-ai-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 14px;
  background: rgba(255,255,255,.08);
}
.sp-ai-icon img {
  width: 36px;
  height: 36px;
  display: block;
  filter: invert(1) brightness(1.35);
}
.sp-ai-title { color: #fff; font-weight: 700; margin-bottom: 4px; font-size: 16px; }
.sp-ai-desc { margin: 0; color: #c9d4e9; font-size: 14px; }
@media (max-width: 900px){ .sp-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; } .sp-ai { grid-template-columns: 1fr; gap: 16px; } }

/* Challenges carousel */
.challenges { padding: 48px 0; background: #070708; }
.ch-head { margin: 0 0 28px 0; font-size: clamp(24px, 3vw, 36px); color: #f5f7ff; letter-spacing: -0.01em; text-align: left; }
.ch-rail-wrap { position: relative; overflow: hidden; padding: 0 60px; }
.ch-rail-wrap::before,
.ch-rail-wrap::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 80px;
  pointer-events: none;
  z-index: 2;
}
.ch-rail-wrap::before { left: 0; background: linear-gradient(90deg, #070708 0%, rgba(7,7,8,0) 100%); }
.ch-rail-wrap::after { right: 0; background: linear-gradient(-90deg, #070708 0%, rgba(7,7,8,0) 100%); }
.ch-rail { display: flex; gap: 24px; transition: transform .4s ease; }
.ch-card { 
  flex: 0 0 calc(50% - 12px); 
  background: rgba(26,28,34,.92); 
  border: 1px solid rgba(255,255,255,.06); 
  border-radius: 22px; 
  padding: 28px 26px; 
  min-height: 210px;
  display: flex;
  flex-direction: column;
  text-align: center;
  gap: 16px;
  box-shadow: 0 20px 44px rgba(0,0,0,.45);
  color: #f5f7ff;
}
.ch-pin { 
  width: 38px; 
  height: 38px; 
  border-radius: 12px; 
  background: rgba(255,255,255,.08); 
  color: #fff;
  display: inline-flex; 
  align-items: center; 
  justify-content: center; 
  font-weight: 700;
  font-size: 16px;
  margin: 0 auto;
}
.ch-title { 
  color: #f8f9ff; 
  margin: 0; 
  font-size: 19px; 
  font-weight: 700; 
  line-height: 1.4;
}
.ch-desc { 
  color: #d1d6ec; 
  margin: 0; 
  font-size: 14px; 
  line-height: 1.6; 
  flex: 1;
}
.ch-nav { display: flex; gap: 12px; justify-content: center; margin-top: 20px; }
.ch-btn { 
  width: 46px; 
  height: 46px; 
  border-radius: 999px; 
  border: 1px solid rgba(255,255,255,.18); 
  background: rgba(28,30,38,.9); 
  color: #fff; 
  cursor: pointer; 
  display: flex; 
  align-items: center; 
  justify-content: center; 
  font-size: 18px; 
  transition: transform .18s ease, background .18s ease;
  box-shadow: 0 12px 26px rgba(0,0,0,.45);
}
.ch-btn:hover { 
  transform: translateY(-2px); 
  background: rgba(40,44,58,.95);
}
.ch-btn:disabled { 
  opacity: 0.4; 
  cursor: not-allowed; 
  transform: none; 
  box-shadow: none;
}
@media (max-width: 768px) {
  .ch-card { flex: 0 0 100%; }
}

/* Contact CTA gradient */
.contact-cta { padding: 56px 0; position: relative; overflow: hidden; }
.contact-cta::before { content: ""; position: absolute; inset: -10% -10% -10% -10%; pointer-events: none; background:
  radial-gradient(900px 500px at 12% 50%, rgba(93,46,255,.45), transparent 60%),
  radial-gradient(900px 500px at 88% 50%, rgba(14,116,144,.40), transparent 60%);
  filter: blur(0.2px);
}
.cc-wrap { position: relative; display: grid; grid-template-columns: 1.2fr 1fr; gap: 28px; align-items: center; }
.cc-head { margin: 0 0 10px 0; color: #e8eef9; font-weight: 800; font-size: clamp(28px, 4vw, 44px); letter-spacing: -0.01em; }
.cc-sub { margin: 0; color: #b9c6e4; font-size: 16px; }
.cc-right { display: flex; justify-content: flex-end; }
.cc-form { width: 100%; max-width: 440px; background: rgba(10,12,14,.68); border: 1px solid rgba(255,255,255,.14); border-radius: 16px; padding: 18px; backdrop-filter: saturate(160%) blur(10px); box-shadow: 0 10px 30px rgba(0,0,0,.35); }
.cc-alert { margin: 0 0 14px; padding: 12px 14px; border-radius: 12px; font-size: 14px; font-weight: 600; color: #0d5a1f; background: rgba(76,176,80,.12); border: 1px solid rgba(76,176,80,.32); }
.cc-alert.is-error { color: #b71b35; background: rgba(255,107,107,.16); border-color: rgba(255,107,107,.38); }
.cc-fields { display: flex; flex-direction: column; }
.cc-field { display: grid; gap: 6px; margin-bottom: 12px; }
.cc-field span { 
  position: absolute; 
  width: 1px; 
  height: 1px; 
  margin: -1px; 
  padding: 0; 
  overflow: hidden; 
  clip: rect(0 0 0 0); 
  clip-path: inset(50%); 
  white-space: nowrap; 
  border: 0; 
}
.cc-field input, .cc-field select, .cc-field textarea { width: 100%; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.16); border-radius: 10px; color: #fff; padding: 12px 12px; height: 44px; }
.cc-field textarea { height: 110px; resize: vertical; }
.cc-field input::placeholder, .cc-field textarea::placeholder { color: #9fb3d9; }
.cc-field select { 
  appearance: none; 
  -webkit-appearance: none; 
  background-image: linear-gradient(45deg, transparent 50%, #9fb3d9 50%), linear-gradient(135deg, #9fb3d9 50%, transparent 50%); 
  background-position: calc(100% - 18px) 18px, calc(100% - 12px) 18px; 
  background-size: 6px 6px, 6px 6px; 
  background-repeat: no-repeat; 
  color: #9fb3d9; /* placeholder-like color by default when empty (required + empty value) */
}
/* When a valid value is chosen, switch to white to match other fields */
.cc-field select:not(:invalid) { color: #fff; }
/* Improve dropdown option contrast (where supported) */
.cc-field select option { color: #0b0c0d; background: #e6ecf8; }
.cc-field input:focus, .cc-field select:focus, .cc-field textarea:focus { outline: none; border-color: rgba(255,255,255,.32); box-shadow: 0 0 0 3px rgba(94,129,255,.25); }
.cc-checkbox { display: flex; align-items: center; gap: 10px; margin: 4px 0 12px; color: #c9d4e9; font-size: 13px; }
.cc-checkbox input { width: 18px; height: 18px; border-radius: 5px; border: 1px solid rgba(255,255,255,.25); background: rgba(255,255,255,.06); appearance: none; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
.cc-checkbox input:checked { background: linear-gradient(135deg, #ff6b9a, #ff4d6d); border-color: transparent; color: #fff; }
.cc-checkbox input:checked::after { content: "✓"; font-size: 12px; line-height: 1; }
.cc-checkbox span { line-height: 1.4; }
.cc-check { display: flex; align-items: center; gap: 8px; margin: 8px 0; color: #c9d4e9; font-size: 13px; }
.cc-captcha { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.cc-capq { color: #c9d4e9; }
.cc-captcha input { flex: 1; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.16); border-radius: 10px; color: #fff; padding: 12px 12px; height: 44px; }
.cc-captcha input::placeholder { color: #9fb3d9; }
.cc-captcha input:focus { outline: none; border-color: rgba(255,255,255,.32); box-shadow: 0 0 0 3px rgba(94,129,255,.25); }
.cc-submit {
  width: 100%; background: linear-gradient(135deg, var(--color-accent), var(--color-accent-2));
  color: var(--color-accent-contrast); border-radius: 10px; padding: 12px 16px; font-weight: 800;
  border: 1px solid rgba(255,255,255,.12); box-shadow: 0 6px 18px rgba(var(--color-accent-rgb), .32);
}
.cc-submit:hover { filter: brightness(1.05); transform: translateY(-1px); box-shadow: 0 12px 28px rgba(var(--color-accent-rgb), .38); }
.cc-submit:active { transform: translateY(0); box-shadow: 0 4px 12px rgba(var(--color-accent-rgb), .24); }
.cc-foot { color: #9fb3d9; font-size: 12px; margin: 8px 0 0 0; }
.cc-benefits { list-style: none; margin: 16px 0 0; padding: 0; display: flex; flex-direction: column; gap: 6px; color: #c9d4e9; font-size: 13px; }
.cc-benefits li { display: flex; gap: 8px; align-items: flex-start; }
.cc-benefits li::before { content: "•"; color: rgba(255,255,255,.85); }
@media (max-width: 900px){ .cc-wrap { grid-template-columns: 1fr; gap: 20px; } .cc-right { justify-content: start; } .cc-head { font-size: 28px; } }

/* FAQ */
.faq { padding: 48px 0; }
.faq-head { text-align: center; margin: 0 0 32px 0; color: #e8eef9; font-size: clamp(22px, 3vw, 36px); letter-spacing: -0.01em; }
.faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 20px; max-width: 1200px; margin: 0 auto; }
.faq-item { 
  background: rgba(255,255,255,.06); 
  border: 1px solid rgba(255,255,255,.12); 
  border-radius: 12px; 
  padding: 0; 
  transition: all .2s ease;
}
.faq-item:hover { 
  background: rgba(255,255,255,.08); 
  border-color: rgba(255,255,255,.2); 
}
.faq-item summary { 
  list-style: none; 
  display: flex; 
  align-items: center; 
  justify-content: space-between; 
  gap: 12px; 
  cursor: pointer; 
  padding: 16px 20px;
  transition: all .2s ease;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-q { 
  color: #e8eef9; 
  font-weight: 500; 
  font-size: 15px; 
  line-height: 1.4; 
}
.faq-caret { 
  transition: transform .2s ease; 
  color: #c9d4e9; 
  font-size: 14px; 
  flex-shrink: 0;
}
.faq-item[open] .faq-caret { transform: rotate(180deg); }
.faq-item[open] summary { background: rgba(255,255,255,.04); }
.faq-a { 
  color: #c9d4e9; 
  padding: 0 20px 20px 20px; 
  font-size: 14px; 
  line-height: 1.6; 
  margin-top: -4px;
}
.faq-a br { margin-bottom: 8px; }
.faq-a strong { color: #fff; font-weight: 600; }
.faq-a a { color: #5ca8ff; text-decoration: underline; text-underline-offset: 3px; }
.faq-a a:hover { color: #86bdff; }
@media (max-width: 900px){ 
  .faq-grid { grid-template-columns: 1fr; gap: 12px; } 
  .faq-item summary { padding: 14px 16px; }
  .faq-a { padding: 0 16px 16px 16px; }
}
/* Active state for intro links */
.mega-text-link { padding: 4px 8px; border-radius: 8px; }
.mega-text-link.is-active { color: var(--color-accent); background: rgba(255,255,255,.06); }

/* Feature card tweaks */
[data-slot="feature"] .ai-feature h4 { font-size: 12px; font-weight: 800; margin: 0 0 10px 0; color: rgba(15, 23, 42, 0.55); }
[data-slot="feature"] .ai-feature .btn-link { color: #2563eb; font-weight: 700; }

/* Services mega menu columns */
.svc-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 24px; width: 100%; min-width: 0; }
.svc-col { min-width: 0; display: flex; flex-direction: column; gap: 10px; }
.svc-col h5 { margin: 0; font-size: 14px; font-weight: 800; color: var(--color-text); letter-spacing: .04em; text-transform: uppercase; }
.svc-col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.svc-col li { position: relative; }
.svc-col a { color: var(--color-muted); white-space: normal; display: inline-flex; align-items: center; gap: 10px; font-size: 14px; }
.svc-col a:hover { color: var(--color-text); }
.svc-col-subhead { margin-top: 12px; font-size: 12px; font-weight: 700; letter-spacing: .06em; color: var(--color-muted); text-transform: uppercase; }

/* Services item with flyout submenu */
.svc-sub { position: relative; z-index: 1; padding-right: 34px; overflow: visible; }
.svc-sub:hover,
.svc-sub:focus-within,
.svc-sub.open { z-index: 2000; }
.svc-sub > a {
  display: block; width: 100%; padding: 9px 12px; border-radius: 12px; font-size: 14px;
  transition: background .2s ease, color .2s ease, box-shadow .2s ease;
}
.svc-sub > .svc-toggle {
  position: absolute; top: 50%; right: 6px; transform: translateY(-50%);
  display: inline-flex; align-items: center; justify-content: center;
  width: 24px; height: 24px; border-radius: 999px; background: rgba(59, 130, 246, 0.08);
  color: rgba(148, 163, 184, 0.9); font-weight: 800; font-size: 13px;
  transition: background .2s ease, color .2s ease, box-shadow .2s ease;
}
.svc-sub > .svc-toggle::before,
.svc-sub > .svc-toggle::after {
  content: ""; position: absolute; background: currentColor; transition: opacity .2s ease, transform .2s ease;
  border-radius: 2px;
}
.svc-sub > .svc-toggle::before { width: 10px; height: 2px; }
.svc-sub > .svc-toggle::after { width: 2px; height: 10px; }
.svc-sub:hover > a,
.svc-sub:focus-within > a,
.svc-sub.open > a {
  background: rgba(59, 130, 246, 0.14); color: var(--color-accent);
  box-shadow: inset 0 0 0 1px rgba(59,130,246,0.25), 0 8px 20px rgba(15,23,42,0.22);
}
.svc-sub:hover > .svc-toggle,
.svc-sub:focus-within > .svc-toggle,
.svc-sub.open > .svc-toggle {
  background: rgba(59, 130, 246, 0.2); color: var(--color-accent); box-shadow: 0 6px 14px rgba(15,23,42,0.22);
}
.svc-sub:hover > .svc-toggle::after,
.svc-sub:focus-within > .svc-toggle::after,
.svc-sub.open > .svc-toggle::after { opacity: 0; }
.svc-sub > .svc-pop {
  display: none; position: absolute; left: 12px; right: 12px; top: calc(100% + 10px); z-index: 1200;
  background: #050a18; border: 1px solid rgba(59, 130, 246, 0.28);
  border-radius: 14px; box-shadow: 0 18px 32px rgba(5, 10, 24, 0.38); padding: 12px;
  overflow: hidden;
}
.svc-sub > .svc-pop::before {
  content: ""; position: absolute; top: -6px; left: 50%; transform: translateX(-50%);
  width: 14px; height: 14px;
  background: #050a18; border-left: 1px solid rgba(59,130,246,0.28); border-top: 1px solid rgba(59,130,246,0.28);
  transform: translateX(-50%) rotate(45deg); border-radius: 4px 0 0 0; box-shadow: -2px -2px 8px rgba(5,10,24,0.22);
}
.svc-sub > .svc-pop ul {
  margin: 0; padding: 0; list-style: none; max-height: calc(48px * 4);
  overflow: auto; display: flex; flex-direction: column; gap: 8px; padding-right: 2px;
}
.svc-sub > .svc-pop ul::-webkit-scrollbar { width: 6px; }
.svc-sub > .svc-pop ul::-webkit-scrollbar-track { background: transparent; }
.svc-sub > .svc-pop ul::-webkit-scrollbar-thumb { background: rgba(59,130,246,0.28); border-radius: 999px; }
.svc-sub > .svc-pop ul { scrollbar-width: thin; scrollbar-color: rgba(59,130,246,0.28) transparent; font-size: 14px; }
.svc-sub > .svc-pop li { margin: 0; padding: 0; border: 0; }
.svc-sub > .svc-pop li + li { border-top: 1px dashed rgba(148, 163, 184, 0.22); padding-top: 8px; }
.svc-sub > .svc-pop a { color: var(--color-text); }
.svc-sub > .svc-pop a:hover { color: var(--color-accent); }
.svc-sub:hover > .svc-pop,
.svc-sub:focus-within > .svc-pop,
.svc-sub.open > .svc-pop { display: block; }

/* Divider for services center column, mirroring AI Solutions */
#mega-services [data-slot="links"] { position: relative; overflow: visible; }
#mega-services [data-slot="links"]:before { content: ""; position: absolute; left: 0; top: -22px; bottom: -22px; width: 1px; background: var(--color-border); }

/* Services CTA at bottom */
.svc-cta-bottom {
  display: flex; align-items: center; justify-content: space-between; gap: 18px;
  padding: 14px 18px; margin: 12px 22px 22px 22px; /* inside panel, no negatives */
  background: linear-gradient(135deg, rgba(var(--color-accent-rgb), .14), rgba(12,16,26,.92));
  border: 1px solid rgba(var(--color-accent-rgb), .35);
  border-radius: 14px; position: relative; z-index: 1;
  box-shadow: 0 20px 36px rgba(4,9,20,.45);
}
.svc-cta-bottom p {
  margin: 0; color: rgba(233,238,249,.9); font-size: 14px; line-height: 1.5;
}
.svc-cta-bottom .btn-primary {
  border-radius: 999px; padding: 9px 20px;
}
@media (max-width: 640px){
  .svc-cta-bottom { flex-direction: column; align-items: flex-start; }
  .svc-cta-bottom .btn-primary { width: 100%; justify-content: center; }
}

/* Industries mega menu */
.ind-grid { padding: 24px; margin-bottom: 12px; }
.ind-cols { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; max-height: 320px; overflow-y: auto; }
.ind-col ul { list-style: none; margin: 0; padding: 0; }
.ind-col { display: flex; flex-direction: column; gap: 9px; }
.ind-col li { margin: 0; position: relative; }
.ind-col a { color: var(--color-muted); display: inline-flex; align-items: center; gap: 10px; padding: 8px 12px; border-radius: 12px; transition: background .2s ease, color .2s ease, box-shadow .2s ease; font-size: 14px; }
.ind-col a:hover { color: var(--color-text); background: rgba(59,130,246,0.08); }

.testimonial-copy {
  -webkit-line-clamp: 4;
  line-clamp: 4;
  max-width: 640px;
}
.testimonial-copy.long {
  -webkit-line-clamp: 6;
  line-clamp: 6;
}
.ind-cols::-webkit-scrollbar { width: 6px; }
.ind-cols::-webkit-scrollbar-track { background: rgba(255,255,255,.05); border-radius: 3px; }
.ind-cols::-webkit-scrollbar-thumb { background: rgba(255,255,255,.2); border-radius: 3px; }
.ind-cols::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,.35); }

/* Keep '+' toggles on the same line, right aligned for Industries */
#mega-industries .ind-col li { display: block; }
#mega-industries .ind-col li > a { width: 100%; }
#mega-industries .ind-col .svc-toggle { position: absolute; top: 50%; right: 6px; transform: translateY(-50%); width: 24px; height: 24px; border-radius: 999px; background: rgba(59,130,246,0.08); color: rgba(148,163,184,0.9); display: inline-flex; align-items: center; justify-content: center; font-weight: 800; transition: background .2s ease, color .2s ease, box-shadow .2s ease; }
#mega-industries .ind-col .svc-toggle::before,
#mega-industries .ind-col .svc-toggle::after { content: ""; position: absolute; background: currentColor; border-radius: 2px; transition: opacity .2s ease; }
#mega-industries .ind-col .svc-toggle::before { width: 12px; height: 2px; }
#mega-industries .ind-col .svc-toggle::after { width: 2px; height: 12px; }
#mega-industries .ind-col .svc-sub:hover > .svc-toggle,
#mega-industries .ind-col .svc-sub:focus-within > .svc-toggle,
#mega-industries .ind-col .svc-sub.open > .svc-toggle { background: rgba(59,130,246,0.2); color: var(--color-accent); }
#mega-industries .ind-col .svc-sub:hover > .svc-toggle::after,
#mega-industries .ind-col .svc-sub:focus-within > .svc-toggle::after,
#mega-industries .ind-col .svc-sub.open > .svc-toggle::after { opacity: 0; }
#mega-industries .ind-col .svc-sub { padding-right: 34px; z-index: 1; }
#mega-industries .ind-col .svc-sub:hover,
#mega-industries .ind-col .svc-sub:focus-within,
#mega-industries .ind-col .svc-sub.open { z-index: 2000; }
#mega-industries .ind-col .svc-sub > a:hover,
#mega-industries .ind-col .svc-sub:focus-within > a,
#mega-industries .ind-col .svc-sub.open > a { background: rgba(59,130,246,0.14); color: var(--color-accent); box-shadow: inset 0 0 0 1px rgba(59,130,246,0.25), 0 8px 20px rgba(15,23,42,0.22); }
#mega-industries .ind-col .svc-sub > .svc-pop {
  display: none; position: absolute; left: 12px; right: 12px; top: calc(100% + 10px); z-index: 2200;
  background: #050a18; border: 1px solid rgba(59, 130, 246, 0.28); border-radius: 14px;
  box-shadow: 0 18px 32px rgba(5, 10, 24, 0.38); padding: 12px; overflow: hidden;
}
#mega-industries .ind-col .svc-sub > .svc-pop::before {
  content: ""; position: absolute; top: -6px; left: 50%; transform: translateX(-50%) rotate(45deg);
  width: 14px; height: 14px; background: #050a18; border-left: 1px solid rgba(59,130,246,0.28); border-top: 1px solid rgba(59,130,246,0.28); box-shadow: -2px -2px 8px rgba(5,10,24,0.22);
}
#mega-industries .ind-col .svc-sub > .svc-pop ul {
  margin: 0; padding: 0; list-style: none; max-height: calc(48px * 4);
  overflow: auto; display: flex; flex-direction: column; gap: 8px; padding-right: 2px;
}
#mega-industries .ind-col .svc-sub > .svc-pop ul::-webkit-scrollbar { width: 6px; }
#mega-industries .ind-col .svc-sub > .svc-pop ul::-webkit-scrollbar-track { background: transparent; }
#mega-industries .ind-col .svc-sub > .svc-pop ul::-webkit-scrollbar-thumb { background: rgba(59,130,246,0.28); border-radius: 999px; }
#mega-industries .ind-col .svc-sub > .svc-pop ul { scrollbar-width: thin; scrollbar-color: rgba(59,130,246,0.28) transparent; font-size: 14px; }
#mega-industries .ind-col .svc-sub > .svc-pop li { margin: 0; padding: 0; border: 0; }
#mega-industries .ind-col .svc-sub > .svc-pop li + li { border-top: 1px dashed rgba(148, 163, 184, 0.22); padding-top: 8px; }
#mega-industries .ind-col .svc-sub > .svc-pop a { color: var(--color-text); }
#mega-industries .ind-col .svc-sub > .svc-pop a:hover { color: var(--color-accent); }
#mega-industries .ind-col .svc-sub:hover > .svc-pop,
#mega-industries .ind-col .svc-sub:focus-within > .svc-pop,
#mega-industries .ind-col .svc-sub.open > .svc-pop { display: block; }

/* Resources mega menu */
.res-grid { display: grid; grid-template-columns: 280px minmax(0,1fr) 360px; gap: 28px; padding: 28px; }
.res-tabs { display: flex; flex-direction: column; gap: 12px; }
.res-tab { display: flex; align-items: center; justify-content: space-between; padding: 12px 14px; border: 1px solid var(--color-border); border-radius: 10px; color: var(--color-text); }
.res-tab.is-active { background: rgba(255,255,255,.06); border-color: var(--color-border); }
.res-cta { margin-top: 18px; background: rgba(139, 233, 45, .12); border: 1px solid rgba(139, 233, 45, .35); border-radius: 12px; padding: 14px; }
.res-cta-title { margin: 0 0 6px 0; font-weight: 800; }
.res-cta-desc { margin: 0 0 10px 0; color: var(--color-muted); }

.res-list-wrap { min-width: 0; }
.res-head { display:flex; align-items:center; justify-content:space-between; margin-bottom: 12px; }
.res-title { margin:0; font-size: 14px; font-weight: 800; letter-spacing: .04em; color: var(--color-text); }
.res-view { color: var(--color-accent); font-weight: 700; }
.res-list { display: flex; flex-direction: column; gap: 12px; }
.res-item { display:flex; gap: 12px; align-items:center; color: var(--color-text); }
.res-thumb { width: 80px; height: 56px; border-radius: 10px; background: linear-gradient(135deg,var(--color-accent),var(--color-accent-2)); flex-shrink:0; object-fit: cover; display: block; overflow: hidden; }
.res-thumb--pr { border-radius: 10px; background: rgba(15, 23, 42, 0.08); display: flex; align-items: center; justify-content: center; }
.res-thumb--pr img { width: 100%; height: 100%; object-fit: cover; display: block; }
.res-text { line-height: 1.35; }

/* Portfolio mega menu */
.port-grid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 28px; padding: 28px; }
.port-list { display: grid; grid-template-columns: repeat(2, minmax(280px, 1fr)); gap: 14px 16px; max-height: 360px; overflow: auto; padding-right: 8px; align-content: start; }
.port-item { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border: 1px solid var(--color-border); border-radius: 12px; color: var(--color-text); background: rgba(255,255,255,.02); }
.port-item:hover { background: rgba(255,255,255,.06); }
.port-logo { width: 44px; height: 44px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; color: #fff; font-weight: 800; }
.port-text { min-width: 0; display: flex; flex-direction: column; }
.port-title { font-weight: 800; }
.port-desc { color: var(--color-muted); font-size: 14px; line-height: 1.35; }
.port-feature { border: 1px solid rgba(56, 75, 160, 0.18); background: radial-gradient(98% 140% at 6% 9%, rgba(120, 143, 255, 0.24) 0%, rgba(12, 18, 41, 0.95) 52%); border-radius: 22px; padding: 24px; display: flex; flex-direction: column; gap: 18px; color: rgba(239, 244, 255, 0.92); box-shadow: 0 22px 40px rgba(14, 20, 54, 0.38); }
.port-feature-label { margin: 0; font-size: 12px; letter-spacing: .18em; text-transform: uppercase; font-weight: 800; opacity: .78; color: inherit; }
.port-feature-media { position: relative; border-radius: 18px; overflow: hidden; display: block; min-height: 168px; background: linear-gradient(135deg, rgba(37, 99, 235, 0.35), rgba(67, 56, 202, 0.45)); box-shadow: inset 0 0 0 1px rgba(255,255,255,.12); }
.port-feature-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.port-feature-media span { display: none; }
.port-feature-copy { margin: 0; font-size: 14px; line-height: 1.55; color: inherit; opacity: .92; display: -webkit-box; -webkit-line-clamp: 1; line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; }
.port-feature-link { font-weight: 700; color: #3b82f6; text-decoration: none; display: inline-flex; align-items: center; gap: 6px; }
.port-feature-link:hover { text-decoration: underline; }

/* Company mega menu */
.comp-grid { display: grid; grid-template-columns: minmax(0,1fr) 360px; gap: 28px; padding: 28px; }
.comp-list { display: flex; flex-direction: column; gap: 12px; }
.comp-item { color: var(--color-text); padding: 10px 12px; border: 1px solid var(--color-border); border-radius: 10px; background: rgba(255,255,255,.02); }
.comp-item:hover { background: rgba(255,255,255,.06); }
.mega-feature { border: 1px solid rgba(56, 75, 160, 0.18); background: radial-gradient(98% 140% at 6% 9%, rgba(120, 143, 255, 0.24) 0%, rgba(12, 18, 41, 0.95) 52%); border-radius: 22px; padding: 24px; display: flex; flex-direction: column; gap: 18px; color: rgba(239, 244, 255, 0.92); box-shadow: 0 22px 40px rgba(14, 20, 54, 0.38); }
.mega-feature--surface { background: linear-gradient(155deg, rgba(22, 26, 36, 0.98), rgba(10, 12, 24, 0.92)); border-color: rgba(45, 58, 110, 0.32); color: rgba(235, 238, 250, 0.95); }
.mega-feature-label { margin: 0; font-size: 12px; letter-spacing: .18em; text-transform: uppercase; font-weight: 800; opacity: .78; color: inherit; }
.mega-feature-media { position: relative; border-radius: 18px; overflow: hidden; min-height: 168px; background: linear-gradient(135deg, rgba(37, 99, 235, 0.35), rgba(67, 56, 202, 0.45)); box-shadow: inset 0 0 0 1px rgba(255,255,255,.12); display: block; }
.mega-feature-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mega-feature-copy { margin: 0; font-size: 16px; font-weight: 600; line-height: 1.4; color: inherit; display: -webkit-box; -webkit-line-clamp: 1; line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; }
.mega-feature-link { font-weight: 700; color: #3b82f6; text-decoration: none; display: inline-flex; align-items: center; gap: 6px; }
.mega-feature-link:hover { text-decoration: underline; }
.mega-feature--surface .mega-feature-link { color: #60a5fa; }

/* Mobile */
@media (max-width: 991px) {
  .mega-panel { position: static; margin: 0; border-radius: 0; box-shadow: none; }
  .mega-grid { grid-template-columns: 1fr; padding: 16px; }
  .ai-links { max-height: none; overflow: visible; padding-right: 0; }
}

/* Footer */
.site-footer { position: relative; background: linear-gradient(180deg, #060708 0%, #0b1b3d 42%, #0e3c9a 100%); }
.site-footer::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: rgba(255,255,255,.14); }
.footer-grid { display: grid; grid-template-columns: 2fr repeat(4, 1fr); gap: 28px; padding: 40px 0; border-top: none; }
.footer-brand { color: var(--color-muted); }
.footer-col h5 { margin: 0 0 12px 0; font-size: 14px; letter-spacing: .06em; color: var(--color-muted); }
.footer-col ul { list-style: none; margin: 0; padding: 0; }
.footer-col li { margin-bottom: 10px; }
.footer-col a { color: var(--color-text); }
.footer-bottom { display: flex; justify-content: space-between; align-items: center; padding: 16px 24px; border-top: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.06); color: var(--color-muted); font-size: 14px; border-radius: 16px 16px 0 0; }

@media (max-width: 991px) {
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-bottom { flex-direction: column; gap: 8px; }
}
.tc-right {
  overflow-y: auto;
  /* max-height removed to let content define height */
  scrollbar-width: thin;
  scrollbar-color: rgba(203,213,255,.7) transparent;
}
.tc-right::-webkit-scrollbar { width: 6px; }
.tc-right::-webkit-scrollbar-thumb { background: rgba(59,107,255,.35); border-radius: 4px; }
.tc-right::-webkit-scrollbar-track { background: transparent; }

/* AI Solutions by industry cards */
.ai-solutions { background: #0b0c0d; padding: 56px 0; border-top: 1px solid rgba(255,255,255,.05); border-bottom: 1px solid rgba(255,255,255,.05); }
.ai-solutions-head { max-width: 820px; margin: 0 auto 32px auto; text-align: center; }
.ai-solutions-head h2 { margin: 0 0 12px 0; color: #e8eef9; font-size: clamp(26px, 3.6vw, 40px); }
.ai-solutions-head p { margin: 0; color: var(--color-muted); line-height: 1.7; }
.ai-solutions-grid { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(260px, 320px); gap: 18px; overflow-x: auto; padding-bottom: 8px; scroll-snap-type: x mandatory; }
.ai-solutions-grid:focus { outline: 2px solid rgba(61,139,255,.4); outline-offset: 6px; }
.ai-solutions-grid::-webkit-scrollbar { height: 6px; }
.ai-solutions-grid::-webkit-scrollbar-thumb { background: rgba(255,255,255,.16); border-radius: 6px; }
.ai-solution-card { background: rgba(0,0,0,.32); border: 1px solid rgba(255,255,255,.08); border-radius: 18px; padding: 22px; color: #e8eef9; display: flex; flex-direction: column; gap: 12px; min-height: 180px; scroll-snap-align: start; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.ai-solution-card h3 { margin: 0; font-size: 18px; text-decoration: underline; text-decoration-color: rgba(255,255,255,.4); text-decoration-thickness: 1px; text-underline-offset: 4px; }
.ai-solution-card p { margin: 0; font-size: 14px; line-height: 1.7; color: rgba(201,212,233,.78); }
.ai-solution-card:hover { transform: translateY(-4px); border-color: rgba(61,139,255,.45); box-shadow: 0 20px 36px rgba(0,0,0,.35); }
.ai-solutions-nav { display: flex; justify-content: flex-end; gap: 12px; margin-top: 20px; }
.ai-solutions-btn { width: 48px; height: 48px; border-radius: 50%; border: 1px solid rgba(255,255,255,.16); background: rgba(0,0,0,.36); color: #fff; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; transition: background .2s ease, border-color .2s ease; }
.ai-solutions-btn::before { content: ''; width: 0; height: 0; border: 7px solid transparent; }
.ai-solutions-btn.prev::before { border-right-color: #fff; margin-left: 3px; }
.ai-solutions-btn.next::before { border-left-color: #fff; margin-right: 3px; }
.ai-solutions-btn:hover { background: rgba(61,139,255,.25); border-color: rgba(61,139,255,.6); }
@media (max-width: 768px){
  .ai-solutions-grid { grid-auto-columns: minmax(220px, 260px); }
}

/* AI Tech stack */
.ai-stack { background: #0b0c0d; padding: 56px 0; border-top: 1px solid rgba(255,255,255,.05); border-bottom: 1px solid rgba(255,255,255,.05); }
.ai-stack-head { max-width: 820px; margin: 0 auto 32px auto; text-align: center; }
.ai-stack-head h2 { margin: 0 0 12px 0; color: #e8eef9; font-size: clamp(26px, 3.6vw, 40px); }
.ai-stack-head p { margin: 0; color: var(--color-muted); line-height: 1.7; }
.ai-stack-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.ai-stack-card { border: 1px solid rgba(255,255,255,.08); border-radius: 16px; background: rgba(0,0,0,.26); display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 10px; padding: 20px; font-weight: 600; color: #e8eef9; transition: transform .2s ease, border-color .2s ease; }
.ai-stack-card:hover { transform: translateY(-4px); border-color: rgba(61,139,255,.45); }
.ai-stack-icon { font-size: 24px; display: inline-flex; }
.ai-stack-icon svg {
  width: 24px;
  height: 24px;
  stroke: currentColor;
}
.ai-stack-label { font-size: 15px; text-align: center; }
@media (max-width: 1024px){
  .ai-stack-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 768px){
  .ai-stack-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 480px){
  .ai-stack-grid { grid-template-columns: 1fr; }
}

/* AI Roadmap */
.ai-roadmap { background: #0b0c0d; padding: 56px 0; border-top: 1px solid rgba(255,255,255,.05); border-bottom: 1px solid rgba(255,255,255,.05); }
.ai-roadmap-head { max-width: 820px; margin: 0 auto 32px auto; text-align: center; }
.ai-roadmap-head h2 { margin: 0 0 12px 0; color: #e8eef9; font-size: clamp(26px, 3.6vw, 40px); }
.ai-roadmap-head p { margin: 0; color: var(--color-muted); line-height: 1.7; }
.ai-roadmap-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.ai-roadmap-card { border: 1px solid rgba(255,255,255,.08); border-radius: 18px; background: rgba(0,0,0,.32); padding: 24px; min-height: 200px; display: flex; flex-direction: column; gap: 12px; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.ai-roadmap-card h3 { margin: 0; color: #f1f3ff; font-size: 18px; }
.ai-roadmap-card p { margin: 0; color: rgba(201,212,233,.78); line-height: 1.7; font-size: 14px; }
.ai-roadmap-card:hover { transform: translateY(-4px); border-color: rgba(61,139,255,.45); box-shadow: 0 20px 36px rgba(0,0,0,.35); }
@media (max-width: 1024px){
  .ai-roadmap-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 640px){
  .ai-roadmap-grid { grid-template-columns: 1fr; }
}

/* AI Roadmap */
.ai-roadmap { background: #0b0c0d; padding: 56px 0; border-top: 1px solid rgba(255,255,255,.05); border-bottom: 1px solid rgba(255,255,255,.05); }
.ai-roadmap-head { max-width: 820px; margin: 0 auto 32px auto; text-align: center; }
.ai-roadmap-head h2 { margin: 0 0 12px 0; color: #e8eef9; font-size: clamp(26px, 3.6vw, 40px); }
.ai-roadmap-head p { margin: 0; color: var(--color-muted); line-height: 1.7; }
.ai-roadmap-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.ai-roadmap-card { border: 1px solid rgba(255,255,255,.08); border-radius: 18px; background: rgba(0,0,0,.32); padding: 24px; min-height: 200px; display: flex; flex-direction: column; gap: 12px; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.ai-roadmap-card h3 { margin: 0; color: #f1f3ff; font-size: 18px; }
.ai-roadmap-card p { margin: 0; color: rgba(201,212,233,.78); line-height: 1.7; font-size: 14px; }
.ai-roadmap-card:hover { transform: translateY(-4px); border-color: rgba(61,139,255,.45); box-shadow: 0 20px 36px rgba(0,0,0,.35); }
@media (max-width: 1024px){
  .ai-roadmap-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 640px){
  .ai-roadmap-grid { grid-template-columns: 1fr; }
}

/* AI Cloud Providers */
.ai-cloud { background: #0b0c0d; padding: 56px 0; border-top: 1px solid rgba(255,255,255,.05); border-bottom: 1px solid rgba(255,255,255,.05); }
.ai-cloud-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 24px; align-items: stretch; }
.ai-cloud-hero { border-radius: 24px; padding: 32px; background: radial-gradient(120% 120% at 10% 10%, rgba(123,97,255,.65), rgba(20,26,50,.95)); color: #fff; box-shadow: 0 22px 40px rgba(0,0,0,.45); display: flex; flex-direction: column; gap: 18px; }
.ai-cloud-hero h2 { margin: 0; font-size: clamp(26px, 3.6vw, 40px); }
.ai-cloud-hero p { margin: 0; line-height: 1.7; color: rgba(240,244,255,.88); }
.ai-cloud-cards { display: grid; gap: 16px; }
.ai-cloud-card { border-radius: 18px; border: 1px solid rgba(255,255,255,.08); background: rgba(0,0,0,.3); padding: 22px; display: grid; grid-template-columns: 160px minmax(0,1fr); gap: 18px; align-items: center; }
.ai-cloud-logo { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; color: #fff; }
.ai-cloud-logo-icon { display: inline-flex; align-items: center; justify-content: center; background: rgba(255,255,255,.08); border-radius: 14px; padding: 12px; }
.ai-cloud-logo-icon svg { width: 40px; height: 40px; max-width: 100%; }
.ai-cloud-logo-text { font-weight: 700; font-size: 18px; }
.ai-cloud-card p { margin: 0; color: rgba(201,212,233,.8); line-height: 1.7; font-size: 14px; }
@media (max-width: 900px){
  .ai-cloud-grid { grid-template-columns: 1fr; }
  .ai-cloud-card { grid-template-columns: 1fr; text-align: left; }
  .ai-cloud-logo { flex-direction: row; align-items: center; }
  .ai-cloud-logo-icon { padding: 10px; }
  .ai-cloud-logo-icon svg { width: 36px; height: 36px; }
}

/* AI Awards marquee */
.ai-awards { background: #0b0c0d; padding: 48px 0; border-top: 1px solid rgba(255,255,255,.05); border-bottom: 1px solid rgba(255,255,255,.05); }
.ai-awards-head { text-align: center; max-width: 780px; margin: 0 auto 28px auto; }
.ai-awards-head h2 { margin: 0 0 12px 0; color: #e8eef9; font-size: clamp(26px, 3.6vw, 38px); }
.ai-awards-head p { margin: 0; color: var(--color-muted); line-height: 1.7; }
.ai-awards-track { overflow: hidden; position: relative; }
.ai-awards-row { display: flex; gap: 36px; animation: ai-awards-scroll 25s linear infinite; }
.ai-award { flex: 0 0 auto; width: 140px; height: 140px; display: flex; align-items: center; justify-content: center; }
.ai-award img { max-width: 100%; max-height: 100%; object-fit: contain; filter: grayscale(0.1); }
.ai-awards-track:hover .ai-awards-row { animation-play-state: paused; }
@keyframes ai-awards-scroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
@media (max-width: 600px){
  .ai-award { width: 110px; height: 110px; }
  .ai-awards-row { gap: 24px; }
}

/* AI contact lead */
.ai-contact { position: relative; padding: clamp(48px, 9vw, 80px) 0; background: radial-gradient(140% 120% at 15% 10%, rgba(77,97,255,.32), rgba(2,4,16,.96)); border-top: 1px solid rgba(255,255,255,.05); overflow: hidden; }
.ai-contact::before { content: ""; position: absolute; inset: 0; background: radial-gradient(80% 120% at 90% 20%, rgba(10,133,255,.28), transparent 65%); opacity: .55; pointer-events: none; }
.ai-contact::after { content: ""; position: absolute; inset: -40% -40% 40% 30%; background: conic-gradient(from 180deg, rgba(72,72,255,.18), rgba(0,0,0,0) 45%, rgba(255,255,255,.08) 55%, rgba(0,0,0,0) 85%); mix-blend-mode: screen; pointer-events: none; }
.ai-contact .container { position: relative; z-index: 2; }
.ai-contact-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(28px, 5vw, 48px); align-items: stretch; }
.ai-contact-hero { position: relative; border-radius: 28px; padding: clamp(32px, 5vw, 42px); background:
    linear-gradient(135deg, rgba(20,43,96,.85), rgba(7,12,32,.95)),
    radial-gradient(140% 120% at 0% 0%, rgba(103,132,255,.4), transparent 55%);
  color: #f8fbff; display: flex; flex-direction: column; gap: clamp(20px, 5vw, 28px); box-shadow: 0 28px 48px rgba(0,0,0,.45); border: 1px solid rgba(120,146,255,.18); }
.ai-contact-hero::after { content: ""; position: absolute; inset: 6%; border-radius: 22px; border: 1px solid rgba(255,255,255,.08); opacity: .35; pointer-events: none; }
.ai-contact-eyebrow { margin: 0; font-size: 13px; letter-spacing: .18em; text-transform: uppercase; color: rgba(236,240,255,.66); font-weight: 700; }
.ai-contact-hero h2 { position: relative; margin: 0; font-size: clamp(28px, 4.4vw, 40px); letter-spacing: -.01em; }
.ai-contact-copy { margin: 0; color: rgba(226,233,255,.78); line-height: 1.7; font-size: 16px; }
.ai-contact-hero ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: clamp(16px, 4vw, 22px); position: relative; }
.ai-contact-hero li { display: flex; gap: 14px; align-items: flex-start; }
.ai-contact-icon { width: 30px; height: 30px; border-radius: 999px; background: rgba(255,255,255,.18); display: inline-flex; align-items: center; justify-content: center; font-size: 17px; color: rgba(255,255,255,.92); box-shadow: inset 0 0 0 1px rgba(255,255,255,.12); flex-shrink: 0; }
.ai-contact-icon svg { width: 16px; height: 16px; }
.ai-contact-hero strong { display: block; font-size: 17px; margin-bottom: 4px; letter-spacing: -.005em; }
.ai-contact-hero p { margin: 0; color: rgba(222,229,255,.82); font-size: 15px; line-height: 1.7; }
.ai-contact-form { display: flex; justify-content: flex-end; }
.ai-contact-panel { position: relative; width: 100%; max-width: 500px; background: rgba(255,255,255,.98); border-radius: 30px; padding: clamp(28px, 5vw, 36px); box-shadow: 0 40px 70px rgba(11,23,59,.18); border: 1px solid rgba(15,23,42,.06); color: #0f172a; backdrop-filter: blur(18px); }
.ai-contact-panel::after { content: ""; position: absolute; inset: 0; border-radius: 30px; pointer-events: none; mix-blend-mode: overlay; }
.ai-contact-alert { margin-bottom: 18px; padding: 12px 16px; border-radius: 12px; font-size: 14px; font-weight: 600; background: rgba(34,197,94,.12); color: #065f46; border: 1px solid rgba(34,197,94,.35); }
.ai-contact-alert.is-error { background: rgba(248,113,113,.15); color: #b91c1c; border-color: rgba(248,113,113,.4); }
.ai-contact-fields { display: flex; flex-direction: column; gap: clamp(16px, 3vw, 20px); margin: 0; }
.ai-contact-input { width: 100%; border: none; border-bottom: 1px solid rgba(15,23,42,.12); padding: 0 0 12px; font-size: 15px; font-family: inherit; background: transparent; color: #0f172a; transition: border-color .2s ease, box-shadow .2s ease; }
.ai-contact-input::placeholder { color: rgba(15,23,42,.42); }
.ai-contact-input:focus { outline: none; border-color: rgba(37,99,235,.8); box-shadow: 0 2px 0 rgba(37,99,235,.55); }
.ai-contact-select-wrap { position: relative; }
.ai-contact-select { appearance: none; -webkit-appearance: none; padding-right: 34px; cursor: pointer; color: rgba(15,23,42,.45); }
.ai-contact-select:not(:invalid) { color: #0f172a; }
.ai-contact-select-icon { position: absolute; right: 4px; top: 50%; transform: translateY(-50%); pointer-events: none; color: rgba(15,23,42,.4); font-size: 16px; }
.ai-contact-textarea { border: 1px solid rgba(15,23,42,.12); border-radius: 16px; padding: 15px 16px; min-height: 132px; resize: vertical; background: rgba(15,23,42,.02); }
.ai-contact-textarea::placeholder { color: rgba(15,23,42,.45); }
.ai-contact-textarea:focus { box-shadow: 0 0 0 3px rgba(37,99,235,.18); border-color: rgba(37,99,235,.75); }
.ai-contact-captcha { display: flex; flex-wrap: wrap; gap: 12px; font-weight: 600; color: rgba(15,23,42,.72); align-items: center; }
.ai-contact-captcha span { white-space: nowrap; }
.ai-contact-submit { border: none; border-radius: 999px; padding: 14px 28px; font-size: 16px; font-weight: 700; color: #ffffff; cursor: pointer; background: linear-gradient(135deg, #2563eb, #1d4ed8); box-shadow: 0 22px 36px rgba(37,99,235,.28); transition: transform .2s ease, box-shadow .2s ease, filter .2s ease; }
.ai-contact-submit:hover { transform: translateY(-2px); box-shadow: 0 30px 50px rgba(29,78,216,.28); filter: brightness(1.04); }
.ai-contact-submit:active { transform: translateY(0); box-shadow: 0 16px 28px rgba(29,78,216,.24); }
.ai-contact-benefits { list-style: none; margin: clamp(16px, 4vw, 22px) 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; font-size: 13px; color: rgba(15,23,42,.65); }
.ai-contact-benefits li { position: relative; padding-left: 18px; line-height: 1.6; }
.ai-contact-benefits li::before { content: "•"; position: absolute; left: 4px; top: 0; color: rgba(37,99,235,.8); font-size: 18px; line-height: 1; }
@media (max-width: 900px){
  .ai-contact-grid { grid-template-columns: 1fr; }
  .ai-contact-form { justify-content: flex-start; }
  .ai-contact-panel { max-width: none; }
}
@media (max-width: 640px){
  .ai-contact { padding: 48px 0; }
  .ai-contact-panel { border-radius: 22px; }
  .ai-contact-hero { border-radius: 22px; }
}
.ai-awards-row { will-change: transform; }

/* AI FAQ */
.ai-faq { background: #0b0c0d; padding: 56px 0; border-top: 1px solid rgba(255,255,255,.05); border-bottom: 1px solid rgba(255,255,255,.05); }
.ai-faq-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, .6fr); gap: 28px; align-items: start; }
.ai-faq-list h2 { margin: 0 0 12px 0; color: #e8eef9; font-size: clamp(26px, 3.6vw, 40px); }
.ai-faq-intro { margin: 0 0 20px 0; color: var(--color-muted); line-height: 1.7; }
.ai-faq-items { display: flex; flex-direction: column; gap: 16px; }
.ai-faq-items details { border: 1px solid rgba(255,255,255,.08); border-radius: 16px; padding: 18px 22px; background: rgba(0,0,0,.28); transition: border-color .2s ease, box-shadow .2s ease; }
.ai-faq-items details[open] { border-color: rgba(61,139,255,.45); box-shadow: 0 18px 30px rgba(0,0,0,.35); }
.ai-faq-items summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 18px; color: #f1f3ff; font-weight: 700; }
.ai-faq-items summary::-webkit-details-marker { display: none; }
.ai-faq-items summary::after { content: "\25B6"; font-size: 14px; transition: transform .2s ease; }
.ai-faq-items details[open] summary::after { transform: rotate(90deg); }
.ai-faq-body { margin-top: 12px; color: rgba(201,212,233,.8); line-height: 1.7; font-size: 14px; }
.ai-faq-card { background: rgba(0,0,0,.32); border: 1px solid rgba(255,255,255,.08); border-radius: 24px; padding: 28px; display: flex; flex-direction: column; gap: 18px; align-items: flex-start; box-shadow: 0 18px 34px rgba(0,0,0,.35); }
.ai-faq-card-icon { width: 54px; height: 54px; border-radius: 16px; background: linear-gradient(135deg, var(--color-accent), var(--color-accent-2)); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 30px; box-shadow: 0 14px 28px rgba(var(--color-accent-rgb), .28); }
.ai-faq-card h3 { margin: 0; color: #f1f3ff; font-size: 20px; line-height: 1.5; }
.ai-faq-card .btn-primary { background: linear-gradient(135deg, var(--color-accent), var(--color-accent-2)); color: #fff; border-radius: 999px; padding: 12px 24px; font-weight: 600; box-shadow: 0 16px 30px rgba(var(--color-accent-rgb), .28); }
@media (max-width: 900px){
  .ai-faq-grid { grid-template-columns: 1fr; }
}

/* FAQ Cards Grid */
.faq-cards { padding: 72px 0; background: var(--color-bg); border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); }
.faq-cards-head { text-align: center; max-width: 900px; margin: 0 auto 28px; }
.faq-cards-head h2 { margin: 0 0 12px 0; color: var(--color-text); font-size: clamp(28px, 4vw, 42px); }
.faq-cards-head p { margin: 0; color: var(--color-muted); line-height: 1.7; }
.faq-cards-grid { column-count: 2; column-gap: 22px; }
.faq-card { display: block; width: 100%; border: 1px solid var(--color-border); border-radius: 18px; background: var(--color-surface); padding: 0; overflow: hidden; box-shadow: 0 12px 28px rgba(0,0,0,.22); transition: box-shadow .2s ease, border-color .2s ease, transform .2s ease; break-inside: avoid; margin-bottom: 22px; }
.faq-card[open] { border-color: rgba(var(--color-accent-rgb), .45); box-shadow: 0 18px 36px rgba(0,0,0,.32); transform: translateY(-2px); }
.faq-card-summary { list-style: none; cursor: pointer; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 12px; padding: 18px 20px; font-weight: 700; color: var(--color-text); }
.faq-card-summary::-webkit-details-marker { display: none; }
.faq-card-question { font-size: 16px; line-height: 1.6; }
.faq-card-caret svg { width: 18px; height: 18px; display: block; color: var(--color-text); transition: transform .2s ease; }
.faq-card[open] .faq-card-caret svg { transform: rotate(180deg); }
.faq-card-body { padding: 0 20px 20px; color: var(--color-text-light); font-size: 15px; line-height: 1.7; }
@media (max-width: 980px){
  .faq-cards-grid { column-count: 1; }
}

/* Light modifier */
.faq-cards--light { background: var(--color-surface-light); border-top-color: var(--color-border-light); border-bottom-color: var(--color-border-light); }
.faq-cards--light .faq-card { background: var(--color-surface-light); border-color: var(--color-border-light); box-shadow: 0 8px 22px rgba(32,38,72,.12); }
.faq-cards--light .faq-card[open] { border-color: rgba(var(--color-accent-rgb), .45); box-shadow: 0 14px 28px rgba(32,38,72,.18); }
.faq-cards--light .faq-card-summary { color: var(--color-text-dark); }
.faq-cards--light .faq-card-caret svg { color: var(--color-text-dark); }
.faq-cards--light .faq-card-body { color: var(--color-muted); }

/* AI Development hero */
.hero--ai-dev { position: relative; padding: clamp(140px, 18vw, 180px) 0 clamp(280px, 34vw, 320px) 0; background: linear-gradient(180deg, #05070d 0%, #020305 100%); overflow: hidden; }
.hero--ai-dev::before { content: ""; position: absolute; inset: 0; background: radial-gradient(120% 80% at 50% -20%, rgba(82,106,255,.35), transparent 65%); pointer-events: none; }
.hero-ai-dev-inner { position: relative; z-index: 2; display: flex; justify-content: center; padding-bottom: clamp(48px, 8vw, 72px); }
.hero-ai-dev-copy { max-width: 720px; text-align: center; color: #fff; display: flex; flex-direction: column; gap: clamp(20px, 3vw, 32px); }
.hero-ai-dev-copy h1 { margin: 0; font-size: clamp(32px, 5vw, 56px); letter-spacing: -0.01em; }
.hero-ai-dev-copy p { margin: 0; color: rgba(233,238,249,.82); font-size: clamp(16px,1.6vw,18px); line-height: 1.7; }
.hero-ai-dev-copy .btn-primary { align-self: center; background: linear-gradient(135deg, var(--color-accent), var(--color-accent-2)); color: #fff; padding: 14px 28px; border-radius: 12px; font-weight: 600; box-shadow: 0 18px 32px rgba(var(--color-accent-rgb), .28); }
.hero-ai-dev-media { position: absolute; left: 50%; bottom: calc(-1 * clamp(220px, 28vw, 280px)); transform: translateX(-50%); width: min(calc(100% - 64px), 1280px); border-radius: 36px; overflow: hidden; box-shadow: 0 28px 60px rgba(0,0,0,.45); transition: bottom .6s ease, box-shadow .6s ease; }
.hero-ai-dev-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(5,7,13,.95) 0%, rgba(5,7,13,0) 32%, rgba(5,7,13,.25) 100%); pointer-events: none; opacity: .88; transition: opacity .6s ease; }
.hero-ai-dev-video { width: 100%; height: 100%; object-fit: cover; display: block; }
.hero--ai-dev.is-scrolled .hero-ai-dev-media { bottom: -56px; box-shadow: 0 20px 44px rgba(0,0,0,.4); }
.hero--ai-dev.is-scrolled .hero-ai-dev-media::after { opacity: .6; }
@media (max-width: 900px){
  .hero--ai-dev { padding: clamp(120px, 24vw, 150px) 0 clamp(240px, 42vw, 280px) 0; }
  .hero-ai-dev-media { bottom: calc(-1 * clamp(200px, 34vw, 240px)); width: calc(100% - 48px); }
  .hero--ai-dev.is-scrolled .hero-ai-dev-media { bottom: -48px; }
}
@media (max-width: 640px){
  .hero--ai-dev { padding: 100px 0 220px 0; }
  .hero-ai-dev-copy .btn-primary { width: 100%; }
}
@media (max-width: 540px){
  .hero-ai-dev-media { width: calc(100% - 32px); }
}

/* Blog Article Layout */
.blog-article { background: var(--color-bg); }
.blog-hero { background: linear-gradient(135deg, #4a61ff, #384df5); color: #ffffff; padding: clamp(88px, 12vw, 120px) 0 clamp(60px, 10vw, 96px); position: relative; overflow: hidden; }
.blog-hero::after { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 80% 20%, rgba(255,255,255,.18), transparent 55%); pointer-events: none; }
.blog-hero-inner { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: clamp(32px, 4vw, 60px); }
.blog-hero-copy { max-width: 720px; display: flex; flex-direction: column; gap: 20px; }
.blog-hero h1 { margin: 0; font-size: clamp(34px, 4.2vw, 58px); line-height: 1.05; }
.blog-hero-kicker { margin: 0; display: inline-flex; gap: 12px; align-items: center; font-size: 14px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.72); }
.blog-hero-breadcrumb { color: rgba(255,255,255,.85); font-weight: 600; }
.blog-hero-breadcrumb:hover { color: #ffffff; }
.blog-hero-meta { display: inline-flex; gap: 18px; align-items: center; font-size: 15px; color: rgba(255,255,255,.78); }
.blog-hero-author { font-weight: 600; letter-spacing: -.01em; }
.blog-hero-dot { width: 6px; height: 6px; border-radius: 50%; background: rgba(255,255,255,.55); }
.blog-hero-visual { flex: 0 0 clamp(220px, 24vw, 320px); display: flex; align-items: center; justify-content: center; }
.blog-hero-illustration { width: 100%; aspect-ratio: 1; border-radius: 28px; background: linear-gradient(180deg, rgba(6,12,30,.45), rgba(6,12,30,.8)); border: 2px solid rgba(255,255,255,.18); box-shadow: 0 28px 60px rgba(0,0,0,.35); position: relative; overflow: hidden; }
.blog-hero-image { width: 100%; height: auto; display: block; border-radius: 28px; border: 2px solid rgba(255,255,255,.18); box-shadow: 0 28px 60px rgba(0,0,0,.35); background: rgba(6,12,30,.45); }
.blog-hero-illustration::before,
.blog-hero-illustration::after { content: ""; position: absolute; border-radius: 50%; background: rgba(255,255,255,.12); }
.blog-hero-illustration::before { width: 56%; height: 56%; top: 14%; left: 12%; backdrop-filter: blur(4px); }
.blog-hero-illustration::after { width: 42%; height: 42%; bottom: 12%; right: 10%; backdrop-filter: blur(3px); }

.blog-body { background: var(--color-surface-light); color: var(--color-text-dark); padding: clamp(60px, 9vw, 96px) 0; border-top: 1px solid var(--color-border-light); }
.blog-body a { color: var(--color-accent); font-weight: 600; }
.blog-body-grid { display: grid; grid-template-columns: minmax(220px, 260px) minmax(0, 1fr) minmax(260px, 320px); gap: clamp(28px, 4vw, 48px); align-items: start; }

.blog-toc { position: sticky; top: 120px; }
.blog-toc-card { background: #ffffff; border-radius: 22px; border: 1px solid var(--color-border-light); box-shadow: 0 24px 44px rgba(18,23,43,.08); padding: 28px 24px; display: flex; flex-direction: column; gap: 18px; max-height: calc(100vh - 180px); overflow: hidden; }
.blog-toc-title { margin: 0; font-size: 14px; letter-spacing: .12em; text-transform: uppercase; font-weight: 800; color: rgba(12,16,32,.65); }
.blog-toc-nav { flex: 1; overflow-y: auto; padding-right: 6px; margin-right: -6px; }
.blog-toc-nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.blog-toc-nav li { display: flex; flex-direction: column; gap: 12px; }
.blog-toc-nav li ul { padding-left: 16px; gap: 8px; }
.blog-toc-nav a { font-size: 15px; font-weight: 600; color: rgba(16,22,48,.9); line-height: 1.6; }
.blog-toc-nav a:hover,
.blog-toc-nav a:focus { color: var(--color-accent); }
.blog-toc-nav::-webkit-scrollbar { width: 6px; }
.blog-toc-nav::-webkit-scrollbar-thumb { background: rgba(32,46,88,.18); border-radius: 6px; }
.blog-toc-nav::-webkit-scrollbar-track { background: transparent; }

.blog-content { display: flex; flex-direction: column; gap: clamp(28px, 4vw, 42px); }
.blog-content h2 { color: rgba(12,18,40,.92); }
.blog-content h3 { color: rgba(18,26,52,.9); }
.blog-content p { color: rgba(32,40,64,.82); }
.blog-content section { background: transparent; }
.blog-content section + section { margin-top: -8px; }

.blog-key-takeaways { background: #f4f6ff; border-radius: 24px; border: 1px solid rgba(58,96,255,.18); padding: clamp(24px, 4vw, 36px); box-shadow: 0 18px 32px rgba(32,40,120,.08); }
.blog-key-takeaways h2 { margin: 0 0 16px; font-size: 20px; color: rgba(16,22,48,.92); }
.blog-key-takeaways ul { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 12px; }
.blog-key-takeaways li { color: rgba(26,32,60,.82); font-size: 15px; line-height: 1.7; }

.blog-lead { position: sticky; top: 120px; }
.blog-lead-card { background: #0b0d17; border-radius: 28px; padding: clamp(28px, 4vw, 36px); color: #f1f4ff; display: flex; flex-direction: column; gap: 24px; box-shadow: 0 28px 52px rgba(5,8,20,.45); border: 1px solid rgba(255,255,255,.08); }
.blog-lead-card h2 { margin: 0; font-size: clamp(20px, 3vw, 24px); color: #ffffff; line-height: 1.3; }
.blog-lead-form { display: flex; flex-direction: column; gap: 14px; }
.blog-lead-form input,
.blog-lead-form textarea { width: 100%; border-radius: 14px; border: 1px solid rgba(255,255,255,.16); padding: 14px 16px; background: rgba(5,7,15,.65); color: #f1f4ff; font-size: 15px; font-family: inherit; }
.blog-lead-form textarea { resize: vertical; min-height: 120px; }
.blog-lead-form input::placeholder,
.blog-lead-form textarea::placeholder { color: rgba(235,237,255,.55); }
.blog-lead-form input:focus,
.blog-lead-form textarea:focus { outline: none; border-color: rgba(73,118,255,.65); box-shadow: 0 0 0 3px rgba(73,118,255,.25); }
.blog-lead-captcha { display: grid; grid-template-columns: auto 1fr; gap: 12px; align-items: center; font-size: 14px; color: rgba(235,237,255,.85); }
.blog-lead-form button { border: none; border-radius: 14px; padding: 14px 20px; background: linear-gradient(135deg, var(--color-accent), var(--color-accent-2)); color: #fff; font-weight: 700; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease; }
.blog-lead-form button:hover { transform: translateY(-2px); box-shadow: 0 16px 32px rgba(var(--color-accent-rgb), .35); }
.blog-lead-benefits { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 10px; color: rgba(222,226,255,.72); font-size: 14px; }

/* Author + Share + Nav */
.blog-author { margin-top: clamp(20px, 4vw, 32px); }
.blog-author-card { border-radius: 28px; border: 1px solid rgba(42,63,120,.14); background: #ffffff; box-shadow: 0 22px 48px rgba(16,28,60,.08); padding: clamp(26px, 4vw, 36px); display: flex; flex-direction: column; gap: 20px; color: rgba(20,28,52,.92); }
.blog-author-meta { display: flex; align-items: center; gap: 18px; }
.blog-author-avatar { width: 72px; height: 72px; border-radius: 50%; background: linear-gradient(135deg, rgba(61,96,255,.18), rgba(37,58,180,.6)); color: rgba(12,16,40,.9); display: inline-flex; align-items: center; justify-content: center; font-weight: 700; font-size: 24px; letter-spacing: .02em; box-shadow: inset 0 0 0 2px rgba(255,255,255,.55); }
.blog-author-label { margin: 0 0 4px; text-transform: uppercase; font-size: 12px; font-weight: 700; letter-spacing: .16em; color: rgba(20,28,60,.48); }
.blog-author-name { margin: 0; font-size: clamp(20px, 2.8vw, 26px); font-weight: 700; letter-spacing: -.01em; }
.blog-author-role { margin: 4px 0 0; font-size: 15px; color: rgba(20,28,60,.6); }
.blog-author-bio { margin: 0; font-size: 15px; line-height: 1.8; color: rgba(30,40,72,.78); }

.blog-share-nav { display: flex; flex-direction: column; gap: clamp(24px, 4vw, 32px); padding-top: clamp(28px, 4vw, 40px); border-top: 1px solid rgba(32,46,88,.12); margin-top: clamp(32px, 6vw, 48px); }
.blog-share { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.blog-share-title { margin: 0; font-size: 14px; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; color: rgba(20,28,52,.55); }
.blog-share-list { margin: 0; padding: 0; list-style: none; display: inline-flex; gap: 12px; }
.blog-share-icon { width: 42px; height: 42px; border-radius: 50%; background: rgba(30,44,88,.08); display: inline-flex; align-items: center; justify-content: center; transition: background .2s ease, transform .2s ease; color: rgba(34,52,108,.78); }
.blog-share-icon::before { content: ""; width: 18px; height: 18px; display: block; background: currentColor; mask-repeat: no-repeat; mask-position: center; mask-size: contain; }
.blog-share-icon--linkedin::before { mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23000' d='M4.98 3.5a2.5 2.5 0 11-.02 5 2.5 2.5 0 01.02-5zM3 9h4v12H3zM9 9h3.8v1.7h.05c.53-1 1.83-2.05 3.77-2.05 4.03 0 4.78 2.66 4.78 6.12V21H17v-5.6c0-1.33-.02-3.04-1.86-3.04-1.87 0-2.16 1.46-2.16 2.96V21H9z'/%3E%3C/svg%3E"); }
.blog-share-icon--twitter::before { mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23000' d='M21 5.92a5.44 5.44 0 01-1.54.42 2.68 2.68 0 001.18-1.48 5.38 5.38 0 01-1.7.66 2.68 2.68 0 00-4.56 2.45 7.6 7.6 0 01-5.52-2.8 2.68 2.68 0 00.83 3.58 2.66 2.66 0 01-1.22-.34v.03a2.68 2.68 0 002.15 2.63 2.7 2.7 0 01-1.21.05 2.68 2.68 0 002.5 1.86A5.38 5.38 0 015 17.12a7.58 7.58 0 004.1 1.2c4.92 0 7.62-4.08 7.62-7.62 0-.12 0-.24-.01-.35A5.44 5.44 0 0021 5.92z'/%3E%3C/svg%3E"); }
.blog-share-icon--facebook::before { mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23000' d='M13.5 9H16V6h-2.5C11 6 10 7.58 10 9.75V12H8v3h2v7h3v-7h2.25l.75-3H13v-2.25c0-.72.24-1.25 1-1.25z'/%3E%3C/svg%3E"); }
.blog-share-icon:hover { background: rgba(var(--color-accent-rgb), .15); color: var(--color-accent); transform: translateY(-2px); }

.blog-post-nav { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
.blog-post-link { display: flex; flex-direction: column; gap: 6px; padding: 18px 20px; border-radius: 18px; border: 1px solid rgba(42,63,120,.12); background: rgba(248,249,255,.78); color: rgba(26,34,66,.88); font-weight: 600; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.blog-post-link:hover { transform: translateY(-3px); box-shadow: 0 16px 36px rgba(16,26,60,.12); border-color: rgba(var(--color-accent-rgb), .45); color: var(--color-accent); }
.blog-post-link-label { font-size: 12px; text-transform: uppercase; letter-spacing: .16em; color: rgba(34,42,82,.52); }
.blog-post-link-title { font-size: 15px; line-height: 1.6; color: inherit; }
.blog-post-link--prev { text-align: left; }
.blog-post-link--next { text-align: right; }

/* Read more */
.blog-more { background: var(--color-bg); padding: clamp(72px, 12vw, 108px) 0; border-top: 1px solid var(--color-border); }
.blog-more-inner { display: flex; flex-direction: column; gap: clamp(36px, 6vw, 52px); }
.blog-more-head { display: flex; flex-direction: column; gap: 12px; color: var(--color-text-light); }
.blog-more-head h2 { margin: 0; color: #fff; font-size: clamp(32px, 5vw, 46px); letter-spacing: -0.01em; }
.blog-more-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: clamp(20px, 3vw, 28px); }
.blog-more-card { background: rgba(6,8,14,.92); border: 1px solid rgba(60,72,120,.18); border-radius: 24px; overflow: hidden; display: flex; flex-direction: column; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.blog-more-card:hover { transform: translateY(-6px); border-color: rgba(var(--color-accent-rgb), .45); box-shadow: 0 26px 48px rgba(2,8,32,.45); }
.blog-more-media { display: block; padding: 0; position: relative; overflow: hidden; height: 190px; }
.blog-more-thumb { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.blog-more-graphic { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.blog-more-graphic--chatbot { background: linear-gradient(135deg, #4854ff, #5869ff); }
.blog-more-graphic--automation { background: linear-gradient(135deg, #4854ff, #9b61ff); }
.blog-more-graphic--rag { background: linear-gradient(135deg, #d3921c, #f0b942); }
.blog-more-content { padding: 24px; display: flex; flex-direction: column; gap: 12px; }
.blog-more-topic { margin: 0; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: rgba(208,214,255,.55); font-weight: 700; }
.blog-more-title { color: #fff; font-size: 18px; font-weight: 700; line-height: 1.5; }
.blog-more-title:hover { color: var(--color-accent); }
.blog-more-summary { margin: 0; color: rgba(208,214,255,.78); font-size: 15px; line-height: 1.7; }
.blog-more-meta { margin: 8px 0 0; font-size: 13px; color: rgba(180,188,226,.65); display: flex; align-items: center; gap: 6px; }

.under-construction { background: linear-gradient(135deg, rgba(var(--color-accent-rgb), .18), rgba(var(--color-accent-rgb), .08)), var(--color-bg); padding: clamp(140px, 18vw, 200px) 0; min-height: calc(100vh - 160px); display: flex; align-items: center; }
.under-construction-inner { display: flex; flex-direction: column; gap: 20px; max-width: 720px; color: var(--color-text); }
.under-construction-eyebrow { margin: 0; font-size: 14px; letter-spacing: .18em; text-transform: uppercase; font-weight: 700; color: var(--color-text-light); }
.under-construction h1 { margin: 0; font-size: clamp(34px, 5vw, 56px); line-height: 1.1; color: var(--color-text); }
.under-construction-copy { margin: 0; font-size: clamp(18px, 2.2vw, 20px); line-height: 1.7; color: var(--color-text-light); }
.under-construction-actions { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 12px; }
.button-primary,
.button-secondary { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 24px; border-radius: 999px; font-weight: 700; transition: transform .2s ease, box-shadow .2s ease; text-decoration: none; }
.button-primary { background: linear-gradient(135deg, var(--color-accent), var(--color-accent-2)); color: var(--color-accent-contrast); box-shadow: 0 18px 32px rgba(20,26,80,.35); }
.button-primary:hover { transform: translateY(-2px); box-shadow: 0 22px 36px rgba(20,26,80,.4); }
.button-secondary { border: 1px solid rgba(255,255,255,.65); color: #fff; }
.button-secondary:hover { transform: translateY(-2px); box-shadow: 0 18px 32px rgba(20,26,80,.28); }

.blog-inline-cta { margin: clamp(28px, 6vw, 48px) 0; }
.blog-inline-cta-card { background: linear-gradient(135deg, #6b5bff, #4f74ff); border-radius: 28px; padding: clamp(28px, 5vw, 44px); color: #fff; display: flex; flex-direction: column; gap: 16px; box-shadow: 0 26px 44px rgba(20,30,70,.35); }
.blog-inline-cta-eyebrow { margin: 0; font-size: 13px; letter-spacing: .18em; text-transform: uppercase; font-weight: 700; color: rgba(255,255,255,.75); }
.blog-inline-cta-card h3 { margin: 0; font-size: clamp(20px, 3.4vw, 30px); line-height: 1.3; color: #fff; }
.blog-inline-cta-copy { margin: 0; font-size: 15px; line-height: 1.7; color: rgba(240,244,255,.82); }
.blog-inline-cta-button { align-self: flex-start; display: inline-flex; align-items: center; justify-content: center; padding: 12px 24px; border-radius: 999px; background: #f9f9ff; color: #2b3cff; font-weight: 700; box-shadow: 0 16px 30px rgba(10,18,60,.28); transition: transform .2s ease, box-shadow .2s ease; }
.blog-inline-cta-button:hover { transform: translateY(-2px); box-shadow: 0 20px 36px rgba(10,18,60,.32); }

.blog-figure { margin: clamp(28px, 6vw, 48px) 0; display: flex; flex-direction: column; gap: 16px; }
.blog-figure-media { width: 100%; border-radius: 28px; background: rgba(79,94,130,.12); padding-top: 56%; position: relative; overflow: hidden; box-shadow: inset 0 0 0 1px rgba(79,94,130,.1); }
.blog-figure-media::after { content: ""; position: absolute; inset: 8%; border-radius: 22px; background: linear-gradient(135deg, rgba(255,255,255,.12), rgba(79,94,130,.08)); }
.blog-figure figcaption { font-size: 14px; color: rgba(32,40,64,.68); }
.blog-figure-media--chart { background: linear-gradient(180deg, rgba(87,110,255,.12), rgba(63,85,240,.08)); }
.blog-figure-media--chart::before { content: ""; position: absolute; inset: 18% 12%; border-radius: 16px; border: 1px solid rgba(45,62,120,.18); background:
  linear-gradient(180deg, rgba(255,255,255,.85), rgba(240,244,255,.65));
  box-shadow: inset 0 -80px 120px rgba(79,104,255,.12);
}
.blog-figure-media--chart::after { background:
  linear-gradient(135deg, rgba(255,255,255,.22), rgba(79,104,255,.18));
}
.blog-figure-media--checklist { background: linear-gradient(135deg, rgba(79,102,255,.18), rgba(124,98,255,.12)); }
.blog-figure-media--checklist::after { background:
  linear-gradient(160deg, rgba(255,255,255,.28), rgba(80,108,255,.14));
}
.blog-figure-media--orbit { background: linear-gradient(135deg, rgba(72,88,238,.2), rgba(46,60,201,.12)); }
.blog-figure-media--orbit::after { background:
  radial-gradient(60% 60% at 50% 40%, rgba(255,255,255,.28), rgba(46,60,201,.08));
}

.blog-case-cta { margin: clamp(32px, 6vw, 48px) 0 0; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; background: linear-gradient(135deg, #5d73ff, #3a3fff); border-radius: 28px; padding: clamp(28px, 5vw, 40px); color: #fff; box-shadow: 0 28px 52px rgba(18,24,70,.35); }
.blog-case-cta-copy { max-width: 520px; display: flex; flex-direction: column; gap: 10px; }
.blog-case-cta-copy h3 { margin: 0; font-size: clamp(20px, 3vw, 28px); line-height: 1.3; }
.blog-case-cta-copy p { margin: 0; color: rgba(240,244,255,.8); }
.blog-case-cta-button { display: inline-flex; align-items: center; justify-content: center; padding: 12px 26px; border-radius: 14px; background: #f9faff; color: #3344ff; font-weight: 700; box-shadow: 0 18px 28px rgba(20,26,80,.22); transition: transform .2s ease, box-shadow .2s ease; }
.blog-case-cta-button:hover { transform: translateY(-2px); box-shadow: 0 22px 34px rgba(20,26,80,.26); }

.blog-newsletter { background: var(--color-bg); padding: clamp(60px, 10vw, 96px) 0 clamp(90px, 12vw, 110px); }
.blog-newsletter-inner { background: #ffffff; border: 1px solid rgba(17, 24, 39, 0.08); border-radius: 28px; padding: clamp(32px, 5vw, 56px); display: grid; grid-template-columns: minmax(260px, 0.95fr) minmax(0, 1.05fr); gap: clamp(28px, 6vw, 48px); align-items: center; box-shadow: 0 24px 50px rgba(15, 23, 42, 0.1); }
.blog-newsletter-graphic { border-radius: 24px; background: linear-gradient(155deg, rgba(37, 99, 235, 0.12), rgba(147, 197, 253, 0.24)); display: flex; align-items: center; justify-content: center; padding: clamp(18px, 5vw, 28px); min-height: clamp(220px, 30vw, 320px); }
.blog-newsletter-illustration { width: 100%; height: auto; border-radius: 20px; background: rgba(255,255,255,0.72); box-shadow: 0 18px 34px rgba(15, 23, 42, 0.12); }
.blog-newsletter-image { width: 100%; height: auto; border-radius: 20px; display: block; box-shadow: 0 18px 32px rgba(15, 23, 42, 0.12); object-fit: contain; }
.blog-newsletter-content { display: flex; flex-direction: column; gap: clamp(16px, 4vw, 24px); color: #0f172a; }
.blog-newsletter-eyebrow { margin: 0; font-size: 13px; letter-spacing: .22em; text-transform: uppercase; font-weight: 700; color: rgba(17, 24, 39, 0.5); }
.blog-newsletter-content h2 { margin: 0; font-size: clamp(30px, 5vw, 40px); line-height: 1.25; color: #0f172a; }
.blog-newsletter-content p { margin: 0; color: rgba(17, 24, 39, 0.65); font-size: 16px; line-height: 1.65; }
.blog-newsletter-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; padding: 6px; border-radius: 999px; background: #f1f5ff; border: 1px solid rgba(37, 99, 235, 0.22); box-shadow: inset 0 0 0 1px rgba(37, 99, 235, 0.12); }
.blog-newsletter-form input { border: none; background: transparent; padding: 12px 20px; color: #0f172a; font-size: 16px; font-family: inherit; }
.blog-newsletter-form input::placeholder { color: rgba(15, 23, 42, 0.5); }
.blog-newsletter-form input:focus { outline: none; }
.blog-newsletter-form button { border: none; padding: 12px 28px; border-radius: 999px; background: linear-gradient(135deg, #fb774a, #f64f6b); color: #fff; font-weight: 700; font-size: 16px; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease, filter .2s ease; }
.blog-newsletter-form button:hover { transform: translateY(-2px); box-shadow: 0 14px 28px rgba(246, 79, 107, .32); filter: brightness(1.05); }
.blog-newsletter-note { margin: 0; font-size: 14px; color: rgba(15, 23, 42, 0.56); }

.blogs-index { background: var(--color-surface-light); color: var(--color-text-dark); }
.blogs-index a { color: inherit; text-decoration: none; }
.blogs-index a:hover { color: var(--color-accent); }
.blogs-hero { padding: clamp(56px, 8vw, 84px) 0 clamp(28px, 6vw, 56px); background: linear-gradient(180deg, #f7f9ff 0%, #ffffff 75%); }
.blogs-hero-inner { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(28px, 4vw, 48px); align-items: start; }
.blogs-hero-primary { display: flex; flex-direction: column; gap: clamp(20px, 3vw, 32px); }
.blogs-hero-eyebrow { margin: 0; font-size: 14px; letter-spacing: .18em; text-transform: uppercase; font-weight: 800; color: rgba(16,24,48,.55); }
.blogs-filters { display: flex; flex-wrap: wrap; gap: 10px; }
.blogs-filter { border: none; padding: 10px 18px; border-radius: 999px; background: rgba(32,48,120,.08); color: rgba(16,30,60,.8); font-weight: 600; font-size: 14px; cursor: pointer; transition: background .2s ease, color .2s ease; }
.blogs-filter.is-active,
.blogs-filter:hover { background: rgba(47,112,255,.16); color: #2f70ff; }
.blogs-card { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); background: #ffffff; border-radius: 28px; border: 1px solid rgba(15,23,42,.08); box-shadow: 0 26px 52px rgba(20,30,60,.1); overflow: hidden; transition: transform .25s ease, box-shadow .25s ease; }
.blogs-card:hover { transform: translateY(-6px); box-shadow: 0 36px 66px rgba(16,24,60,.16); }
.blogs-card-media { position: relative; padding-top: 58%; background: linear-gradient(135deg, rgba(50,72,220,.12), rgba(94,118,255,.28)); }
.blogs-card-media::after { content: ""; position: absolute; inset: 18%; border-radius: 22px; background: rgba(255,255,255,.22); mix-blend-mode: screen; }
.blogs-card-body { padding: clamp(26px, 4vw, 40px); display: flex; flex-direction: column; gap: clamp(14px, 3vw, 20px); }
.blogs-card-topic { margin: 0; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; font-weight: 800; color: rgba(18,28,60,.6); }
.blogs-card-title { margin: 0; font-size: clamp(26px, 4vw, 36px); line-height: 1.18; letter-spacing: -.01em; color: rgba(12,18,42,.95); }
.blogs-card-title a { display: inline-block; }
.blogs-card-excerpt { margin: 0; font-size: 16px; line-height: 1.7; color: rgba(24,32,60,.78); }
.blogs-card-meta { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; font-size: 14px; color: rgba(18,26,56,.72); }
.blogs-card-meta span,
.blogs-card-meta time { display: inline-flex; align-items: center; gap: 6px; }
.blogs-card-link { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; color: var(--color-accent); font-size: 15px; }
.blogs-card-link span { transition: transform .2s ease; }
.blogs-card-link:hover span { transform: translateX(4px); }
.blogs-card--primary { grid-template-columns: minmax(0, .75fr) minmax(0, 1fr); min-height: clamp(320px, 48vw, 420px); }
.blogs-card--primary .blogs-card-media { padding-top: 0; min-height: 100%; }
.blogs-card--teaser { grid-template-columns: minmax(0, 1fr); min-height: 260px; }
.blogs-card--teaser .blogs-card-title { font-size: clamp(20px, 3vw, 26px); }
.blogs-teaser-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(18px, 3vw, 24px); }

.blogs-latest { padding: clamp(56px, 9vw, 88px) 0; background: linear-gradient(180deg, #ffffff 0%, #f8f9ff 100%); border-top: 1px solid rgba(15,23,42,.06); }
.blogs-latest-inner { display: flex; flex-direction: column; gap: clamp(24px, 4vw, 36px); }
.blogs-section-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; }
.blogs-section-heading h2 { margin: 0; font-size: clamp(30px, 4vw, 42px); line-height: 1.2; color: rgba(12,18,40,.95); }
.blogs-latest-list { display: flex; flex-direction: column; gap: clamp(18px, 3vw, 26px); }
.blogs-latest-item { display: grid; grid-template-columns: minmax(120px, 160px) minmax(0, 1fr) minmax(150px, 180px); align-items: stretch; gap: clamp(18px, 3vw, 26px); padding: clamp(20px, 3vw, 28px); border-radius: 24px; border: 1px solid rgba(15,23,42,.08); background: #ffffff; box-shadow: 0 20px 40px rgba(16,26,60,.08); transition: transform .2s ease, box-shadow .2s ease; }
.blogs-latest-item:hover { transform: translateY(-4px); box-shadow: 0 28px 56px rgba(16,26,60,.12); }
.blogs-latest-media { border-radius: 18px; background: rgba(50,72,220,.12); position: relative; overflow: hidden; aspect-ratio: 1 / 1; }
.blogs-latest-thumb { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.blogs-latest-media::after { content: ""; position: absolute; inset: 20%; border-radius: 16px; background: rgba(255,255,255,.22); mix-blend-mode: screen; }
.blogs-latest-content { display: flex; flex-direction: column; gap: 12px; }
.blogs-latest-content h3 { margin: 0; font-size: clamp(20px, 3vw, 26px); line-height: 1.3; color: rgba(15,22,45,.92); }
.blogs-latest-stats { margin: 0; padding: 0; display: grid; gap: 12px; align-content: center; }
.blogs-latest-stats div { display: flex; flex-direction: column; gap: 4px; padding: 10px 12px; border-radius: 16px; background: rgba(15,23,42,.05); text-align: center; }
.blogs-latest-stats dt { margin: 0; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: rgba(18,26,54,.5); }
.blogs-latest-stats dd { margin: 0; font-size: 18px; font-weight: 700; color: rgba(12,18,38,.9); }

.blogs-social { padding: 24px 0 12px; }
.blogs-social-inner { display: flex; align-items: center; justify-content: space-between; gap: 18px; border-top: 1px solid rgba(15,23,42,.08); border-bottom: 1px solid rgba(15,23,42,.08); padding: 16px 0; font-weight: 600; color: rgba(16,26,52,.68); }
.blogs-social ul { list-style: none; display: flex; gap: 18px; padding: 0; margin: 0; }
.blogs-social a { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; color: var(--color-accent); }

.blogs-newsletter { padding: clamp(60px, 9vw, 96px) 0; }
.blogs-newsletter-inner { background: linear-gradient(135deg, #4b5fff, #3246ff); border-radius: 32px; padding: clamp(32px, 6vw, 60px); display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(24px, 4vw, 40px); align-items: center; box-shadow: 0 36px 68px rgba(16,22,60,.28); overflow: hidden; }
.blogs-newsletter-visual { position: relative; padding-top: 70%; border-radius: 26px; background: rgba(255,255,255,.14); }
.blogs-newsletter-illustration { position: absolute; inset: 16%; border-radius: 24px; background: radial-gradient(circle at 35% 25%, rgba(255,255,255,.32), rgba(255,255,255,.08) 60%, transparent 78%); box-shadow: inset 0 0 0 1px rgba(255,255,255,.18); }
.blogs-newsletter-content { display: flex; flex-direction: column; gap: clamp(16px, 4vw, 24px); color: #fff; }
.blogs-newsletter-eyebrow { margin: 0; font-size: 14px; letter-spacing: .18em; text-transform: uppercase; font-weight: 800; color: rgba(255,255,255,.7); }
.blogs-newsletter-content h2 { margin: 0; font-size: clamp(30px, 5vw, 40px); line-height: 1.2; }
.blogs-newsletter-copy { margin: 0; font-size: 16px; line-height: 1.7; color: rgba(255,255,255,.82); }
.blogs-newsletter-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; padding: 6px; border-radius: 999px; background: rgba(255,255,255,.2); backdrop-filter: blur(14px); border: 1px solid rgba(255,255,255,.35); box-shadow: inset 0 0 0 1px rgba(255,255,255,.12); }
.blogs-newsletter-form input { border: none; background: transparent; color: #fff; padding: 12px 18px; font-size: 15px; font-family: inherit; }
.blogs-newsletter-form input::placeholder { color: rgba(255,255,255,.7); }
.blogs-newsletter-form input:focus { outline: none; }
.blogs-newsletter-form button { border: none; padding: 12px 26px; border-radius: 999px; background: #f25759; color: #fff; font-weight: 700; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease; }
.blogs-newsletter-form button:hover { transform: translateY(-2px); box-shadow: 0 16px 28px rgba(242,87,89,.3); }
.blogs-newsletter-note { margin: 0; font-size: 14px; color: rgba(255,255,255,.75); }

.blogs-segment { padding: clamp(56px, 9vw, 88px) 0; border-top: 1px solid rgba(15,23,42,.06); background: #ffffff; }
.blogs-segment + .blogs-segment { margin-top: -12px; background: linear-gradient(180deg, #ffffff 0%, #f8f9ff 100%); }
.blogs-segment-inner { display: flex; flex-direction: column; gap: clamp(20px, 3vw, 32px); }
.blogs-segment-header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; }
.blogs-segment-header h2 { margin: 0; font-size: clamp(28px, 4vw, 38px); line-height: 1.2; color: rgba(12,18,40,.94); }
.blogs-segment-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: clamp(24px, 4vw, 36px); }
.blogs-segment-posts ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: clamp(16px, 3vw, 22px); }
.blogs-segment-item { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 16px; padding: 20px 24px; border-radius: 22px; border: 1px solid rgba(15,23,42,.08); background: rgba(248,249,255,.75); box-shadow: 0 16px 28px rgba(18,26,60,.08); align-items: center; transition: transform .2s ease, box-shadow .2s ease; }
.blogs-segment-item:hover { transform: translateY(-4px); box-shadow: 0 24px 38px rgba(18,26,60,.12); }
.blogs-segment-tag { display: inline-flex; align-items: center; justify-content: center; padding: 8px 14px; border-radius: 999px; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; font-weight: 800; color: rgba(15,22,42,.75); background: rgba(40,60,120,.16); }
.blogs-segment-text { display: flex; flex-direction: column; gap: 6px; }
.blogs-segment-text h3 { margin: 0; font-size: clamp(18px, 3vw, 24px); line-height: 1.35; color: rgba(14,22,44,.9); }
.blogs-segment-text time { font-size: 14px; color: rgba(20,28,56,.62); }
.blogs-segment-link { display: inline-flex; align-items: center; gap: 8px; margin-top: clamp(18px, 3vw, 24px); font-weight: 700; color: var(--color-accent); }
.blogs-segment-link span { transition: transform .2s ease; }
.blogs-segment-link:hover span { transform: translateX(4px); }
.blogs-segment-highlight { border-radius: 28px; background: #0b0f1f; color: #f3f4ff; padding: clamp(28px, 4vw, 36px); display: flex; flex-direction: column; gap: 16px; box-shadow: 0 26px 36px rgba(9,12,28,.4); }
.blogs-segment-highlight h3 { margin: 0; font-size: clamp(22px, 3.6vw, 28px); line-height: 1.25; color: #ffffff; }
.blogs-segment-highlight p { margin: 0; color: rgba(235,238,255,.78); font-size: 16px; line-height: 1.65; }
.blogs-segment-button { display: inline-flex; align-items: center; justify-content: center; padding: 12px 22px; border-radius: 14px; background: linear-gradient(135deg, #ff774a, #ff4d6d); font-weight: 700; color: #fff; box-shadow: 0 18px 32px rgba(255,77,109,.35); transition: transform .2s ease, box-shadow .2s ease; }
.blogs-segment-button:hover { transform: translateY(-2px); box-shadow: 0 22px 36px rgba(255,77,109,.38); }

.blogs-closing-cta { padding: clamp(70px, 11vw, 110px) 0 clamp(90px, 12vw, 120px); background: linear-gradient(135deg, #0b0d21, #142060); color: #fff; text-align: center; }
.blogs-closing-inner { display: flex; flex-direction: column; gap: 24px; align-items: center; }
.blogs-closing-inner h2 { margin: 0; font-size: clamp(32px, 4.8vw, 48px); line-height: 1.18; max-width: 760px; }
.blogs-closing-button { display: inline-flex; align-items: center; justify-content: center; padding: 16px 32px; border-radius: 16px; background: #ffffff; color: #0c1b50; font-weight: 800; font-size: 16px; letter-spacing: .03em; box-shadow: 0 24px 40px rgba(12,18,60,.28); transition: transform .2s ease, box-shadow .2s ease; }
.blogs-closing-button:hover { transform: translateY(-4px); box-shadow: 0 30px 48px rgba(12,18,60,.34); }

.blog-card--coral .blogs-card-media,
.blog-card--coral .blogs-latest-media { background: linear-gradient(135deg, #ff7a66, #ff4d6d); }
.blog-card--coral .blogs-segment-tag { background: rgba(255,125,102,.18); color: #e33749; }
.blog-card--coral.blogs-card--primary,
.blog-card--coral.blogs-card--teaser,
.blog-card--coral.blogs-card--list,
.blog-card--coral.blogs-segment-item { box-shadow: 0 26px 52px rgba(255,90,90,.12); }

.blog-card--indigo .blogs-card-media,
.blog-card--indigo .blogs-latest-media { background: linear-gradient(135deg, #5864ff, #3246ff); }
.blog-card--indigo .blogs-segment-tag { background: rgba(88,100,255,.18); color: #3246ff; }

.blog-card--amber .blogs-card-media,
.blog-card--amber .blogs-latest-media { background: linear-gradient(135deg, #ffb042, #ff8d24); }
.blog-card--amber .blogs-segment-tag { background: rgba(255,176,66,.2); color: #d66b0a; }

.blog-card--violet .blogs-card-media,
.blog-card--violet .blogs-latest-media { background: linear-gradient(135deg, #a46bff, #7b4dff); }
.blog-card--violet .blogs-segment-tag { background: rgba(164,107,255,.22); color: #7b4dff; }

.blog-card--sky .blogs-card-media,
.blog-card--sky .blogs-latest-media { background: linear-gradient(135deg, #5ad5ff, #3da9ff); }
.blog-card--sky .blogs-segment-tag { background: rgba(90,213,255,.22); color: #1877ff; }

.blog-card--rose .blogs-card-media,
.blog-card--rose .blogs-latest-media { background: linear-gradient(135deg, #ff7ab3, #ff4d82); }
.blog-card--rose .blogs-segment-tag { background: rgba(255,122,179,.2); color: #e3266c; }

.blog-card--blue .blogs-card-media,
.blog-card--blue .blogs-latest-media { background: linear-gradient(135deg, #4c9dff, #2563eb); }
.blog-card--blue .blogs-segment-tag { background: rgba(76,157,255,.2); color: #2563eb; }

.blog-card--teal .blogs-card-media,
.blog-card--teal .blogs-latest-media { background: linear-gradient(135deg, #32d1b0, #0ca678); }
.blog-card--teal .blogs-segment-tag { background: rgba(50,209,176,.22); color: #0a8a63; }

.blogs-card--primary.blog-card--coral .blogs-card-meta span,
.blogs-card--primary.blog-card--coral .blogs-card-meta time { color: rgba(255,255,255,.78); }
.blogs-card--primary.blog-card--coral .blogs-card-body,
.blogs-card--primary.blog-card--coral { color: #ffffff; background: linear-gradient(135deg, #ff7a66, #ff4d6d); border: none; }
.blogs-card--primary.blog-card--coral .blogs-card-topic { color: rgba(255,255,255,.75); }
.blogs-card--primary.blog-card--coral .blogs-card-title { color: #ffffff; }
.blogs-card--primary.blog-card--coral .blogs-card-excerpt { color: rgba(255,255,255,.85); }
.blogs-card--primary.blog-card--coral .blogs-card-link { color: #fff; }
.blogs-card--primary.blog-card--coral .blogs-card-media { background: rgba(255,255,255,.18); }

.blogs-card--primary.blog-card--coral .blogs-card-media::after,
.blog-card--coral .blogs-latest-media::after,
.blog-card--coral .blogs-card-media::after { background: rgba(255,255,255,.28); }

.blogs-card--primary.blog-card--indigo .blogs-card-media,
.blogs-card--primary.blog-card--amber .blogs-card-media,
.blogs-card--primary.blog-card--violet .blogs-card-media,
.blogs-card--primary.blog-card--sky .blogs-card-media,
.blogs-card--primary.blog-card--rose .blogs-card-media,
.blogs-card--primary.blog-card--blue .blogs-card-media,
.blogs-card--primary.blog-card--teal .blogs-card-media { background: rgba(255,255,255,.18); }

.blogs-card--primary:not(.blog-card--coral) .blogs-card-body { background: #ffffff; }

.blogs-card--list { background: #ffffff; }

.blogs-segment-item.blog-card--coral,
.blogs-segment-item.blog-card--indigo,
.blogs-segment-item.blog-card--amber,
.blogs-segment-item.blog-card--violet,
.blogs-segment-item.blog-card--sky,
.blogs-segment-item.blog-card--rose,
.blogs-segment-item.blog-card--blue,
.blogs-segment-item.blog-card--teal { background: rgba(248,249,255,.82); }

.blogs-latest-item.blog-card--coral .blogs-latest-stats div { background: rgba(255,122,136,.18); color: #d53a52; }
.blogs-latest-item.blog-card--indigo .blogs-latest-stats div { background: rgba(88,100,255,.16); color: #3947ff; }
.blogs-latest-item.blog-card--amber .blogs-latest-stats div { background: rgba(255,176,66,.18); color: #d66b0a; }
.blogs-latest-item.blog-card--violet .blogs-latest-stats div { background: rgba(164,107,255,.18); color: #7542ff; }
.blogs-latest-item.blog-card--sky .blogs-latest-stats div { background: rgba(90,213,255,.16); color: #1877ff; }
.blogs-latest-item.blog-card--rose .blogs-latest-stats div { background: rgba(255,122,179,.16); color: #e3266c; }
.blogs-latest-item.blog-card--blue .blogs-latest-stats div { background: rgba(76,157,255,.16); color: #2563eb; }
.blogs-latest-item.blog-card--teal .blogs-latest-stats div { background: rgba(50,209,176,.16); color: #0a8a63; }

.blogs-latest-item.blog-card--coral .blogs-latest-stats dd,
.blogs-latest-item.blog-card--indigo .blogs-latest-stats dd,
.blogs-latest-item.blog-card--amber .blogs-latest-stats dd,
.blogs-latest-item.blog-card--violet .blogs-latest-stats dd,
.blogs-latest-item.blog-card--sky .blogs-latest-stats dd,
.blogs-latest-item.blog-card--rose .blogs-latest-stats dd,
.blogs-latest-item.blog-card--blue .blogs-latest-stats dd,
.blogs-latest-item.blog-card--teal .blogs-latest-stats dd { color: inherit; }

.blogs-latest-item.blog-card--coral .blogs-latest-stats dt,
.blogs-latest-item.blog-card--indigo .blogs-latest-stats dt,
.blogs-latest-item.blog-card--amber .blogs-latest-stats dt,
.blogs-latest-item.blog-card--violet .blogs-latest-stats dt,
.blogs-latest-item.blog-card--sky .blogs-latest-stats dt,
.blogs-latest-item.blog-card--rose .blogs-latest-stats dt,
.blogs-latest-item.blog-card--blue .blogs-latest-stats dt,
.blogs-latest-item.blog-card--teal .blogs-latest-stats dt { color: rgba(15,20,40,.6); }

.blogs-card--primary.blog-card--coral .blogs-card-meta span,
.blogs-card--primary.blog-card--coral .blogs-card-meta time,
.blogs-card--primary.blog-card--coral .blogs-card-topic { color: rgba(255,255,255,.75); }

@media (max-width: 1180px){
  .blogs-hero-inner { grid-template-columns: minmax(0, 1fr); }
  .blogs-card--primary { grid-template-columns: minmax(0, 1fr); min-height: auto; }
  .blogs-card--primary .blogs-card-media { min-height: 260px; }
  .blogs-teaser-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .blogs-segment-grid { grid-template-columns: minmax(0, 1fr); }
  .blogs-segment-highlight { order: -1; }
}
@media (max-width: 980px){
  .blogs-latest-item { grid-template-columns: minmax(0, 1fr); }
  .blogs-latest-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .blogs-newsletter-inner { grid-template-columns: 1fr; }
  .blogs-newsletter-visual { padding-top: 52%; }
  .blogs-social-inner { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 720px){
  .blogs-teaser-grid { grid-template-columns: minmax(0, 1fr); }
  .blogs-filters { gap: 8px; }
  .blogs-latest-stats { grid-template-columns: 1fr; }
  .blogs-newsletter-form { grid-template-columns: 1fr; border-radius: 24px; }
  .blogs-segment-item { grid-template-columns: minmax(0, 1fr); }
  .blogs-segment-tag { justify-content: flex-start; }
}
@media (max-width: 560px){
  .blogs-card-body { padding: 24px; }
  .blogs-card-link { font-size: 14px; }
  .blogs-latest-item { padding: 20px; }
  .blogs-filter { padding: 9px 16px; font-size: 13px; }
  .blogs-newsletter-form button { width: 100%; }
  .blogs-closing-button { width: 100%; }
}

@media (max-width: 1180px){
  .blog-body-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); }
  .blog-lead { grid-column: 2 / -1; }
}
@media (max-width: 980px){
  .blog-hero-inner { flex-direction: column; align-items: flex-start; }
  .blog-hero-visual { align-self: stretch; max-width: 280px; }
  .blog-body-grid { grid-template-columns: minmax(0, 1fr); }
  .blog-toc,
  .blog-lead { position: static; }
  .blog-lead { order: 3; }
  .blog-toc-card { max-height: none; }
  .blog-toc-nav { overflow: visible; margin-right: 0; padding-right: 0; }
}
@media (max-width: 640px){
  .blog-hero { padding: 72px 0 64px; }
  .blog-hero-kicker { flex-wrap: wrap; gap: 8px; }
  .blog-body { padding: 48px 0 56px; }
  .blog-toc-card { padding: 24px; }
  .blog-lead-card { padding: 24px; border-radius: 22px; }
  .blog-share-nav { align-items: stretch; }
  .blog-share { flex-direction: column; align-items: flex-start; }
  .blog-post-link--next { text-align: left; }
  .blog-newsletter-inner { grid-template-columns: 1fr; }
  .blog-newsletter-graphic { min-height: 220px; padding: clamp(18px, 8vw, 28px); order: -1; }
  .blog-inline-cta-button { align-self: stretch; justify-content: center; }
  .blog-case-cta { flex-direction: column; align-items: flex-start; }
  .blog-case-cta-button { width: 100%; justify-content: center; }
}
@media (max-width: 540px){
  .blog-newsletter-form { grid-template-columns: 1fr; border-radius: 22px; }
  .blog-newsletter-form button { width: 100%; }
  .blog-newsletter-graphic { justify-content: center; }
  .blog-inline-cta-card { border-radius: 22px; }
  .blog-figure-media { border-radius: 22px; }
  .under-construction-actions { flex-direction: column; align-items: stretch; }
  .button-primary,
  .button-secondary { width: 100%; text-align: center; }
}
.privacy-page,
.terms-page { background: #ffffff; color: #111827; }
.privacy-hero,
.terms-hero { position: relative; padding: clamp(72px, 10vw, 120px) 0 clamp(48px, 8vw, 72px); background: radial-gradient(120% 140% at 20% 0%, rgba(73,97,255,.12), transparent 65%), linear-gradient(180deg, rgba(245,247,255,1) 0%, #ffffff 55%); border-bottom: 1px solid rgba(17,24,39,.08); }
.privacy-hero-inner,
.terms-hero-inner { display: flex; flex-direction: column; gap: clamp(24px, 4vw, 32px); }
.privacy-crumbs nav ol,
.terms-crumbs nav ol { list-style: none; display: flex; gap: 12px; padding: 0; margin: 0; font-size: 14px; color: rgba(55, 65, 81, .75); }
.privacy-crumbs nav li,
.terms-crumbs nav li { display: inline-flex; gap: 12px; align-items: center; }
.privacy-crumbs nav li + li::before,
.terms-crumbs nav li + li::before { content: "/"; color: rgba(55, 65, 81, .45); }
.privacy-crumbs a,
.terms-crumbs a { color: rgba(37, 99, 235, .9); font-weight: 600; }
.privacy-updated,
.terms-updated { margin: 8px 0 0; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: rgba(55,65,81,.6); font-weight: 700; }
.privacy-hero-content,
.terms-hero-content { max-width: 860px; display: flex; flex-direction: column; gap: clamp(16px, 3vw, 20px); }
.privacy-hero h1,
.terms-hero h1 { margin: 0; font-size: clamp(40px, 5vw, 54px); line-height: 1.05; letter-spacing: -.01em; color: #0f172a; }
.privacy-hero p,
.terms-hero p { margin: 0; font-size: 18px; line-height: 1.7; color: rgba(17,24,39,.75); }
.privacy-body,
.terms-body { padding: clamp(56px, 10vw, 96px) 0 clamp(72px, 12vw, 120px); background: #ffffff; }
.privacy-content,
.terms-content { display: grid; grid-template-columns: minmax(220px, 280px) minmax(0, 1fr); gap: clamp(32px, 6vw, 48px); align-items: start; }
.privacy-toc,
.terms-toc { position: sticky; top: 120px; align-self: start; }
.privacy-toc-card,
.terms-toc-card { background: #f8f9fb; border-radius: 24px; border: 1px solid rgba(15,23,42,.08); padding: 24px 26px; box-shadow: 0 22px 44px rgba(15,23,42,.08); display: flex; flex-direction: column; gap: 16px; }
.privacy-toc-card h2,
.terms-toc-card h2 { margin: 0; font-size: 16px; letter-spacing: .12em; text-transform: uppercase; color: rgba(17,24,39,.6); font-weight: 800; }
.privacy-toc-card ul,
.terms-toc-card ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 14px; }
.privacy-toc-card a,
.terms-toc-card a { font-weight: 600; color: rgba(17,24,39,.72); text-decoration: none; }
.privacy-toc-card a:hover,
.terms-toc-card a:hover { color: #2563eb; }
.privacy-article,
.terms-article { display: flex; flex-direction: column; gap: clamp(48px, 8vw, 64px); }
.privacy-article section h2,
.terms-article section h2 { margin: 0 0 16px; font-size: clamp(26px, 4vw, 34px); color: #0f172a; letter-spacing: -.005em; }
.privacy-article section p,
.terms-article section p { margin: 0 0 16px; color: rgba(17,24,39,.72); line-height: 1.75; font-size: 16px; }
.privacy-list,
.terms-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 18px; }
.privacy-item,
.terms-item { display: flex; flex-direction: column; gap: 8px; padding: 18px 0; border-bottom: 1px solid rgba(17,24,39,.08); }
.privacy-item:last-child,
.terms-item:last-child { border-bottom: none; padding-bottom: 0; }
.privacy-item h3,
.terms-item h3 { margin: 0; font-size: 18px; font-weight: 700; color: #111827; }
.privacy-item p,
.terms-item p { margin: 0; color: rgba(17,24,39,.7); }
.privacy-bullets,
.terms-bullets { margin: 0; padding: 0 0 0 20px; display: flex; flex-direction: column; gap: 10px; color: rgba(17,24,39,.74); line-height: 1.7; }
.privacy-note,
.terms-note { margin-top: 18px; border-left: 4px solid #2563eb; padding: 12px 18px; background: rgba(37,99,235,.08); border-radius: 10px; color: rgba(17,24,39,.78); font-size: 15px; }
.privacy-contact,
.terms-contact { display: grid; gap: 6px; margin-top: 16px; font-style: normal; color: rgba(17,24,39,.8); }
.privacy-contact span,
.terms-contact span { font-size: 15px; }
@media (max-width: 980px) {
  .privacy-content,
  .terms-content { grid-template-columns: minmax(0, 1fr); }
  .privacy-toc,
  .terms-toc { position: static; }
  .privacy-toc-card,
  .terms-toc-card { box-shadow: none; }
  .privacy-article section,
  .terms-article section { padding-top: 12px; border-top: 1px solid rgba(17,24,39,.06); }
}
@media (max-width: 640px) {
  .privacy-hero,
  .terms-hero { padding: 56px 0 40px; }
  .privacy-hero-content p,
  .terms-hero-content p { font-size: 17px; }
  .privacy-article,
  .terms-article { gap: 48px; }
  .privacy-item,
  .terms-item { padding: 14px 0; }
}

.sitemap-page { background: #ffffff; color: #111827; }
.sitemap-hero { position: relative; padding: clamp(68px, 9vw, 110px) 0 clamp(36px, 6vw, 56px); border-bottom: 1px solid rgba(17,24,39,.08); background: linear-gradient(180deg, rgba(255,201,40,.12) 0%, rgba(255,255,255,0) 30%), #ffffff; }
.sitemap-hero-inner { display: flex; flex-direction: column; gap: clamp(24px, 4vw, 32px); }
.sitemap-crumbs nav ol { list-style: none; display: flex; gap: 10px; align-items: center; padding: 0; margin: 0; font-size: 14px; color: rgba(55,65,81,.7); }
.sitemap-crumbs nav li { display: inline-flex; gap: 10px; align-items: center; }
.sitemap-crumbs nav li + li::before { content: "⟶"; font-size: 16px; color: rgba(17,24,39,.4); }
.sitemap-crumbs a { color: rgba(37,99,235,.9); font-weight: 600; }
.sitemap-hero-content { max-width: 720px; display: flex; flex-direction: column; gap: clamp(16px, 3vw, 22px); }
.sitemap-hero h1 { margin: 0; font-size: clamp(42px, 6vw, 58px); line-height: 1.05; letter-spacing: -.01em; display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.sitemap-hero h1 mark { background: #ffca28; color: #0f172a; padding: 0 12px; border-radius: 6px; font-weight: 800; }
.sitemap-hero h1 span { font-weight: 800; }
.sitemap-hero p { margin: 0; font-size: 18px; line-height: 1.7; color: rgba(55,65,81,.85); }

.sitemap-body { padding: clamp(60px, 10vw, 96px) 0 clamp(72px, 12vw, 120px); }
.sitemap-body-inner { display: flex; flex-direction: column; gap: clamp(48px, 8vw, 72px); }
.sitemap-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: clamp(32px, 5vw, 48px); }
.sitemap-section { display: flex; flex-direction: column; gap: 14px; }
.sitemap-section h2 { margin: 0; font-size: 18px; letter-spacing: .12em; text-transform: uppercase; color: #f97316; font-weight: 700; }
.sitemap-section ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.sitemap-section li { font-size: 15px; line-height: 1.6; color: rgba(17,24,39,.78); }
.sitemap-section a { color: inherit; font-weight: 500; position: relative; display: inline-flex; align-items: center; gap: 6px; }
.sitemap-section a::after { content: ""; width: 6px; height: 6px; background: rgba(249,115,22,.45); border-radius: 50%; transform: scale(0); transition: transform .2s ease; }
.sitemap-section a:hover::after { transform: scale(1); }
.sitemap-sublist { padding: 6px 0 0 18px; display: flex; flex-direction: column; gap: 6px; border-left: 1px solid rgba(17,24,39,.08); margin-top: 6px; }
.sitemap-sublist li { font-size: 14px; color: rgba(17,24,39,.66); }
.sitemap-sublist a { font-weight: 400; }

@media (max-width: 900px) {
  .sitemap-grid { gap: 32px; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
}

@media (max-width: 640px) {
  .sitemap-hero { padding: 56px 0 32px; }
  .sitemap-grid { grid-template-columns: 1fr; }
  .sitemap-section h2 { font-size: 16px; }
}

/* Contact page */
.contact-hero { position: relative; padding: clamp(72px, 12vw, 120px) 0 clamp(48px, 8vw, 72px); background: radial-gradient(140% 140% at 20% 10%, rgba(70,105,255,.32), rgba(6,12,30,.95)); overflow: hidden; }
.contact-hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(100% 100% at 80% 20%, rgba(11,204,255,.28), transparent 60%); pointer-events: none; }
.contact-hero .container { position: relative; z-index: 1; }
.contact-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); gap: clamp(28px, 6vw, 48px); align-items: stretch; }
.contact-hero-copy { color: #f3f4ff; display: flex; flex-direction: column; gap: clamp(18px, 4vw, 26px); }
.contact-hero-eyebrow { margin: 0; font-size: 14px; letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.6); font-weight: 700; }
.contact-hero h1 { margin: 0; font-size: clamp(40px, 5.5vw, 60px); line-height: 1.05; letter-spacing: -.01em; }
.contact-hero-desc { margin: 0; font-size: 18px; line-height: 1.7; color: rgba(229,233,255,.82); max-width: 640px; }
.contact-hero-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: clamp(16px, 3vw, 20px); }
.contact-hero-benefit { padding: 18px 20px; border-radius: 18px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); box-shadow: inset 0 0 0 1px rgba(255,255,255,.05); color: rgba(233,236,255,.85); display: flex; flex-direction: column; gap: 8px; }
.contact-hero-benefit h3 { margin: 0; font-size: 16px; color: #fff; }
.contact-hero-benefit p { margin: 0; font-size: 14px; line-height: 1.6; color: rgba(229,233,255,.75); }
.contact-form-panel { display: flex; justify-content: flex-end; }
.contact-form-card { width: 100%; max-width: 520px; background: rgba(255,255,255,.98); border-radius: 28px; padding: clamp(24px, 4vw, 32px); box-shadow: 0 40px 70px rgba(10,15,30,.28); border: 1px solid rgba(12,18,36,.08); color: #111827; backdrop-filter: blur(18px); }
.contact-form-alert { margin-bottom: 16px; padding: 12px 16px; border-radius: 12px; background: rgba(34,197,94,.12); color: #0f5132; border: 1px solid rgba(34,197,94,.35); font-weight: 600; font-size: 14px; }
.contact-form-alert.is-error { background: rgba(248,113,113,.15); border-color: rgba(248,113,113,.4); color: #991b1b; }
.contact-form { display: grid; gap: clamp(14px, 3vw, 18px); }
.contact-input { width: 100%; border: none; border-bottom: 1px solid rgba(17,24,39,.14); padding: 0 0 12px; font-size: 15px; font-family: inherit; background: transparent; color: #0f172a; transition: border-color .2s ease, box-shadow .2s ease; }
.contact-input::placeholder { color: rgba(17,24,39,.45); }
.contact-input:focus { outline: none; border-color: rgba(37,99,235,.75); box-shadow: 0 2px 0 rgba(37,99,235,.45); }
.contact-input[type="file"] { border: 1px dashed rgba(17,24,39,.18); border-radius: 14px; padding: 14px 16px; background: rgba(17,24,39,.02); cursor: pointer; }
.contact-input[type="file"]::-webkit-file-upload-button { padding: 6px 14px; border-radius: 10px; border: none; background: rgba(37,99,235,.12); color: #1d4ed8; font-weight: 600; cursor: pointer; margin-right: 12px; }
.contact-input--select { position: relative; }
.contact-input--select select { width: 100%; appearance: none; -webkit-appearance: none; border: none; border-bottom: 1px solid rgba(17,24,39,.14); padding: 0 0 12px; font-size: 15px; background: transparent; color: rgba(17,24,39,.45); }
.contact-input--select select:not(:invalid) { color: #0f172a; }
.contact-select-icon { position: absolute; right: 0; top: 50%; transform: translateY(-50%); font-size: 16px; color: rgba(17,24,39,.4); pointer-events: none; }
.contact-input--textarea { border: 1px solid rgba(17,24,39,.12); border-radius: 16px; padding: 14px 16px; min-height: 120px; resize: vertical; background: rgba(17,24,39,.02); }
.contact-input--textarea:focus { box-shadow: 0 0 0 3px rgba(37,99,235,.18); border-color: rgba(37,99,235,.75); }
.contact-form-assurances { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-direction: column; gap: 6px; font-size: 13px; color: rgba(17,24,39,.6); }
.contact-form-assurances li { display: flex; align-items: center; gap: 8px; }
.contact-form-assurances li::before { content: "✔"; font-size: 12px; color: #2563eb; }
.ai-contact-checkboxes { display: grid; gap: 10px; font-size: 13px; color: rgba(17,24,39,.7); }
.ai-contact-checkbox { display: inline-flex; align-items: center; gap: 10px; }
.ai-contact-checkbox input { width: 18px; height: 18px; border-radius: 6px; border: 1px solid rgba(17,24,39,.24); background: rgba(17,24,39,.04); appearance: none; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.ai-contact-checkbox input:checked { background: linear-gradient(135deg, #2563eb, #1d4ed8); border-color: transparent; color: #fff; }
.ai-contact-checkbox input:checked::after { content: "✓"; font-size: 12px; }
.contact-form-security { display: flex; align-items: center; gap: 12px; font-weight: 600; color: rgba(17,24,39,.72); }
.contact-form-security span { white-space: nowrap; }
.contact-form-submit { border: none; border-radius: 999px; padding: 14px 28px; font-size: 16px; font-weight: 700; background: linear-gradient(135deg, #2563eb, #1d4ed8); color: #fff; cursor: pointer; box-shadow: 0 24px 40px rgba(37,99,235,.24); transition: transform .2s ease, box-shadow .2s ease, filter .2s ease; }
.contact-form-submit:hover { transform: translateY(-2px); box-shadow: 0 30px 50px rgba(29,78,216,.28); filter: brightness(1.04); }
.contact-form-submit:active { transform: translateY(0); box-shadow: 0 16px 28px rgba(29,78,216,.24); }
.contact-global { background: linear-gradient(180deg, #04070c 0%, #060812 100%); color: #f4f5ff; padding: clamp(64px, 12vw, 120px) 0; border-top: 1px solid rgba(255,255,255,.06); }
.contact-global-inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 420px); gap: clamp(24px, 6vw, 48px); align-items: center; }
.contact-global-copy h2 { margin: 0 0 16px; font-size: clamp(32px, 4.8vw, 46px); letter-spacing: -.01em; }
.contact-global-copy p { margin: 0; font-size: 17px; color: rgba(222,229,255,.78); line-height: 1.8; }
.contact-global-visual { position: relative; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 30% 30%, rgba(76,106,255,.65), rgba(7,12,30,.95)); box-shadow: 0 40px 70px rgba(0,0,0,.5), inset 0 0 120px rgba(26,232,252,.25); overflow: hidden; }
.contact-global-globe { position: absolute; inset: 12%; border-radius: 50%; background: radial-gradient(circle, rgba(14,210,255,.18), rgba(4,8,20,.95)); box-shadow: inset 0 0 80px rgba(98,161,255,.25); }
.contact-faq { background: #06070c; color: #f5f6ff; padding: clamp(72px, 12vw, 120px) 0; border-top: 1px solid rgba(255,255,255,.05); }
.contact-faq-inner { display: flex; flex-direction: column; gap: clamp(28px, 6vw, 40px); }
.contact-faq h2 { margin: 0; font-size: clamp(34px, 4.8vw, 50px); letter-spacing: -.01em; }
.contact-faq-accordion { display: flex; flex-direction: column; gap: 16px; }
.contact-faq-accordion details { background: rgba(10,12,20,.85); border: 1px solid rgba(255,255,255,.08); border-radius: 18px; padding: 18px 22px; transition: border-color .2s ease, background .2s ease; }
.contact-faq-accordion details[open] { border-color: rgba(76,106,255,.6); background: rgba(15,20,36,.92); }
.contact-faq-accordion summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 18px; font-weight: 700; font-size: 18px; }
.contact-faq-accordion summary::-webkit-details-marker { display: none; }
.contact-faq-answer { margin-top: 14px; display: grid; gap: 12px; font-size: 15px; color: rgba(222,229,255,.78); line-height: 1.7; }
.contact-locations { background: #050608; color: #f3f4ff; padding: clamp(64px, 10vw, 110px) 0; border-top: 1px solid rgba(255,255,255,.05); }
.contact-locations-inner h2 { margin: 0 0 clamp(24px, 4vw, 32px); font-size: clamp(32px, 4.6vw, 44px); letter-spacing: -.005em; }
.contact-locations-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: clamp(18px, 3vw, 24px); }
.contact-location-card { background: rgba(12,14,24,.92); border-radius: 20px; border: 1px solid rgba(255,255,255,.08); overflow: hidden; display: flex; flex-direction: column; min-height: 260px; box-shadow: 0 24px 48px rgba(0,0,0,.35); }
.contact-location-media { aspect-ratio: 4 / 3; background: rgba(255,255,255,.04); }
.contact-location-media img { width: 100%; height: 100%; object-fit: cover; display: block; filter: grayscale(100%); }
.contact-location-copy { display: flex; flex-direction: column; gap: 10px; padding: 20px; font-size: 14px; }
.contact-location-copy h3 { margin: 0; font-size: 18px; color: #fff; }
.contact-location-copy p { margin: 0; color: rgba(224,228,255,.72); line-height: 1.6; }
.contact-location-copy a { color: #4f8bff; font-weight: 600; }
@media (max-width: 1024px) {
  .contact-hero-grid { grid-template-columns: 1fr; }
  .contact-form-panel { justify-content: flex-start; }
  .contact-hero-benefits { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
  .contact-global-inner { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
  .contact-form-card { border-radius: 20px; }
}

/* Case study */
.case-study { display: block; background: var(--color-bg); color: var(--color-text-light); }
.case-study section { position: relative; }

.case-study-hero { position: relative; padding: clamp(140px, 18vw, 220px) 0 clamp(120px, 16vw, 180px); overflow: hidden; color: var(--color-accent-contrast); }
.case-study-hero::before { content: ""; position: absolute; inset: 0; background-image: var(--case-hero-image); background-size: cover; background-position: center; filter: brightness(.45); transform: scale(1.02); }
.case-study-hero__overlay { position: absolute; inset: 0; background: linear-gradient(140deg, rgba(6,10,18,.92) 0%, rgba(6,10,18,.72) 52%, rgba(6,10,18,.88) 100%); z-index: 1; }
.case-study-hero__content { position: relative; z-index: 2; max-width: 760px; display: flex; flex-direction: column; gap: 20px; }
.case-study-hero__eyebrow { margin: 0; letter-spacing: .18em; text-transform: uppercase; font-weight: 700; font-size: 14px; color: rgba(255,255,255,.72); }
.case-study-hero h1 { margin: 0; font-size: clamp(38px, 5.2vw, 62px); line-height: 1.1; letter-spacing: -0.02em; }
.case-study-hero__subtitle { margin: 0; font-size: clamp(18px, 2.6vw, 22px); color: rgba(255,255,255,.78); max-width: 520px; }
.case-study-hero__cta { align-self: flex-start; display: inline-flex; align-items: center; gap: 10px; margin-top: 12px; }
.case-study-hero__cta span { font-size: 20px; transform: translateY(-1px); }

.case-study-about { padding: clamp(72px, 9vw, 108px) 0; border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); }
.case-study-about .container { display: flex; flex-direction: column; gap: 48px; }
.case-study-about__content { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: clamp(32px, 6vw, 80px); align-items: start; }
.case-study-about__intro h2 { margin: 0 0 24px 0; font-size: clamp(28px, 4vw, 40px); color: var(--color-text); letter-spacing: -0.01em; }
.case-study-about__intro p { margin: 0; font-size: 18px; line-height: 1.8; color: var(--color-text-light); }
.case-study-about__facts { margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 18px 24px; color: var(--color-muted); }
.case-study-about__facts div { display: flex; flex-direction: column; gap: 6px; }
.case-study-about__facts dt { font-weight: 700; text-transform: uppercase; letter-spacing: .12em; font-size: 12px; color: rgba(233,238,249,.7); }
.case-study-about__facts dd { margin: 0; color: var(--color-text-light); font-size: 16px; font-weight: 500; }
.case-study-about__facts a { color: var(--color-accent); }
.case-study-about__gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 18px; }

.case-study-media { position: relative; border-radius: 24px; overflow: hidden; min-height: 280px; background: radial-gradient(circle at top left, rgba(59,77,148,.45), transparent 60%), rgba(20,24,32,.9); border: 1px solid rgba(233,238,249,.08); }
.case-study-media::before { content: ""; position: absolute; inset: 0; background-image: var(--media-image); background-size: cover; background-position: center; opacity: .72; transition: opacity .3s ease, transform .3s ease; }
.case-study-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(160deg, rgba(11,14,22,.85) 0%, rgba(11,14,22,.45) 55%, rgba(47,112,255,.25) 100%); opacity: .35; transition: opacity .3s ease; }
.case-study-media:hover::before { opacity: .88; transform: scale(1.03); }
.case-study-media:hover::after { opacity: .15; }
.case-study-media.is-wide { min-height: 360px; border-radius: 28px; }

.case-study-insight { padding: clamp(80px, 9vw, 120px) 0 0 0; }
.case-study-insight__content { display: grid; grid-template-columns: minmax(0, 460px) minmax(0, 1fr); gap: clamp(32px, 6vw, 80px); align-items: start; }
.case-study-insight h2 { margin: 0; font-size: clamp(32px, 4.4vw, 48px); letter-spacing: -0.02em; color: var(--color-text); }
.case-study-insight__copy p { margin: 0 0 20px 0; color: var(--color-text-light); font-size: 18px; line-height: 1.8; }
.case-study-insight__copy p:last-child { margin-bottom: 0; }
.case-study-insight__media { margin-top: clamp(40px, 6vw, 72px); }

.case-study-services { padding: clamp(96px, 11vw, 140px) 0 clamp(72px, 9vw, 108px) 0; border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); background: radial-gradient(520px 320px at 80% 0%, rgba(var(--color-accent-rgb), .14), transparent), var(--color-bg); }
.case-study-services__head h2 { margin: 0 0 40px 0; font-size: clamp(30px, 4.2vw, 46px); color: var(--color-text); text-align: center; }
.case-study-services__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px; }
.case-study-services__card { position: relative; border: 1px solid rgba(233,238,249,.08); border-radius: 22px; padding: 32px 28px; background: rgba(21,22,23,.82); box-shadow: 0 20px 40px rgba(0,0,0,.25); display: flex; flex-direction: column; gap: 18px; }
.case-study-services__card h3 { margin: 0; font-size: 20px; color: var(--color-text); letter-spacing: -0.01em; }
.case-study-services__card ul { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 10px; }
.case-study-services__card li { color: var(--color-text-light); }
.case-study-step { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: rgba(var(--color-accent-rgb), .18); color: var(--color-accent); font-weight: 700; font-size: 18px; letter-spacing: .04em; }

.case-study-quote { padding: clamp(60px, 8vw, 96px) 0; }
.case-study-quote blockquote { margin: 0; padding: clamp(36px, 5vw, 60px); border-radius: 28px; border: 1px solid rgba(233,238,249,.12); background: linear-gradient(135deg, rgba(29, 34, 48, .85), rgba(18, 20, 30, .92)); box-shadow: 0 28px 60px rgba(0,0,0,.32); text-align: center; display: flex; flex-direction: column; gap: 24px; }
.case-study-quote p { margin: 0; font-size: clamp(18px, 2.6vw, 22px); line-height: 1.8; color: var(--color-text-light); }
.case-study-quote footer { font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: rgba(233,238,249,.7); font-size: 12px; }

.case-study-challenges { padding: clamp(96px, 10vw, 140px) 0; border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); }
.case-study-challenges__head h2 { margin: 0 0 clamp(40px, 6vw, 64px) 0; font-size: clamp(32px, 4.2vw, 46px); color: var(--color-text); text-align: center; }
.case-study-challenges__list { display: flex; flex-direction: column; gap: clamp(48px, 8vw, 80px); }
.case-study-challenge { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 420px); gap: clamp(32px, 6vw, 80px); align-items: center; }
.case-study-challenge:nth-child(even) { grid-template-columns: minmax(0, 420px) minmax(0, 1fr); }
.case-study-challenge:nth-child(even) .case-study-challenge__copy { order: 2; }
.case-study-challenge:nth-child(even) .case-study-challenge__media { order: 1; }
.case-study-challenge__copy { display: flex; flex-direction: column; gap: 18px; }
.case-study-challenge__copy h3 { margin: 0; font-size: clamp(24px, 3.6vw, 34px); color: var(--color-text); letter-spacing: -0.01em; }
.case-study-challenge__copy p { margin: 0; font-size: 18px; line-height: 1.8; color: var(--color-text-light); }
.case-study-challenge__media { min-height: 340px; }

.case-study-process { padding: clamp(96px, 11vw, 140px) 0; background: radial-gradient(520px 360px at 0% 0%, rgba(var(--color-accent-rgb), .18), transparent), var(--color-bg); border-bottom: 1px solid var(--color-border); }
.case-study-process__head { display: flex; flex-direction: column; gap: 16px; margin-bottom: clamp(40px, 6vw, 64px); max-width: 820px; }
.case-study-process__head h2 { margin: 0; font-size: clamp(32px, 4.4vw, 48px); color: var(--color-text); letter-spacing: -0.01em; }
.case-study-process__sub { margin: 0; font-size: 18px; color: rgba(233,238,249,.75); }
.case-study-process__body { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 420px); gap: clamp(36px, 6vw, 80px); align-items: start; }
.case-study-process__copy p { margin: 0 0 22px 0; color: var(--color-text-light); font-size: 18px; line-height: 1.8; }
.case-study-process__copy p:last-child { margin-bottom: 0; }
.case-study-process__gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 16px; }
.case-study-process__gallery .case-study-media { min-height: 260px; }

.case-study-results { padding: clamp(96px, 11vw, 140px) 0; border-bottom: 1px solid var(--color-border); }
.case-study-results__head h2 { margin: 0 0 clamp(40px, 6vw, 64px) 0; text-align: center; font-size: clamp(32px, 4.2vw, 46px); color: var(--color-text); }
.case-study-results__grid { display: grid; grid-template-columns: minmax(0, 360px) minmax(0, 1fr); gap: clamp(32px, 6vw, 80px); align-items: center; }
.case-study-results__metrics { display: grid; gap: 20px; }
.case-study-metric { padding: 28px; border-radius: 20px; border: 1px solid rgba(233,238,249,.1); background: rgba(18,19,22,.82); box-shadow: 0 20px 40px rgba(0,0,0,.24); display: flex; flex-direction: column; gap: 8px; }
.case-study-metric strong { font-size: clamp(34px, 5vw, 56px); color: var(--color-accent); letter-spacing: -0.02em; }
.case-study-metric span { font-size: 16px; color: rgba(233,238,249,.72); }
.case-study-results__media { min-height: 320px; }

.case-study-more { padding: clamp(96px, 11vw, 140px) 0; background: radial-gradient(540px 360px at 100% 0%, rgba(var(--color-accent-rgb), .16), transparent), var(--color-bg); border-bottom: 1px solid var(--color-border); }
.case-study-more__head h2 { margin: 0 0 clamp(40px, 6vw, 60px) 0; font-size: clamp(30px, 4vw, 44px); color: var(--color-text); }
.case-study-more__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; }
.case-study-more__card { border: 1px solid rgba(233,238,249,.08); border-radius: 24px; overflow: hidden; background: rgba(18,20,26,.88); box-shadow: 0 24px 46px rgba(0,0,0,.26); transition: transform .3s ease, box-shadow .3s ease; }
.case-study-more__card:hover { transform: translateY(-6px); box-shadow: 0 32px 60px rgba(0,0,0,.32); }
.case-study-more__card a { display: flex; flex-direction: column; height: 100%; color: inherit; }
.case-study-more__card .case-study-media { min-height: 220px; border-radius: 0; }
.case-study-more__info { padding: 24px 26px 28px 26px; display: flex; flex-direction: column; gap: 12px; }
.case-study-more__info h3 { margin: 0; font-size: 20px; color: var(--color-text); }
.case-study-more__info p { margin: 0; color: var(--color-text-light); font-size: 16px; line-height: 1.6; }

.case-study-cta { position: relative; padding: clamp(96px, 10vw, 140px) 0; overflow: hidden; }
.case-study-cta::before { content: ""; position: absolute; inset: 0; background-image: var(--case-cta-image); background-size: cover; background-position: center; filter: brightness(.35); }
.case-study-cta__overlay { position: absolute; inset: 0; background: linear-gradient(135deg, rgba(10,14,24,.9) 0%, rgba(10,14,24,.76) 52%, rgba(47,112,255,.32) 100%); z-index: 1; }
.case-study-cta__content { position: relative; z-index: 2; max-width: 720px; margin: 0 auto; text-align: center; display: flex; flex-direction: column; gap: 20px; color: var(--color-accent-contrast); }
.case-study-cta__content h2 { margin: 0; font-size: clamp(32px, 4.4vw, 48px); letter-spacing: -0.01em; }
.case-study-cta__content p { margin: 0; font-size: 18px; line-height: 1.7; color: rgba(255,255,255,.78); }
.case-study-cta__content .btn-primary { align-self: center; margin-top: 8px; }

@media (max-width: 1024px) {
  .case-study-about__content,
  .case-study-insight__content,
  .case-study-challenge,
  .case-study-process__body,
  .case-study-results__grid { grid-template-columns: 1fr; }
  .case-study-challenge:nth-child(even) .case-study-challenge__copy,
  .case-study-challenge:nth-child(even) .case-study-challenge__media { order: initial; }
  .case-study-results__metrics { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
}

@media (max-width: 768px) {
  .case-study-hero { padding: 120px 0 120px 0; }
  .case-study-about .container { gap: 32px; }
  .case-study-about__facts { grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); }
  .case-study-services__card { padding: 26px 24px; }
  .case-study-quote blockquote { padding: 28px 24px; border-radius: 22px; }
  .case-study-challenges__list { gap: 48px; }
  .case-study-process__gallery { grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); }
  .case-study-results__grid { gap: 32px; }
  .case-study-more__grid { grid-template-columns: 1fr; }
}

@media (max-width: 540px) {
  .case-study-hero h1 { font-size: clamp(32px, 10vw, 42px); }
  .case-study-hero__subtitle { font-size: 16px; }
  .case-study-step { width: 40px; height: 40px; font-size: 16px; }
  .case-study-services__grid { grid-template-columns: 1fr; }
  .case-study-media { min-height: 220px; }
}


/* Generic texture hero (reusable) */
.hero-texture {
  position: relative;
  padding: clamp(72px, 14vw, 120px) 0 clamp(36px, 8vw, 64px) 0;
  color: var(--color-text);
  background-color: var(--color-bg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
  background-attachment: fixed;
}
.hero-texture.is-local { background-attachment: scroll; }
.hero-texture-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(24px, 5vw, 48px); align-items: center; }
.hero-texture-left { display: flex; flex-direction: column; gap: 16px; }
.hero-texture-left h1 { margin: 0; font-size: clamp(34px, 5vw, 56px); letter-spacing: -0.02em; }
.hero-texture-lead { margin: 0; font-size: 18px; line-height: 1.7; color: var(--color-text-light); }
.hero-texture-right { justify-self: end; }
.hero-texture-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(16px, 3vw, 24px); }
.hero-texture-metric { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: 18px; padding: 18px; text-align: center; }
.hero-texture-stat { font-size: clamp(26px, 4.6vw, 40px); font-weight: 800; letter-spacing: -0.02em; color: var(--color-text); }
.hero-texture-label { font-size: 14px; color: var(--color-text-light); }
@media (max-width: 960px){ .hero-texture-grid { grid-template-columns: 1fr; } .hero-texture-right { justify-self: start; } }

/* Healthcare industry hero */
.hero-healthcare {
  position: relative;
  isolation: isolate;
  padding: clamp(96px, 15vw, 160px) 0 clamp(80px, 12vw, 132px);
  color: var(--color-text-dark);
  background-color: #f6efd9;
  background-image: var(--hero-healthcare-texture, linear-gradient(180deg, rgba(252,247,236,0.96) 2%, rgba(244,229,196,0.92) 98%));
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  background-attachment: fixed;
  overflow: hidden;
}
.hero-healthcare::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255,255,255,0.25) 0%, rgba(255,255,255,0) 100%);
  pointer-events: none;
  z-index: -1;
}
.hero-healthcare .container { position: relative; z-index: 1; }
.hero-healthcare-frame {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(32px, 6vw, 88px);
  padding: clamp(48px, 7vw, 80px) clamp(32px, 6vw, 72px);
  border-top: 1px solid rgba(17, 17, 17, 0.16);
  border-bottom: 1px solid rgba(17, 17, 17, 0.16);
  background-color: rgba(255, 255, 255, 0.65);
  backdrop-filter: blur(2px);
}
.hero-healthcare-frame::before,
.hero-healthcare-frame::after,
.hero-healthcare-main::before,
.hero-healthcare-main::after,
.hero-healthcare-metrics::before,
.hero-healthcare-metrics::after {
  content: "";
  position: absolute;
  background: rgba(17, 17, 17, 0.12);
  pointer-events: none;
}
.hero-healthcare-frame::before,
.hero-healthcare-frame::after {
  top: clamp(12px, 4vw, 36px);
  bottom: clamp(12px, 4vw, 36px);
  width: 1px;
}
.hero-healthcare-frame::before { left: clamp(24px, 6vw, 64px); }
.hero-healthcare-frame::after { right: clamp(24px, 6vw, 64px); opacity: 0.6; }
.hero-healthcare-main::before {
  left: 0;
  right: 0;
  top: -24px;
  height: 1px;
}
.hero-healthcare-main::after {
  left: 0;
  right: calc(-1 * clamp(32px, 5vw, 48px));
  bottom: -32px;
  height: 1px;
}

.hero-healthcare-main::before,
.hero-healthcare-main::after {
  opacity: 0.4;
}
.hero-healthcare-metrics {
  position: relative;
  align-self: center;
}
.hero-healthcare-metrics::before,
.hero-healthcare-metrics::after {
  top: -32px;
  bottom: -32px;
  width: 1px;
  opacity: 0.4;
}
.hero-healthcare-metrics::before { left: -24px; }
.hero-healthcare-metrics::after { right: -24px; }
.hero-healthcare-main {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: clamp(18px, 3vw, 32px);
}
.hero-healthcare-main h1 {
  margin: 0;
  font-size: clamp(36px, 5.4vw, 62px);
  line-height: 1.05;
  letter-spacing: -0.015em;
  color: #111111;
}
.hero-healthcare-lead {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 18px;
  font-size: 18px;
  line-height: 1.7;
  color: rgba(17, 17, 17, 0.68);
  margin: 0;
}
.hero-healthcare-lead-bar {
  display: block;
  width: 2px;
  background: rgba(17, 17, 17, 0.26);
}
.hero-healthcare-lead p {
  margin: 0;
}
.hero-healthcare-metrics-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(18px, 4vw, 36px) clamp(24px, 5vw, 52px);
}
.hero-healthcare-metric {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-bottom: clamp(12px, 3vw, 24px);
}
.hero-healthcare-metric::after {
  content: "";
  position: absolute;
  right: -clamp(12px, 3vw, 24px);
  top: 8px;
  bottom: 8px;
  width: 1px;
  background: rgba(17, 17, 17, 0.16);
  opacity: 0.6;
}
.hero-healthcare-metric:nth-child(2n)::after { opacity: 0; }
.hero-healthcare-metric:nth-child(-n + 2) {
  border-bottom: 1px solid rgba(17, 17, 17, 0.12);
  padding-bottom: clamp(20px, 4vw, 36px);
}
.hero-healthcare-metric:nth-child(n + 3) { padding-top: clamp(20px, 4vw, 36px); }
.hero-healthcare-stat {
  font-size: clamp(28px, 4.4vw, 46px);
  font-weight: 800;
  letter-spacing: -0.015em;
  color: #111111;
}
.hero-healthcare-label {
  font-size: 16px;
  line-height: 1.6;
  color: rgba(17, 17, 17, 0.58);
}
@media (max-width: 1040px) {
  .hero-healthcare-frame {
    grid-template-columns: 1fr;
    gap: clamp(40px, 10vw, 64px);
  }
  .hero-healthcare-frame::before,
  .hero-healthcare-frame::after,
  .hero-healthcare-metrics::before,
  .hero-healthcare-metrics::after {
    display: none;
  }
  .hero-healthcare-metric::after {
    display: none;
  }
  .hero-healthcare-metric:nth-child(-n + 2) {
    border-bottom: 1px solid rgba(17, 17, 17, 0.12);
  }
}
@media (max-width: 640px) {
  .hero-healthcare {
    padding: clamp(72px, 18vw, 104px) 0 clamp(56px, 16vw, 88px);
    background-attachment: scroll;
  }
  .hero-healthcare-frame {
    padding: clamp(32px, 10vw, 44px) clamp(20px, 8vw, 32px);
  }
  .hero-healthcare-lead {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .hero-healthcare-lead-bar {
    width: 36px;
    height: 2px;
  }
  .hero-healthcare-metrics-grid {
    grid-template-columns: 1fr;
    gap: clamp(18px, 8vw, 28px);
  }
  .hero-healthcare-metric {
    border-bottom: 1px solid rgba(17, 17, 17, 0.12);
    padding-top: 0;
    padding-bottom: clamp(18px, 7vw, 28px);
  }
  .hero-healthcare-metric:last-child { border-bottom: none; }
}

/* Healthcare industry sections */
.healthcare-section {
  padding: clamp(88px, 16vw, 140px) 0;
  background: linear-gradient(180deg, rgba(255, 244, 220, 0.18) 0%, rgba(255, 255, 255, 0) 40%), #fdfbf4;
  color: #111111;
}
.healthcare-section + .healthcare-section { border-top: 1px solid rgba(17, 17, 17, 0.07); }
.healthcare-section--dark {
  background: radial-gradient(120% 120% at 50% 0%, rgba(15, 46, 152, 0.25) 0%, rgba(3, 8, 25, 0.9) 65%), #05060f;
  color: #f0f4ff;
}
.healthcare-section--pane { background: linear-gradient(180deg, rgba(255, 199, 92, 0.18) 0%, rgba(255, 255, 255, 0) 70%), #fdf7e6; }
.healthcare-section--compliance { background: #ffffff; }
.healthcare-section-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(32px, 6vw, 64px); align-items: start; }
.healthcare-section-content { display: flex; flex-direction: column; gap: clamp(28px, 6vw, 40px); }
.healthcare-section-head { display: flex; flex-direction: column; gap: clamp(16px, 4vw, 20px); max-width: 760px; }
.healthcare-section-head h2 { margin: 0; font-size: clamp(32px, 5vw, 44px); letter-spacing: -0.015em; }
.healthcare-section-head p { margin: 0; font-size: 18px; line-height: 1.7; color: rgba(17, 17, 17, 0.68); }
.healthcare-section--dark .healthcare-section-head p { color: rgba(240, 244, 255, 0.72); }
.healthcare-section--dark .healthcare-section-head h2 { color: #f8fbff; }
.healthcare-section--pane .healthcare-section-head p { color: rgba(17, 17, 17, 0.7); }
.healthcare-section--compliance .healthcare-section-head p { color: rgba(17,17,17,0.68); }

.healthcare-page { position: relative; }
.healthcare-page-main { position: relative; z-index: 0; }
.healthcare-toc {
  position: fixed;
  top: 50%;
  right: max(16px, calc((100vw - 1360px) / 2 + 8px));
  width: clamp(220px, 18vw, 280px);
  z-index: 30;
  opacity: 0;
  pointer-events: none;
  transform: translateY(calc(-50% + 16px));
  transition: opacity .25s ease, transform .25s ease;
}
.healthcare-toc.is-visible { opacity: 1; pointer-events: auto; transform: translateY(-50%); }
.healthcare-toc-card { position: relative; background: #f6f8fb; border-radius: 24px; border: 1px solid rgba(15, 23, 42, 0.08); padding: 26px 24px; box-shadow: 0 24px 46px rgba(15, 23, 42, 0.08); display: flex; flex-direction: column; gap: 18px; }
.healthcare-toc-card h2 { margin: 0; font-size: 15px; text-transform: uppercase; letter-spacing: 0.14em; color: rgba(15, 23, 42, 0.58); font-weight: 800; }
.healthcare-toc-nav ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 14px; }
.healthcare-toc-nav li { display: flex; }
.healthcare-toc-nav a { display: inline-flex; align-items: center; gap: 12px; font-weight: 600; font-size: 15px; color: rgba(15, 23, 42, 0.72); text-decoration: none; transition: color .2s ease; }
.healthcare-toc-dot { width: 9px; height: 9px; border-radius: 50%; background: rgba(37, 99, 235, 0.25); box-shadow: inset 0 0 0 1px rgba(37, 99, 235, 0.45); transition: background .2s ease, transform .2s ease; }
.healthcare-toc-nav a:hover .healthcare-toc-dot { transform: scale(1.15); background: rgba(37, 99, 235, 0.5); }
.healthcare-toc-nav li.is-active a { color: #1d4ed8; }
.healthcare-toc-nav li.is-active .healthcare-toc-dot { background: #2563eb; box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.15); }
.healthcare-toc-nav li.is-active a::after { content: ""; display: inline-block; margin-left: auto; width: 18px; height: 18px; border-radius: 50%; background: linear-gradient(135deg, #2563eb, #60a5fa); box-shadow: 0 10px 20px rgba(37,99,235,0.35); }
.healthcare-toc-label { display: inline-flex; align-items: center; gap: 6px; }

@media (min-width: 1200px) {
  .healthcare-section .container { padding-right: clamp(260px, 24vw, 320px); }
}

@media (max-width: 1199px) {
  .healthcare-toc {
    position: static;
    width: auto;
    max-width: 420px;
    margin: 0 auto clamp(32px, 8vw, 48px);
    opacity: 1;
    pointer-events: auto;
    transform: none;
  }
  .healthcare-page { padding-right: 0; }
  .healthcare-section .container { padding-right: 32px; }
}

.healthcare-accordion { display: flex; flex-direction: column; gap: clamp(14px, 3vw, 20px); }
.healthcare-accordion-item { background: #ffffff; border-radius: 22px; border: 1px solid rgba(17, 17, 17, 0.08); box-shadow: 0 18px 38px rgba(17, 17, 17, 0.06); overflow: hidden; transition: border-color .2s ease, box-shadow .2s ease; }
.healthcare-accordion-item.is-open { border-color: rgba(37, 99, 235, 0.45); box-shadow: 0 24px 48px rgba(37, 99, 235, 0.12); }
.healthcare-accordion-trigger { width: 100%; border: none; background: transparent; padding: clamp(22px, 5vw, 30px); display: flex; align-items: center; justify-content: space-between; gap: 24px; font-size: 18px; font-weight: 700; color: #111111; cursor: pointer; text-align: left; }
.healthcare-accordion-trigger:focus-visible { outline: 2px solid #2563eb; outline-offset: 6px; }
.healthcare-accordion-icon { width: 24px; height: 24px; position: relative; flex-shrink: 0; }
.healthcare-accordion-icon::before,
.healthcare-accordion-icon::after { content: ""; position: absolute; inset: 50% 0 auto 0; width: 100%; height: 2px; background: #2563eb; border-radius: 999px; transform: translateY(-50%); transition: transform .2s ease; }
.healthcare-accordion-icon::after { transform: translateY(-50%) rotate(90deg); }
.healthcare-accordion-item.is-open .healthcare-accordion-icon::after { transform: translateY(-50%) rotate(180deg); }
.healthcare-accordion-body { padding: 0 clamp(22px, 5vw, 30px) clamp(22px, 5vw, 32px); border-top: 1px solid rgba(17, 17, 17, 0.08); }
.healthcare-accordion-body p { margin: 16px 0 0; font-size: 16px; line-height: 1.7; color: rgba(17, 17, 17, 0.72); }

.healthcare-section--dark .healthcare-section-grid { align-items: stretch; }
.healthcare-solutions-card { position: relative; display: flex; flex-direction: column; gap: clamp(28px, 5vw, 40px); padding: clamp(36px, 7vw, 56px); border-radius: 32px; background: linear-gradient(180deg, rgba(15, 46, 152, 0.45) 0%, rgba(5, 10, 28, 0.85) 100%); border: 1px solid rgba(96, 165, 250, 0.25); box-shadow: 0 40px 80px rgba(2, 6, 23, 0.6); color: #e9f1ff; }
.healthcare-solutions-card::before { content: ""; position: absolute; inset: 0; border-radius: inherit; border-top: 4px solid #2563eb; pointer-events: none; opacity: 0.65; }
.healthcare-solutions-head { display: flex; flex-direction: column; gap: 18px; max-width: 760px; }
.healthcare-solutions-head h2 { margin: 0; font-size: clamp(32px, 4.6vw, 48px); letter-spacing: -0.015em; color: #f8fbff; }
.healthcare-solutions-head p { margin: 0; font-size: 17px; line-height: 1.7; color: rgba(233, 241, 255, 0.74); }
.healthcare-solutions-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(20px, 4vw, 32px); }
.healthcare-solutions-column { background: rgba(8, 15, 34, 0.78); border: 1px solid rgba(96, 165, 250, 0.15); border-radius: 24px; padding: clamp(24px, 4vw, 32px); display: flex; flex-direction: column; gap: 20px; }
.healthcare-solutions-column-head { display: flex; align-items: center; gap: 16px; }
.healthcare-card-icon { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 14px; background: rgba(37, 99, 235, 0.25); border: 1px solid rgba(96, 165, 250, 0.45); backdrop-filter: blur(6px); }
.healthcare-solutions-column-head h3 { margin: 0; font-size: 18px; font-weight: 700; color: #f1f5ff; }
.healthcare-solutions-column ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 12px; }
.healthcare-solutions-column li { display: grid; grid-template-columns: auto 1fr; align-items: start; gap: 12px; font-size: 15px; line-height: 1.6; color: rgba(227, 237, 255, 0.85); }
.healthcare-list-check { width: 18px; height: 18px; border-radius: 50%; background: linear-gradient(135deg, #1d4ed8, #60a5fa); box-shadow: 0 8px 16px rgba(37, 99, 235, 0.35); position: relative; margin-top: 3px; }
.healthcare-list-check::before { content: ""; position: absolute; top: 45%; left: 52%; width: 6px; height: 10px; border: 2px solid #f8fbff; border-top: 0; border-left: 0; transform: translate(-50%, -50%) rotate(45deg); }

.healthcare-why-partner { padding: clamp(88px, 16vw, 140px) 0; background: linear-gradient(180deg, rgba(248, 245, 239, 0.75) 0%, rgba(255, 255, 255, 0.95) 100%); }
.healthcare-why-grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(40px, 8vw, 84px); align-items: center; }
.healthcare-why-media { position: relative; }
.healthcare-why-media-frame { border-radius: 28px; overflow: hidden; box-shadow: 0 40px 80px rgba(15, 23, 42, 0.12); background: linear-gradient(135deg, rgba(37, 99, 235, 0.18), rgba(96, 165, 250, 0.08)); padding: 12px; }
.healthcare-why-media-frame img { width: 100%; height: auto; display: block; border-radius: 20px; object-fit: cover; }
.healthcare-why-content { display: flex; flex-direction: column; gap: clamp(20px, 5vw, 32px); }
.healthcare-why-content h2 { margin: 0; font-size: clamp(32px, 5.4vw, 46px); letter-spacing: -0.015em; }
.healthcare-why-intro { margin: 0; font-size: 18px; line-height: 1.7; color: rgba(17, 24, 39, 0.7); }
.healthcare-why-list { display: grid; gap: clamp(18px, 4vw, 24px); }
.healthcare-why-card { display: grid; grid-template-columns: auto 1fr; gap: 16px; padding: clamp(16px, 4vw, 24px); border-radius: 20px; background: #ffffff; border: 1px solid rgba(17, 24, 39, 0.08); box-shadow: 0 20px 40px rgba(15, 23, 42, 0.08); align-items: start; }
.healthcare-why-card h3 { margin: 0 0 8px 0; font-size: 20px; letter-spacing: -0.01em; }
.healthcare-why-card p { margin: 0; font-size: 16px; line-height: 1.65; color: rgba(17, 24, 39, 0.72); }
.healthcare-why-icon { display: inline-flex; width: 44px; height: 44px; border-radius: 14px; background: rgba(37, 99, 235, 0.12); align-items: center; justify-content: center; }
.healthcare-why-icon img { width: 24px; height: 24px; object-fit: contain; }

.healthcare-technologies { padding: clamp(88px, 16vw, 140px) 0; background: #ffffff; }
.healthcare-tech-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(36px, 7vw, 68px); align-items: start; }
.healthcare-tech-left { display: flex; flex-direction: column; gap: 18px; background: linear-gradient(160deg, rgba(205, 255, 218, 0.35), rgba(96, 165, 250, 0.18)); border-radius: 28px; padding: clamp(28px, 6vw, 48px); box-shadow: inset 0 0 0 1px rgba(37, 99, 235, 0.08); }
.healthcare-tech-left h2 { margin: 0; font-size: clamp(32px, 4.8vw, 44px); letter-spacing: -0.015em; color: #111827; }
.healthcare-tech-left p { margin: 0; font-size: 18px; line-height: 1.7; color: rgba(17, 24, 39, 0.7); }
.healthcare-tech-note { font-size: 15px; font-weight: 600; color: rgba(17, 24, 39, 0.7); background: rgba(255, 255, 255, 0.65); padding: 12px 14px; border-radius: 14px; width: fit-content; box-shadow: 0 12px 30px rgba(15, 23, 42, 0.08); }
.healthcare-tech-right { display: grid; gap: clamp(16px, 4vw, 24px); }
.healthcare-tech-item { display: grid; grid-template-columns: auto 1fr; gap: 18px; padding: clamp(18px, 4vw, 26px); border-radius: 22px; border: 1px solid rgba(17, 24, 39, 0.08); background: #f8faff; box-shadow: 0 18px 36px rgba(15, 23, 42, 0.08); align-items: start; }
.healthcare-tech-icon { width: 42px; height: 42px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; font-size: 22px; background: rgba(37, 99, 235, 0.18); color: #1e3a8a; }
.healthcare-tech-content h3 { margin: 0 0 8px 0; font-size: 18px; letter-spacing: -0.01em; }
.healthcare-tech-content p { margin: 0; font-size: 16px; line-height: 1.65; color: rgba(17, 24, 39, 0.7); }

.healthcare-awards { padding: clamp(88px, 16vw, 140px) 0; background: #f9fbff; }
.healthcare-awards-head { display: flex; flex-direction: column; gap: 16px; align-items: center; text-align: center; margin-bottom: clamp(32px, 6vw, 48px); }
.healthcare-awards-head h2 { margin: 0; font-size: clamp(32px, 4.6vw, 44px); letter-spacing: -0.015em; color: #111827; }
.healthcare-awards-head p { margin: 0; font-size: 17px; max-width: 720px; color: rgba(17, 24, 39, 0.7); }
.healthcare-awards-logos { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: clamp(20px, 5vw, 36px); align-items: center; justify-items: center; margin-bottom: clamp(32px, 6vw, 48px); }
.healthcare-award-logo { display: flex; align-items: center; justify-content: center; width: 100%; padding: clamp(12px, 3vw, 20px); border-radius: 18px; background: #ffffff; box-shadow: 0 16px 30px rgba(15, 23, 42, 0.08); border: 1px solid rgba(17, 24, 39, 0.05); }
.healthcare-award-logo img { max-width: 120px; max-height: 60px; width: auto; height: auto; object-fit: contain; }
.healthcare-awards-highlights { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: clamp(18px, 4vw, 28px); }
.healthcare-award-highlight { display: grid; grid-template-columns: auto 1fr; gap: 14px; padding: clamp(16px, 4vw, 22px); border-radius: 18px; background: #ffffff; border: 1px solid rgba(17, 24, 39, 0.08); box-shadow: 0 16px 32px rgba(15, 23, 42, 0.08); align-items: start; }
.healthcare-award-highlight strong { font-size: 16px; }
.healthcare-award-highlight p { margin: 4px 0 0; font-size: 15px; color: rgba(17, 24, 39, 0.68); line-height: 1.6; }
.healthcare-award-wreath { font-size: 26px; }

.healthcare-tech-stack { padding: clamp(88px, 16vw, 140px) 0; background: linear-gradient(180deg, rgba(255, 245, 230, 0.35) 0%, rgba(255, 255, 255, 0.95) 100%); }
.healthcare-stack-shell { border-radius: 32px; border: 1px solid rgba(17, 24, 39, 0.08); box-shadow: 0 36px 60px rgba(15, 23, 42, 0.08); padding: clamp(32px, 7vw, 60px); background: #ffffff; display: flex; flex-direction: column; gap: clamp(24px, 5vw, 36px); }
.healthcare-stack-head h2 { margin: 0; font-size: clamp(30px, 4.8vw, 42px); letter-spacing: -0.015em; color: #111827; }
.healthcare-stack-head p { margin: 12px 0 0; font-size: 17px; line-height: 1.65; color: rgba(17, 24, 39, 0.7); max-width: 720px; }
.healthcare-stack-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: clamp(18px, 4vw, 28px); }
.healthcare-stack-card { display: flex; flex-direction: column; gap: 12px; align-items: flex-start; padding: clamp(18px, 4vw, 26px); border-radius: 20px; background: linear-gradient(135deg, rgba(37, 99, 235, 0.12), rgba(37, 99, 235, 0.04)); border: 1px solid rgba(37, 99, 235, 0.2); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4); }
.healthcare-stack-icon { display: inline-flex; width: 40px; height: 40px; border-radius: 12px; align-items: center; justify-content: center; font-size: 20px; background: #2563eb; color: #fff; }
.healthcare-stack-label { font-size: 16px; font-weight: 600; color: #111827; line-height: 1.5; }

.healthcare-blogs { padding: clamp(80px, 14vw, 120px) 0; background: #ffffff; }
.healthcare-blogs-head { margin-bottom: clamp(32px, 6vw, 48px); }
.healthcare-blogs-head h2 { margin: 0; font-size: clamp(30px, 4.6vw, 40px); letter-spacing: -0.015em; color: #111827; }
.healthcare-blogs-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: clamp(20px, 5vw, 32px); }
.healthcare-blog-card { display: flex; flex-direction: column; border-radius: 24px; overflow: hidden; border: 1px solid rgba(17, 24, 39, 0.08); box-shadow: 0 20px 36px rgba(15, 23, 42, 0.08); background: #f8f9ff; }
.healthcare-blog-media { aspect-ratio: 1 / 1; overflow: hidden; background: linear-gradient(135deg, rgba(37, 99, 235, 0.2), rgba(96, 165, 250, 0.1)); position: relative; }
.healthcare-blog-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.healthcare-blog-body { display: flex; flex-direction: column; gap: 12px; padding: clamp(18px, 4vw, 24px); }
.healthcare-blog-body h3 { margin: 0; font-size: 18px; line-height: 1.5; color: #111827; }
.healthcare-blog-body p { margin: 0; font-size: 15px; line-height: 1.6; color: rgba(17, 24, 39, 0.7); }
.healthcare-blog-link { font-weight: 600; color: #2563eb; text-decoration: none; }

.healthcare-case-studies { padding: clamp(88px, 16vw, 140px) 0; background: #0d121f; color: #f8f9ff; }
.healthcare-case-head { display: flex; flex-direction: column; gap: 16px; margin-bottom: clamp(32px, 6vw, 48px); text-align: center; }
.healthcare-case-head h2 { margin: 0; font-size: clamp(32px, 4.6vw, 46px); letter-spacing: -0.02em; color: #f8f9ff; }
.healthcare-case-head p { margin: 0; font-size: 17px; line-height: 1.65; color: rgba(231, 233, 255, 0.78); max-width: 760px; align-self: center; }
.healthcare-case-slider { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 18px; }
.healthcare-case-track { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(280px, 1fr); gap: clamp(18px, 4vw, 26px); overflow-x: auto; scroll-snap-type: x mandatory; padding: 6px; }
.healthcare-case-track::-webkit-scrollbar { display: none; }
.healthcare-case-slide { scroll-snap-align: start; display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); gap: clamp(24px, 5vw, 36px); border-radius: 30px; background: linear-gradient(135deg, rgba(93, 118, 255, 0.36), rgba(32, 56, 160, 0.86)); border: 1px solid rgba(96, 165, 250, 0.3); box-shadow: 0 40px 80px rgba(0, 0, 0, 0.35); padding: clamp(24px, 5vw, 40px); min-height: 320px; }
.healthcare-case-slide img { width: 100%; height: 100%; object-fit: cover; border-radius: 24px; }
.healthcare-case-slide h3 { margin: 0 0 12px; font-size: 22px; letter-spacing: -0.01em; color: #f8f9ff; }
.healthcare-case-slide p { margin: 0 0 16px; font-size: 16px; line-height: 1.7; color: rgba(231, 233, 255, 0.82); }
.healthcare-case-stat { font-size: 15px; font-weight: 600; color: #c3d9ff; margin-bottom: 16px; text-transform: uppercase; letter-spacing: 0.12em; }
.healthcare-case-nav { width: 42px; height: 42px; border-radius: 50%; border: none; background: rgba(248, 249, 255, 0.16); color: #f8f9ff; font-size: 20px; cursor: pointer; transition: background .2s ease; }
.healthcare-case-nav:hover { background: rgba(248, 249, 255, 0.28); }
.healthcare-case-cta { margin-top: clamp(28px, 6vw, 40px); text-align: center; }
.healthcare-case-cta .btn { min-width: 240px; }

.healthcare-sectors-shell { display: grid; grid-template-columns: minmax(220px, 260px) minmax(0, 1fr); gap: clamp(24px, 5vw, 48px); background: rgba(255, 255, 255, 0.72); border-radius: 28px; border: 1px solid rgba(17, 17, 17, 0.1); padding: clamp(28px, 5vw, 40px); box-shadow: 0 24px 48px rgba(17, 17, 17, 0.08); position: relative; overflow: hidden; }
.healthcare-sectors-shell::before { content: ""; position: absolute; inset: 0; border-radius: inherit; border-top: 4px solid rgba(255, 152, 0, 0.6); pointer-events: none; }
.healthcare-sectors-list { display: flex; flex-direction: column; gap: 10px; }
.healthcare-sectors-tab { border: none; background: rgba(255, 255, 255, 0.72); border-radius: 16px; padding: 16px 18px; font-size: 16px; font-weight: 600; color: rgba(17, 17, 17, 0.62); text-align: left; cursor: pointer; transition: background .2s ease, color .2s ease, transform .2s ease; box-shadow: inset 0 0 0 1px rgba(17, 17, 17, 0.08); }
.healthcare-sectors-tab:hover,
.healthcare-sectors-tab:focus-visible { color: #111111; box-shadow: inset 0 0 0 2px rgba(255, 152, 0, 0.55); outline: none; }
.healthcare-sectors-tab.is-active { background: linear-gradient(135deg, rgba(255, 152, 0, 0.16), rgba(255, 196, 103, 0.32)); color: #111111; box-shadow: inset 0 0 0 2px rgba(255, 152, 0, 0.5); transform: translateX(6px); }
.healthcare-sectors-panels { position: relative; display: flex; flex-direction: column; }
.healthcare-sectors-panel { display: flex; flex-direction: column; gap: 16px; padding: clamp(12px, 3vw, 24px); background: rgba(255, 244, 218, 0.75); border-radius: 24px; border: 1px solid rgba(255, 152, 0, 0.25); color: #111111; box-shadow: 0 18px 36px rgba(255, 152, 0, 0.18); }
.healthcare-sectors-panel h3 { margin: 0; font-size: 20px; letter-spacing: -0.01em; }
.healthcare-sectors-panel p { margin: 0; font-size: 16px; line-height: 1.7; color: rgba(17, 17, 17, 0.75); }
.healthcare-sectors-panel[hidden] { display: none; }

.healthcare-compliance-grid { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: clamp(18px, 4vw, 32px); }
.healthcare-compliance-item { display: flex; align-items: center; justify-content: center; padding: 22px 18px; border-radius: 18px; border: 1px solid rgba(17, 17, 17, 0.08); background: linear-gradient(180deg, #ffffff 0%, rgba(249, 250, 255, 0.85) 100%); box-shadow: 0 18px 36px rgba(15, 23, 42, 0.08); font-weight: 700; font-size: 15px; text-align: center; color: #111111; min-height: 96px; }

@media (max-width: 1024px) {
  .healthcare-section-grid { grid-template-columns: minmax(0, 1fr); }
  .healthcare-toc { position: static; order: -1; }
  .healthcare-toc-card { box-shadow: 0 16px 32px rgba(15, 23, 42, 0.08); }
  .healthcare-section-content { order: 0; }
  .healthcare-solutions-columns { grid-template-columns: minmax(0, 1fr); }
  .healthcare-sectors-shell { grid-template-columns: minmax(0, 1fr); }
  .healthcare-sectors-tab { transform: none !important; }
  .healthcare-why-grid { grid-template-columns: minmax(0, 1fr); }
  .healthcare-why-media { order: -1; }
  .healthcare-tech-grid { grid-template-columns: minmax(0, 1fr); }
  .healthcare-tech-left { order: -1; }
}

@media (max-width: 680px) {
  .healthcare-section { padding: clamp(64px, 20vw, 88px) 0; }
  .healthcare-section-head h2 { font-size: clamp(28px, 8vw, 36px); }
  .healthcare-section-head p { font-size: 17px; }
  .healthcare-accordion-trigger { font-size: 17px; padding: 20px; }
  .healthcare-accordion-body { padding: 0 20px 20px; }
  .healthcare-solutions-card { padding: clamp(28px, 10vw, 36px); }
  .healthcare-card-icon { width: 42px; height: 42px; }
  .healthcare-sectors-shell { padding: clamp(22px, 8vw, 32px); }
  .healthcare-sectors-tab { font-size: 15px; padding: 14px 16px; }
  .healthcare-compliance-item { padding: 18px 14px; font-size: 14px; }
  .healthcare-why-card { grid-template-columns: 1fr; }
  .healthcare-why-icon { width: 36px; height: 36px; }
  .healthcare-tech-item { grid-template-columns: 1fr; }
  .healthcare-tech-icon { width: 36px; height: 36px; margin-bottom: 4px; }
}

/* ========================================
   Hero Parallax - Reusable Sticky Title with Parallax Video/Image
   ======================================== */
.hero-parallax {
  position: relative;
  min-height: 100vh;
  background: #000;
  overflow: hidden;
}
.hero-parallax-content {
  position: sticky;
  top: 0;
  z-index: 10;
  min-height: 55vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 120px 20px 60px;
  background: #000;
}
.hero-parallax-copy {
  max-width: 1000px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}
.hero-parallax-copy h1 {
  margin: 0;
  font-size: clamp(36px, 5vw, 56px);
  font-weight: 700;
  line-height: 1.1;
  color: #fff;
  letter-spacing: -0.02em;
}
.hero-parallax-copy p {
  margin: 0;
  font-size: 18px;
  line-height: 1.7;
  color: #c9d4e9;
  max-width: 900px;
}
.hero-parallax-copy .btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 16px 32px;
  background: #1263ff;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  border-radius: 8px;
  text-decoration: none;
  transition: all 0.2s ease;
  margin-top: 8px;
}
.hero-parallax-copy .btn-primary:hover {
  background: #0d4fd6;
  transform: translateY(-2px);
}
.hero-parallax-media {
  position: relative;
  width: calc(100% - 160px);
  margin: 0 auto;
  border-radius: 20px;
  overflow: hidden;
  aspect-ratio: 16/9;
  max-height: 80vh;
}
.hero-parallax-video,
.hero-parallax-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@media (max-width: 900px) {
  .hero-parallax-content {
    min-height: 45vh;
    padding: 100px 20px 50px;
  }
  .hero-parallax-copy p {
    font-size: 16px;
  }
  .hero-parallax-media {
    width: calc(100% - 40px);
    border-radius: 16px;
  }
}
@media (max-width: 600px) {
  .hero-parallax-content {
    min-height: auto;
    padding: 100px 16px 40px;
  }
  .hero-parallax-copy h1 {
    font-size: 32px;
  }
  .hero-parallax-copy p {
    font-size: 15px;
  }
  .hero-parallax-copy .btn-primary {
    padding: 14px 28px;
    font-size: 15px;
  }
  .hero-parallax-media {
    width: calc(100% - 32px);
    border-radius: 12px;
  }
}
