/* ==========================================================================
   Success Stories (Case Studies) — hub + detail. Pixel-matched to Figma
   "Case Studies" page. Shares tokens/conventions with industries-hub.css.
   ========================================================================== */
.av-cs { --navy:#202f60; --navy2:#13224d; --navy-deep:#101e4d; --ink-deep:#050e2a;
	--teal:#13a8c8; --teal-d:#0e8ca8; --teal-dd:#0e5e72; --teal-l:#e4f5f9; --teal-b:#35c4e0;
	--blue:#2655a9; --blue-l:#6aa3f7; --chip-bg:#eaf0fa; --chip-line:#d6e1f2;
	--ink:#555; --line:#e3e6ec; --soft:#f5f8fc; --band:#f2f2f2; --muted:#9aa3b5;
	--gut:max(15px, calc((100% - 1570px) / 2)); }
.av-cs, .av-cs * { box-sizing:border-box; }

.av-cs .av-eyebrow { display:inline-flex; align-items:center; gap:9px; padding-bottom:16px; }
.av-cs .av-eyebrow::before { content:""; width:26px; height:2px; background:var(--teal); }
.av-cs .av-eyebrow span { font-family:"Outfit",sans-serif !important; font-weight:700; font-size:12.5px;
	line-height:18px; letter-spacing:1.1px; text-transform:uppercase; color:var(--teal); }
.av-cs .av-h2 { font-family:"Poppins",sans-serif !important; font-weight:700; font-size:38px; line-height:48px;
	letter-spacing:-0.4px; color:var(--navy); margin:0; text-align:center; }
.av-cs .av-sec-head { display:flex; flex-direction:column; align-items:center; width:100%; }

/* =========================== HUB · HERO ================================== */
.av-cs-hero { position:relative; display:flex; flex-direction:column; align-items:center;
	padding:76px var(--gut) 70px; border-bottom:1px solid var(--line); background:#fff; overflow:hidden; }
.av-cs-hero__bg { position:absolute; inset:0; pointer-events:none; background-size:cover;
	background-position:center; opacity:.5; }
.av-cs-hero::after { content:""; position:absolute; inset:0; pointer-events:none;
	background:linear-gradient(90deg, rgba(255,255,255,.95), rgba(255,255,255,.6) 50%, rgba(228,245,249,.4)); }
.av-cs-hero > * { position:relative; z-index:1; }
.av-cs-hero__title { font-family:"Poppins",sans-serif !important; font-weight:700; font-size:48px;
	line-height:58px; letter-spacing:-0.8px; color:var(--navy); text-align:center; max-width:1000px; margin:0; }
.av-cs-hero__title .hl { color:var(--teal); }
.av-cs-hero__sub { font-family:"Poppins",sans-serif !important; font-size:17px; line-height:29px;
	color:var(--ink); text-align:center; max-width:840px; margin:16px 0 30px; }
.av-cs-hero__counters { display:flex; align-items:center; }
.av-cs-hero__c { display:flex; flex-direction:column; gap:2px; align-items:center; padding:0 36px;
	text-align:center; white-space:nowrap; }
.av-cs-hero__c b { font-family:"Poppins",sans-serif !important; font-weight:700; font-size:38px;
	line-height:48px; letter-spacing:-0.5px; color:var(--teal); }
.av-cs-hero__c span { font-family:"Poppins",sans-serif !important; font-size:13.5px; line-height:19px; color:var(--ink); }
.av-cs-hero__div { width:1px; height:52px; background:var(--line); }

/* =========================== HUB · FILTER BAR ============================ */
.av-cs-filter { background:var(--band); padding:32px var(--gut) 8px; display:flex;
	flex-direction:column; gap:0; align-items:center; }
.av-cs-toolbar { background:#fff; border:1px solid var(--line); border-radius:16px; width:100%;
	box-shadow:0 12px 30px -6px rgba(15,31,77,.1); display:flex; align-items:center;
	padding:10px 12px; gap:0; flex-wrap:wrap; }
.av-cs-search { background:var(--soft); border:1px solid var(--line); border-radius:10px;
	display:flex; align-items:center; gap:10px; padding:12px 16px; flex:1 0 220px; min-width:0; }
.av-cs-search svg { width:16px; height:16px; flex:0 0 auto; color:var(--muted); }
.av-cs-search input { border:0; outline:0; background:transparent; width:100%;
	font-family:"Poppins",sans-serif !important; font-size:14px; line-height:20px; color:var(--navy2); }
.av-cs-search input::placeholder { color:var(--muted); }
.av-cs-vdiv { width:1px; height:30px; background:var(--line); margin:0 16px; flex:0 0 auto; }
.av-cs-flabel { display:flex; align-items:center; gap:8px; padding-right:12px; flex:0 0 auto; }
.av-cs-flabel svg { width:17px; height:17px; color:var(--navy); }
.av-cs-flabel span { font-family:"Outfit",sans-serif !important; font-weight:700; font-size:13.5px;
	line-height:19px; color:var(--navy); }
.av-cs-chips { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.av-cs-fchip { position:relative; flex:0 0 auto; }
.av-cs-fchip > button { display:inline-flex; align-items:center; gap:7px; padding:9px 12px 9px 15px;
	background:var(--soft); border:1px solid var(--line); border-radius:100px; cursor:pointer;
	font-family:"Outfit",sans-serif !important; font-weight:600; font-size:13px; line-height:18px; color:var(--navy2); }
.av-cs-fchip > button svg { width:11px; height:11px; }
.av-cs-fchip.is-active > button { background:var(--navy); border-color:var(--navy); color:#fff; }
.av-cs-fchip .cnt { display:none; align-items:center; justify-content:center; width:17px; height:17px;
	border-radius:100px; background:var(--teal-b); font-family:"Outfit",sans-serif !important; font-weight:700;
	font-size:10.5px; color:#0b2a44; }
.av-cs-fchip.is-active .cnt { display:inline-flex; }
.av-cs-fchip__menu { position:absolute; top:calc(100% + 8px); left:0; z-index:30; min-width:230px;
	background:#fff; border:1px solid var(--line); border-radius:12px; padding:8px;
	box-shadow:0 16px 40px -8px rgba(15,31,77,.18); display:none; }
.av-cs-fchip.is-open .av-cs-fchip__menu { display:block; }
.av-cs-fchip__menu label { display:flex; align-items:center; gap:9px; padding:8px 10px; border-radius:8px;
	cursor:pointer; font-family:"Poppins",sans-serif !important; font-size:13.5px; color:var(--navy2); }
.av-cs-fchip__menu label:hover { background:var(--soft); }
.av-cs-fchip__menu input { accent-color:var(--teal-d); }
.av-cs-sort select { appearance:none; -webkit-appearance:none; padding:9px 32px 9px 15px;
	background:var(--soft) url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M3.5 6l4.5 4.5L12.5 6' stroke='%2313224d' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 13px center;
	border:1px solid var(--line); border-radius:100px; cursor:pointer;
	font-family:"Outfit",sans-serif !important; font-weight:600; font-size:13px; color:var(--navy2); }
.av-cs-resultmeta { padding:14px 0; display:flex; gap:6px; align-items:center;
	font-family:"Poppins",sans-serif !important; font-size:13px; line-height:18px; color:var(--ink); }
.av-cs-resultmeta b { font-weight:600; color:var(--navy); }

/* =========================== HUB · FEATURED CARD ========================= */
.av-cs-featured { background:var(--band); padding:36px var(--gut) 0; }
.av-cs-fcard { background:#fff; border:1px solid var(--line); border-radius:18px; overflow:hidden;
	box-shadow:0 14px 34px -6px rgba(15,31,77,.1); display:flex; align-items:stretch; }
.av-cs-fcard__l { flex:1 0 0; min-width:0; padding:38px 44px; }
.av-cs-fcard__br { display:flex; gap:12px; align-items:center; padding-bottom:16px; }
.av-cs-fcard__badge { background:#fdf3e0; border:1px solid #f2d9a8; border-radius:100px; padding:6px 12px;
	font-family:"Outfit",sans-serif !important; font-weight:700; font-size:12px; line-height:16px; color:#b87a10; }
.av-cs-ind { font-family:"Outfit",sans-serif !important; font-weight:700; font-size:11.5px; line-height:16px;
	letter-spacing:1px; text-transform:uppercase; color:var(--teal-d); }
.av-cs-fcard__title { font-family:"Poppins",sans-serif !important; font-weight:700; font-size:30px;
	line-height:40px; letter-spacing:-0.4px; color:var(--navy); margin:0; }
.av-cs-fcard__title a { color:inherit; text-decoration:none; }
.av-cs-fcard__sum { font-family:"Poppins",sans-serif !important; font-size:15.5px; line-height:26px;
	color:var(--ink); margin:10px 0 18px; }
.av-cs-mchips { display:flex; flex-wrap:wrap; gap:10px; padding-bottom:20px; }
.av-cs-mchip { background:var(--teal-l); border-radius:100px; padding:6px 13px;
	font-family:"Outfit",sans-serif !important; font-weight:700; font-size:12.5px; line-height:17px; color:var(--teal-dd); }
.av-cs-fcard__quote { border-left:3px solid var(--teal); padding:2px 0 2px 20px;
	font-family:"Poppins",sans-serif !important; font-weight:500; font-size:15px; line-height:25px; color:var(--navy2); }
.av-cs-fcard__btnw { padding-top:22px; }
.av-cs-btn { display:inline-flex; align-items:center; gap:9px; background:var(--navy); color:#fff;
	border-radius:9px; padding:14px 26px; text-decoration:none;
	font-family:"Outfit",sans-serif !important; font-weight:600; font-size:15px; line-height:21px;
	transition:transform .2s, box-shadow .2s; }
.av-cs-btn:hover { color:#fff; transform:translateY(-1px); box-shadow:0 10px 24px rgba(32,47,96,.3); }
.av-cs-btn svg { width:16px; height:16px; }
.av-cs-fcard__r { flex:0 0 40%; max-width:640px; background:linear-gradient(133deg, #202f60 11.5%, #050e2a 88.5%);
	display:flex; flex-direction:column; gap:14px; align-items:center; justify-content:center; padding:40px; }
.av-cs-fcard__lc { background:#fff; border-radius:10px; padding:10px 18px; max-width:80%; }
.av-cs-fcard__lc span { font-family:"Poppins",sans-serif !important; font-weight:700; font-size:20px;
	line-height:26px; letter-spacing:2px; color:var(--navy); }
.av-cs-fcard__lc img { display:block; max-height:44px; width:auto; max-width:100%; }
.av-cs-fcard__sub { font-family:"Outfit",sans-serif !important; font-weight:700; font-size:11px; line-height:16px;
	letter-spacing:1.2px; text-transform:uppercase; color:#8fa0c9; text-align:center; }
.av-cs-fcard__prods { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; padding-top:8px; max-width:430px; }
.av-cs-fcard__prods span { background:#0e3a66; border:1px solid #1e4e80; border-radius:100px; padding:5px 11px;
	font-family:"Outfit",sans-serif !important; font-weight:600; font-size:11.5px; line-height:16px; color:#9fe0f0; }

/* =========================== HUB · GRID ================================== */
.av-cs-gridsec { background:var(--band); padding:36px var(--gut) 84px; }
.av-cs-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:24px; }
.av-cs-card { background:#fff; border:1px solid var(--line); border-radius:16px; padding:26px;
	box-shadow:0 8px 22px -4px rgba(15,31,77,.07); display:flex; flex-direction:column;
	transition:transform .2s, box-shadow .2s; }
.av-cs-card:hover { transform:translateY(-3px); box-shadow:0 14px 30px -4px rgba(15,31,77,.13); }
.av-cs-card.is-hidden { display:none; }
.av-cs-featured.is-hidden { display:none; }
.av-cs-card__top { display:flex; align-items:center; gap:12px; width:100%; }
.av-cs-card__logo { height:30px; flex:0 1 auto; min-width:0; display:flex; align-items:center; }
.av-cs-card__logo img { max-height:30px; width:auto; max-width:120px; object-fit:contain; }
.av-cs-card__logo .mono { display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px;
	border-radius:100px; background:linear-gradient(135deg, #13a8c8, #2655a9);
	font-family:"Outfit",sans-serif !important; font-weight:700; font-size:11px; color:#fff; }
.av-cs-card__sp { flex:1 0 8px; }
.av-cs-card__title { font-family:"Poppins",sans-serif !important; font-weight:700; font-size:18.5px;
	line-height:26px; letter-spacing:-0.2px; color:var(--navy); margin:10px 0 0; }
.av-cs-card__title a { color:inherit; text-decoration:none; }
.av-cs-card__gr { flex:1 0 8px; min-height:8px; }
.av-cs-card__met { padding-bottom:12px; }
.av-cs-card__met .av-cs-mchip { font-size:13px; line-height:18px; }
.av-cs-card__chips { display:flex; flex-wrap:wrap; gap:8px; padding-bottom:14px; }
.av-cs-card__chips span { background:var(--chip-bg); border:1px solid var(--chip-line); border-radius:100px;
	padding:4px 11px; font-family:"Outfit",sans-serif !important; font-weight:600; font-size:11.5px;
	line-height:16px; color:var(--blue); }
.av-cs-card__link { display:inline-flex; align-items:center; gap:7px; text-decoration:none;
	font-family:"Outfit",sans-serif !important; font-weight:700; font-size:14.5px; line-height:20px; color:var(--blue); }
.av-cs-card__link svg { width:15px; height:15px; }
.av-cs-noresults { display:none; text-align:center; padding:40px 0 0;
	font-family:"Poppins",sans-serif !important; font-size:15px; color:var(--ink); }
.av-cs-gridsec.no-match .av-cs-noresults { display:block; }

/* =========================== HUB · BROWSE ================================ */
.av-cs-browse { background:#fff; padding:64px var(--gut); display:flex; flex-direction:column; align-items:center; }
.av-cs-browse .av-eyebrow { padding-bottom:20px; }
.av-cs-bcards { display:flex; flex-wrap:wrap; gap:16px; justify-content:center; width:100%; }
.av-cs-bcard { width:calc(25% - 12px); min-width:250px; background:#fff; border:1px solid var(--line);
	border-radius:14px; overflow:hidden; box-shadow:0 8px 22px -4px rgba(15,31,77,.07); text-decoration:none;
	transition:transform .2s, box-shadow .2s; }
.av-cs-bcard:hover { transform:translateY(-3px); box-shadow:0 14px 30px -4px rgba(15,31,77,.13); }
.av-cs-bcard__photo { height:150px; background:linear-gradient(135deg, #e4f5f9, #eaf0fa); }
.av-cs-bcard__photo img { width:100%; height:150px; object-fit:cover; display:block; }
.av-cs-bcard__body { padding:14px 16px 16px; display:flex; flex-direction:column; gap:8px; }
.av-cs-bcard__t { font-family:"Poppins",sans-serif !important; font-weight:700; font-size:15px;
	line-height:20px; color:var(--navy); }
.av-cs-bcard__x { font-family:"Outfit",sans-serif !important; font-weight:700; font-size:13px;
	line-height:18px; color:var(--blue); }

/* =========================== HUB · WHY =================================== */
.av-cs-why { background:var(--band); padding:72px var(--gut) 80px; display:flex; flex-direction:column; align-items:center; }
.av-cs-why .av-eyebrow { padding-bottom:20px; }
.av-cs-whyrow { display:flex; gap:24px; align-items:stretch; width:100%; }
.av-cs-wc { flex:1 0 0; min-width:0; background:#fff; border:1px solid var(--line); border-radius:16px;
	padding:30px 28px; box-shadow:0 8px 22px -4px rgba(15,31,77,.07); display:flex; flex-direction:column;
	align-items:center; text-align:center; }
.av-cs-wc__ico { width:50px; height:50px; border-radius:12px; background:var(--teal-l); display:flex;
	align-items:center; justify-content:center; color:var(--teal-d); }
.av-cs-wc__ico svg { width:25px; height:25px; }
.av-cs-wc__t { font-family:"Poppins",sans-serif !important; font-weight:700; font-size:17px; line-height:24px;
	color:var(--navy); margin:14px 0 0; }
.av-cs-wc__s { font-family:"Poppins",sans-serif !important; font-size:13.5px; line-height:20px;
	color:var(--ink); margin:6px 0 0; }

/* =========================== DETAIL · HERO =============================== */
.av-cs-dhero { position:relative; background:linear-gradient(180deg, #e8f1ff 0%, #f5f9ff 62%, #fff 100%);
	padding:52px var(--gut) 60px; overflow:hidden; }
.av-cs-dhero::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.5;
	background-image:linear-gradient(rgba(11,27,58,.05) 1px, transparent 1px),
		linear-gradient(90deg, rgba(11,27,58,.05) 1px, transparent 1px);
	background-size:160px 120px; }
.av-cs-dhero > * { position:relative; }
.av-cs-crumb { display:flex; gap:9px; align-items:center; flex-wrap:wrap;
	font-family:"Poppins",sans-serif !important; font-size:13px; color:#6b7a90; }
.av-cs-crumb a { color:#6b7a90; text-decoration:none; }
/* The theme styles anchors at 18px/30px, which made the two breadcrumb links
   render larger than the separator and current item — pin every part to 13px. */
.av-cs-crumb a,
.av-cs-crumb span { font-family:"Poppins",sans-serif !important; font-size:13px;
	line-height:20px; font-weight:400; letter-spacing:normal; }
.av-cs-crumb a:hover { color:var(--teal-d); }
.av-cs-crumb .sep { color:rgba(107,122,144,.45); }
.av-cs-crumb .cur { font-weight:600 !important; color:var(--teal); }
.av-cs-dhero__row { display:flex; gap:64px; align-items:center; padding-top:46px; }
.av-cs-dhero__l { flex:1 0 0; min-width:0; }
.av-cs-dhero__eb { display:inline-flex; gap:12px; align-items:center; }
.av-cs-dhero__eb::before { content:""; width:28px; height:2px; background:var(--teal); }
.av-cs-dhero__eb span { font-family:"Outfit",sans-serif !important; font-weight:600; font-size:11.5px;
	letter-spacing:2.6px; color:var(--teal); }
.av-cs-dhero__title { font-family:"Poppins",sans-serif !important; font-weight:700; font-size:52px;
	line-height:62px; letter-spacing:-1.2px; color:var(--navy-deep); margin:22px 0 0; }
.av-cs-dhero__title .hl { background:linear-gradient(90deg, #6aa3f7, #35c4e0);
	-webkit-background-clip:text; background-clip:text; color:transparent; }
.av-cs-dhero__lede { font-family:"Poppins",sans-serif !important; font-size:18px; line-height:30px;
	color:var(--ink); max-width:720px; margin:20px 0 0; }
.av-cs-dhero__chips { display:flex; flex-wrap:wrap; gap:10px; padding-top:28px; }
.av-cs-dhero__chips span { background:#fff; border:1px solid #e2e8f2; border-radius:999px; padding:7px 16px;
	font-family:"Poppins",sans-serif !important; font-size:13px; color:var(--navy); }
.av-cs-dhero__r { flex:0 0 560px; max-width:560px; }
.av-cs-dhero__photo { border-radius:24px; box-shadow:0 22px 48px rgba(13,23,51,.16); overflow:hidden; }
.av-cs-dhero__photo img { display:block; width:100%; height:396px; object-fit:cover; }
.av-cs-clientstrip { display:flex; gap:14px; align-items:center; padding-top:20px; }
.av-cs-clientstrip__lc { background:#fff; border:1px solid #e2e8f2; border-radius:12px; padding:12px 16px;
	box-shadow:0 6px 18px rgba(15,26,51,.1); }
.av-cs-clientstrip__mono { display:flex; align-items:center; justify-content:center; width:34px; height:34px;
	border-radius:100px; background:linear-gradient(135deg, #13a8c8, #2655a9);
	font-family:"Outfit",sans-serif !important; font-weight:700; font-size:13px; color:#fff; }
.av-cs-clientstrip__t { flex:1 0 0; min-width:0; }
.av-cs-clientstrip__t b { display:block; font-family:"Outfit",sans-serif !important; font-weight:600;
	font-size:11.5px; letter-spacing:1.4px; text-transform:uppercase; color:#94a0b8; }
.av-cs-clientstrip__t span { display:block; font-family:"Poppins",sans-serif !important; font-size:13px;
	color:var(--ink); padding-top:3px; }
/* results stat bar */
.av-cs-results { background:#fff; border:1px solid #e2e8f2; border-radius:20px; margin:36px 0 0;
	box-shadow:0 16px 40px rgba(15,26,51,.1); display:flex; align-items:stretch; padding:34px 20px; }
.av-cs-rstat { flex:1 0 0; min-width:0; display:flex; flex-direction:column; gap:6px; align-items:center;
	padding:0 24px; text-align:center; }
.av-cs-rstat i { width:30px; height:3px; border-radius:2px; background:linear-gradient(90deg, #2655a9, #13a8c8); }
.av-cs-rstat b { font-family:"Poppins",sans-serif !important; font-weight:800; font-size:34px; line-height:42px;
	letter-spacing:-0.8px; background:linear-gradient(90deg, #202f60, #13a8c8);
	-webkit-background-clip:text; background-clip:text; color:transparent; white-space:nowrap; }
.av-cs-rstat span { font-family:"Poppins",sans-serif !important; font-size:13.5px; color:#707070; }
.av-cs-results .div { width:1px; background:var(--line); }

/* =========================== DETAIL · METADATA =========================== */
.av-cs-meta { background:#fff; padding:64px var(--gut); }
.av-cs-meta__panel { background:#fff; border:1px solid var(--line); border-radius:18px; overflow:hidden;
	box-shadow:0 8px 22px -4px rgba(15,31,77,.07); display:grid; grid-template-columns:repeat(4, 1fr); }
.av-cs-meta__cell { padding:24px 28px; display:flex; flex-direction:column; gap:8px;
	border-right:1px solid #e9edf3; border-bottom:1px solid #e9edf3; }
.av-cs-meta__cell:nth-child(4n) { border-right:0; }
.av-cs-meta__lr { display:flex; gap:8px; align-items:center; }
.av-cs-meta__lr i { width:6px; height:6px; border-radius:2px; background:var(--teal); }
.av-cs-meta__lr span { font-family:"Outfit",sans-serif !important; font-weight:700; font-size:11.5px;
	letter-spacing:1px; text-transform:uppercase; color:var(--teal); }
.av-cs-meta__v { font-family:"Poppins",sans-serif !important; font-weight:600; font-size:15px;
	line-height:22px; color:var(--navy); }

/* =========================== DETAIL · PROSE SECTIONS ===================== */
.av-cs-about { background:var(--band); padding:64px var(--gut); }
.av-cs-about .av-eyebrow { padding-bottom:10px; }
.av-cs-about__h { font-family:"Poppins",sans-serif !important; font-weight:700; font-size:32px; line-height:42px;
	letter-spacing:-0.4px; color:var(--navy); margin:0 0 18px; }
.av-cs-about__p { border-left:3px solid; border-image:linear-gradient(180deg, #2655a9, #35c4e0) 1;
	padding-left:22px; font-family:"Poppins",sans-serif !important; font-size:15.5px; line-height:27px;
	color:var(--ink); max-width:900px; }
.av-cs-about__p p { margin:0 0 14px; } .av-cs-about__p p:last-child { margin-bottom:0; }

.av-cs-challenge { background:#fff; padding:72px var(--gut) 80px; display:flex;
	flex-direction:column; align-items:center; }
.av-cs-challenge .av-h2 { max-width:900px; }
.av-cs-challenge__p { font-family:"Poppins",sans-serif !important; font-size:14.5px; line-height:21px;
	color:var(--ink); text-align:center; max-width:840px; margin:14px 0 0; }
.av-cs-challenge__grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; width:100%; padding-top:34px; }
.av-cs-painpill { background:#f8fafc; border:1px solid #eef0f5; border-radius:12px; display:flex;
	gap:14px; align-items:center; padding:18px 22px; }
.av-cs-painpill i { flex:0 0 auto; width:24px; height:24px; border-radius:100px; background:#fdeaee;
	color:#e05a6d; display:inline-flex; align-items:center; justify-content:center; }
.av-cs-painpill i svg { width:11px; height:11px; }
.av-cs-painpill span { font-family:"Poppins",sans-serif !important; font-weight:500; font-size:14.5px;
	line-height:21px; color:var(--navy2); }

.av-cs-objectives { background:var(--band); padding:72px var(--gut) 72px; display:flex;
	flex-direction:column; align-items:center; }
.av-cs-objectives__grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; width:100%; padding-top:26px; }
.av-cs-obj { background:#fff; border-radius:14px; box-shadow:0 8px 22px -4px rgba(15,31,77,.07);
	display:flex; gap:16px; align-items:flex-start; padding:24px 26px; }
.av-cs-obj i { flex:0 0 auto; width:36px; height:36px; border-radius:10px;
	background:linear-gradient(135deg, #2655a9, #13a8c8); color:#fff; display:inline-flex;
	align-items:center; justify-content:center;
	font-family:"Outfit",sans-serif !important; font-style:normal; font-weight:700; font-size:13px; }
.av-cs-obj b { display:block; font-family:"Poppins",sans-serif !important; font-weight:700; font-size:15.5px;
	line-height:22px; color:var(--navy); }
.av-cs-obj span { display:block; font-family:"Poppins",sans-serif !important; font-size:13.5px;
	line-height:20px; color:var(--ink); padding-top:3px; }

.av-cs-solution { background:#fff; padding:72px var(--gut); display:flex; gap:56px; }
.av-cs-solution__l { flex:0 0 38%; }
.av-cs-solution__l .av-eyebrow { padding-bottom:10px; }
.av-cs-solution__h { font-family:"Poppins",sans-serif !important; font-weight:700; font-size:30px;
	line-height:40px; letter-spacing:-0.4px; color:var(--navy); margin:0; }
.av-cs-solution__r { flex:1 0 0; min-width:0; border-left:2px solid var(--teal); padding-left:38px;
	font-family:"Poppins",sans-serif !important; font-size:15px; line-height:26px; color:var(--ink); }
.av-cs-solution__r p { margin:0 0 16px; } .av-cs-solution__r p:last-child { margin-bottom:0; }

/* =========================== DETAIL · JOURNEY (dark) ===================== */
.av-cs-journey { background:var(--ink-deep); padding:92px var(--gut) 100px; position:relative; overflow:hidden; }
.av-cs-journey::before { content:""; position:absolute; right:-180px; top:-300px; width:760px; height:760px;
	border-radius:50%; background:radial-gradient(closest-side, rgba(19,168,200,.22), transparent); }
.av-cs-journey > * { position:relative; }
.av-cs-journey__eb { display:inline-flex; gap:12px; align-items:center; }
.av-cs-journey__eb::before { content:""; width:28px; height:2px; background:var(--teal-b); }
.av-cs-journey__eb span { font-family:"Outfit",sans-serif !important; font-weight:600; font-size:11.5px;
	letter-spacing:2.6px; color:var(--teal-b); }
.av-cs-journey__h { font-family:"Poppins",sans-serif !important; font-weight:700; font-size:40px;
	line-height:50px; letter-spacing:-0.4px; color:#fff !important; margin:16px 0 0; }
.av-cs-journey__steps { display:flex; flex-direction:column; gap:20px; padding-top:52px; position:relative; }
.av-cs-journey__steps::before { content:""; position:absolute; left:10px; top:48px; bottom:40px; width:2px;
	background:linear-gradient(180deg, #35c4e0, rgba(38,85,169,.15)); }
.av-cs-jstep { display:flex; gap:26px; align-items:flex-start; position:relative; }
.av-cs-jstep__dot { flex:0 0 22px; height:22px; margin-top:26px; position:relative; z-index:1; }
.av-cs-jstep__dot::before { content:""; display:block; width:12px; height:12px; margin-left:4px;
	border-radius:50%; border:2px solid #35c4e0; background:var(--ink-deep); }
.av-cs-jcard { flex:1 0 0; min-width:0; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1);
	border-radius:16px; padding:26px 32px 28px; display:flex; gap:24px; align-items:center; }
.av-cs-jcard__l { flex:1 0 0; min-width:0; display:flex; flex-direction:column; gap:8px; }
.av-cs-jcard__k { font-family:"Outfit",sans-serif !important; font-weight:600; font-size:11.5px;
	letter-spacing:1.8px; color:#6aa3f7; }
.av-cs-jcard__t { font-family:"Poppins",sans-serif !important; font-weight:600; font-size:22px;
	line-height:30px; letter-spacing:-0.2px; color:#fff !important; margin:0; }
.av-cs-jcard__p { font-family:"Poppins",sans-serif !important; font-size:15px; line-height:24px;
	color:rgba(255,255,255,.62); margin:0; }
.av-cs-jcard__pill { flex:0 0 auto; background:rgba(19,168,200,.14); border:1px solid rgba(19,168,200,.3);
	border-radius:999px; padding:5px 14px; font-family:"Outfit",sans-serif !important; font-weight:600;
	font-size:12.5px; color:#35c4e0; }
.av-cs-jcard__num { flex:0 0 auto; width:110px; text-align:right;
	font-family:"Poppins",sans-serif !important; font-weight:800; font-size:62px; letter-spacing:-2px;
	color:rgba(255,255,255,.09); }
.av-cs-journey__stack { display:flex; flex-direction:column; gap:12px; padding-top:46px; }
.av-cs-journey__srow { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.av-cs-journey__srow b { font-family:"Outfit",sans-serif !important; font-weight:600; font-size:11.5px;
	letter-spacing:1.6px; color:rgba(255,255,255,.45); }
.av-cs-journey__srow span { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.11);
	border-radius:999px; padding:6px 14px; font-family:"Poppins",sans-serif !important; font-size:13px;
	color:rgba(255,255,255,.82); }

/* =========================== DETAIL · BEFORE/AFTER ======================= */
.av-cs-ba { background:var(--band); padding:72px var(--gut) 80px; display:flex; flex-direction:column; align-items:center; }
.av-cs-ba__grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; width:100%; padding-top:36px; position:relative; }
.av-cs-bacol { background:#fff; border:1.5px solid var(--line); border-radius:16px; overflow:hidden;
	box-shadow:0 10px 26px -4px rgba(15,31,77,.07); }
.av-cs-bacol.after { border-color:#bfe6f0; box-shadow:0 10px 26px -4px rgba(15,31,77,.12); }
.av-cs-bacol__hdr { display:flex; gap:12px; align-items:center; padding:18px 28px; background:#f1f4f9; }
.av-cs-bacol.after .av-cs-bacol__hdr { background:var(--teal-l); }
.av-cs-bacol__bd { width:30px; height:30px; border-radius:9px; background:#64748b; color:#fff;
	display:inline-flex; align-items:center; justify-content:center; }
.av-cs-bacol.after .av-cs-bacol__bd { background:var(--teal-d); }
.av-cs-bacol__bd svg { width:14px; height:14px; }
.av-cs-bacol__hdr b { font-family:"Outfit",sans-serif !important; font-weight:700; font-size:14px;
	letter-spacing:1.4px; text-transform:uppercase; color:#4a5568; }
.av-cs-bacol.after .av-cs-bacol__hdr b { color:var(--teal-dd); }
.av-cs-bacol__hdr .tag { margin-left:auto; font-family:"Poppins",sans-serif !important; font-size:12.5px; color:#4a5568; }
.av-cs-bacol.after .av-cs-bacol__hdr .tag { color:var(--teal-dd); }
.av-cs-bacol ul { list-style:none; margin:0; padding:10px 28px 16px; }
.av-cs-bacol li { display:flex; gap:13px; align-items:center; padding:12px 0; border-bottom:1px solid #f0f2f6; }
.av-cs-bacol li:last-child { border-bottom:0; }
.av-cs-bacol li i { flex:0 0 auto; width:26px; height:26px; border-radius:100px; background:#e8edf4;
	color:#64748b; display:inline-flex; align-items:center; justify-content:center; }
.av-cs-bacol.after li i { background:#d6f0f7; color:var(--teal-d); }
.av-cs-bacol li i svg { width:12px; height:12px; }
.av-cs-bacol li span { font-family:"Poppins",sans-serif !important; font-weight:500; font-size:15px;
	line-height:23px; color:var(--navy2); }
.av-cs-ba__connector { position:absolute; left:50%; top:50%; transform:translate(-50%, -50%); width:48px;
	height:48px; border-radius:100px; background:#fff; border:1.5px solid var(--line);
	box-shadow:0 6px 16px rgba(15,31,77,.16); display:flex; align-items:center; justify-content:center;
	color:var(--teal-d); z-index:1; }
.av-cs-ba__connector svg { width:20px; height:20px; }

/* =========================== DETAIL · TESTIMONIAL ======================== */
.av-cs-testi { background:#fff; padding:72px var(--gut); }
.av-cs-testi__card { position:relative; background:#fff; border-radius:18px;
	box-shadow:0 14px 34px -6px rgba(15,31,77,.1); border:1px solid #eef0f5; overflow:hidden;
	padding:56px 64px; display:flex; flex-direction:column; align-items:center; text-align:center; }
.av-cs-testi__card::before { content:""; position:absolute; left:0; top:0; bottom:0; width:5px;
	background:linear-gradient(180deg, #2655a9, #35c4e0); }
.av-cs-testi__mark { width:36px; height:36px; border-radius:100px; background:var(--teal-l);
	display:flex; align-items:center; justify-content:center;
	font-family:"Poppins",sans-serif !important; font-weight:700; font-size:18px; color:var(--teal-d); }
.av-cs-testi__q { font-family:"Poppins",sans-serif !important; font-weight:600; font-size:21px;
	line-height:33px; color:var(--navy); max-width:1100px; margin:18px 0 0; }
.av-cs-testi__who { display:flex; gap:14px; align-items:center; padding-top:26px; text-align:left; }
.av-cs-testi__who .mono { width:38px; height:38px; border-radius:100px;
	background:linear-gradient(135deg, #13a8c8, #2655a9); color:#fff; display:flex; align-items:center;
	justify-content:center; font-family:"Outfit",sans-serif !important; font-weight:700; font-size:13px; }
.av-cs-testi__who b { display:block; font-family:"Poppins",sans-serif !important; font-weight:600;
	font-size:14.5px; color:var(--navy); }
.av-cs-testi__who span { display:block; font-family:"Poppins",sans-serif !important; font-size:12.5px; color:var(--ink); }

/* =========================== DETAIL · TRUST STRIP ======================== */
.av-cs-trust { background:#fff; padding:0 var(--gut) 40px; display:flex; justify-content:center; }
.av-cs-trust__bar { background:#f8fafc; border:1px solid #eef0f5; border-radius:999px; display:flex;
	flex-wrap:wrap; gap:8px 34px; align-items:center; justify-content:center; padding:14px 34px; }
.av-cs-trust__bar .t { display:inline-flex; gap:8px; align-items:center;
	font-family:"Poppins",sans-serif !important; font-weight:500; font-size:13px; color:var(--navy2); }
.av-cs-trust__bar .t i { width:18px; height:18px; border-radius:100px; background:var(--teal-l);
	color:var(--teal-d); display:inline-flex; align-items:center; justify-content:center; }
.av-cs-trust__bar .t i svg { width:9px; height:9px; }

/* =========================== DETAIL · RELATED ============================ */
.av-cs-relserv { background:#fff; padding:24px var(--gut) 64px; display:flex; flex-direction:column; align-items:center; }
.av-cs-relserv__row { display:grid; grid-template-columns:repeat(3, 1fr); gap:22px; width:100%; padding-top:26px; }
.av-cs-rs { background:#fff; border-radius:14px; box-shadow:0 8px 22px -4px rgba(15,31,77,.07);
	border:1px solid #eef0f5; display:flex; gap:14px; align-items:center; padding:20px 24px;
	text-decoration:none; transition:transform .2s, box-shadow .2s; }
.av-cs-rs:hover { transform:translateY(-2px); box-shadow:0 12px 28px -4px rgba(15,31,77,.13); }
.av-cs-rs i { flex:0 0 auto; width:36px; height:36px; border-radius:10px; background:var(--teal-l);
	color:var(--teal-d); display:inline-flex; align-items:center; justify-content:center; }
.av-cs-rs i svg { width:18px; height:18px; }
.av-cs-rs b { flex:1 0 0; min-width:0; font-family:"Poppins",sans-serif !important; font-weight:700;
	font-size:15.5px; color:var(--navy); }
.av-cs-rs .arr { color:var(--navy); }
.av-cs-rs .arr svg { width:16px; height:16px; }

.av-cs-relcases { background:var(--band); padding:56px var(--gut) 64px; display:flex;
	flex-direction:column; align-items:center; }
.av-cs-relcases__row { display:grid; grid-template-columns:repeat(3, 1fr); gap:22px; width:100%; padding-top:26px; }
.av-cs-rc { background:#fff; border-radius:14px; overflow:hidden; border:1px solid #eef0f5;
	box-shadow:0 8px 22px -4px rgba(15,31,77,.07); text-decoration:none; display:flex;
	flex-direction:column; transition:transform .2s, box-shadow .2s; }
.av-cs-rc:hover { transform:translateY(-2px); box-shadow:0 12px 28px -4px rgba(15,31,77,.13); }
.av-cs-rc::before { content:""; height:4px; background:linear-gradient(90deg, #2655a9, #13a8c8); }
.av-cs-rc__body { display:block; padding:20px 24px 18px; }
.av-cs-rc__t { display:block; }
.av-cs-rc__tag { display:inline-block; background:var(--chip-bg); border-radius:100px; padding:4px 12px;
	font-family:"Outfit",sans-serif !important; font-weight:700; font-size:11px; letter-spacing:.8px;
	text-transform:uppercase; color:var(--blue); }
.av-cs-rc__t { font-family:"Poppins",sans-serif !important; font-weight:700; font-size:16.5px;
	line-height:24px; color:var(--navy); margin:12px 0 12px; }
.av-cs-rc__x { display:inline-flex; gap:7px; align-items:center;
	font-family:"Outfit",sans-serif !important; font-weight:700; font-size:13.5px; color:var(--blue); }
.av-cs-rc__x svg { width:14px; height:14px; }

/* ==========================================================================
   Default-widget compositions (av-csx-*): the hub page is built from core
   Elementor widgets (heading / text-editor / counter / image-box / icon-box)
   inside containers carrying these classes — CSS supplies the Figma look.
   ========================================================================== */
/* shared eyebrow heading (core Heading widget with .av-csx-eyebrow) */
.av-csx-eyebrow .elementor-heading-title { display:inline-flex; align-items:center; gap:9px;
	font-family:"Outfit",sans-serif !important; font-weight:700 !important; font-size:12.5px !important;
	line-height:18px !important; letter-spacing:1.1px; text-transform:uppercase; color:#13a8c8 !important; }
.av-csx-eyebrow .elementor-heading-title::before { content:""; width:26px; height:2px; background:#13a8c8; }

/* ---- HERO (container .av-csx-hero) ---- */
.av-csx-hero { background-color:#fff;
	background-image:linear-gradient(90deg, rgba(255,255,255,.98), rgba(255,255,255,.75) 50%, rgba(228,245,249,.55));
	border-bottom:1px solid #e3e6ec; padding:76px var(--gut) 60px !important; text-align:center; }
.av-csx-hero .av-csx-eyebrow { padding-bottom:14px; }
.av-csx-title .elementor-heading-title { font-family:"Poppins",sans-serif !important; font-weight:700 !important;
	font-size:48px !important; line-height:58px !important; letter-spacing:-0.8px; color:#202f60 !important;
	max-width:1000px; margin:0 auto; }
.av-csx-title .elementor-heading-title .hl { color:#13a8c8; }
.av-csx-sub p { font-family:"Poppins",sans-serif !important; font-size:17px !important; line-height:29px !important;
	color:#555 !important; margin:16px auto 14px; max-width:840px; }
.av-csx-counters { --divider:#e3e6ec; --justify-content:center; justify-content:center; }
.av-csx-counters > .elementor-element { padding:0 36px; position:relative; width:auto !important; }
.av-csx-counters > .elementor-element + .elementor-element::before { content:""; position:absolute; left:0;
	top:50%; transform:translateY(-50%); width:1px; height:52px; background:var(--divider); }
.av-csx-counters .elementor-counter-number-wrapper { justify-content:center;
	font-family:"Poppins",sans-serif !important; font-weight:700; font-size:38px; line-height:48px;
	letter-spacing:-0.5px; color:#13a8c8; }
.av-csx-counters .elementor-counter-title { font-family:"Poppins",sans-serif !important; font-size:13.5px;
	line-height:19px; color:#555; text-align:center; }

/* ---- BROWSE (container .av-csx-browse, inner row .av-csx-browse-row) ---- */
.av-csx-browse { background:#fff; padding:64px var(--gut) !important; text-align:center; }
.av-csx-browse .av-csx-eyebrow { padding-bottom:20px; }
.av-csx-browse-row { --justify-content:center; --flex-wrap:wrap; --gap:16px 16px; --row-gap:16px; --column-gap:16px;
	justify-content:center; flex-wrap:wrap; }
.av-csx-browse-row > .elementor-element { width:calc(25% - 12px) !important; max-width:calc(25% - 12px); min-width:250px; }
.av-csx-browse-row .elementor-image-box-wrapper { background:#fff; border:1px solid #e3e6ec; border-radius:14px;
	overflow:hidden; box-shadow:0 8px 22px -4px rgba(15,31,77,.07); text-align:left;
	transition:transform .2s, box-shadow .2s; }
.av-csx-browse-row .elementor-image-box-wrapper:hover { transform:translateY(-3px);
	box-shadow:0 14px 30px -4px rgba(15,31,77,.13); }
.av-csx-browse-row .elementor-image-box-img { width:100% !important; margin:0 !important; }
.av-csx-browse-row .elementor-image-box-img img { width:100%; height:150px; object-fit:cover; border-radius:0; }
.av-csx-browse-row .elementor-image-box-content { padding:14px 16px 16px; }
.av-csx-browse-row .elementor-image-box-title { font-family:"Poppins",sans-serif !important; font-weight:700 !important;
	font-size:15px !important; line-height:20px !important; color:#202f60 !important; margin:0 0 8px !important; }
.av-csx-browse-row .elementor-image-box-title a { color:inherit; }
.av-csx-browse-row .elementor-image-box-description { font-family:"Outfit",sans-serif !important; font-weight:700 !important;
	font-size:13px !important; line-height:18px !important; color:#2655a9 !important; margin:0 !important; }

/* ---- WHY (container .av-csx-why, inner row .av-csx-why-row) ---- */
.av-csx-why { background:#f2f2f2; padding:72px var(--gut) 80px !important; text-align:center; }
.av-csx-why .av-csx-eyebrow { padding-bottom:20px; }
.av-csx-why-row { --justify-content:center; --flex-wrap:wrap; --gap:24px 24px; --row-gap:24px; --column-gap:24px;
	justify-content:center; flex-wrap:wrap; }
.av-csx-why-row > .elementor-element { width:calc(33.333% - 16px) !important; max-width:calc(33.333% - 16px); }
.av-csx-why-row .elementor-icon-box-wrapper { background:#fff; border:1px solid #e3e6ec; border-radius:16px;
	padding:30px 28px; box-shadow:0 8px 22px -4px rgba(15,31,77,.07); }
.av-csx-why-row .elementor-icon-box-icon { margin-bottom:14px !important; }
.av-csx-why-row .elementor-icon { display:inline-flex; align-items:center; justify-content:center;
	width:50px; height:50px; border-radius:12px; background:#e4f5f9; color:#0e8ca8 !important; font-size:22px; }
.av-csx-why-row .elementor-icon i, .av-csx-why-row .elementor-icon svg { color:#0e8ca8 !important; fill:#0e8ca8 !important; }
.av-csx-why-row .elementor-icon-box-title { font-family:"Poppins",sans-serif !important; font-weight:700 !important;
	font-size:17px !important; line-height:24px !important; color:#202f60 !important; margin:0 0 6px !important; }
.av-csx-why-row .elementor-icon-box-description { font-family:"Poppins",sans-serif !important;
	font-size:13.5px !important; line-height:20px !important; color:#555 !important; margin:0 !important; }

@media (max-width:991px) {
	.av-csx-title .elementor-heading-title { font-size:38px !important; line-height:48px !important; }
	.av-csx-why-row > .elementor-element { width:calc(50% - 12px) !important; max-width:calc(50% - 12px); }
	.av-csx-browse-row > .elementor-element { min-width:220px; }
}
@media (max-width:767px) {
	.av-csx-hero { padding-top:48px !important; padding-bottom:44px !important; }
	.av-csx-title .elementor-heading-title { font-size:30px !important; line-height:39px !important; }
	.av-csx-sub p { font-size:15.5px !important; line-height:26px !important; }
	.av-csx-cta { padding-bottom:56px !important; }
	.av-csx-cta-card { padding:36px 22px !important; }
	.av-csx-cta-title .elementor-heading-title { font-size:24px !important; line-height:32px !important; }
	.av-csx-counters { flex-direction:column !important; }
	.av-csx-counters > .elementor-element + .elementor-element::before { display:none; }
	.av-csx-browse-row > .elementor-element { width:100% !important; max-width:none; }
	.av-csx-why-row > .elementor-element { width:100% !important; max-width:none; }
	.av-csx-browse, .av-csx-why { padding-top:48px !important; padding-bottom:52px !important; }
}
@media (max-width:479px) {
	.av-csx-title .elementor-heading-title { font-size:26px !important; line-height:35px !important; }
}

/* ---- CTA (containers .av-csx-cta > .av-csx-cta-card, default widgets) ---- */
.av-csx-cta { background:#fff; padding:48px var(--gut) 90px !important; }
.av-csx-cta-card { background:linear-gradient(90deg, #202f60, #101e4d); border-radius:24px;
	box-shadow:0 24px 60px -12px rgba(20,36,84,.3); padding:64px 80px 68px !important;
	text-align:center; }
.av-csx-cta-title .elementor-heading-title { font-family:"Poppins",sans-serif !important; font-weight:700 !important;
	font-size:34px !important; line-height:44px !important; letter-spacing:-0.3px; color:#fff !important;
	max-width:900px; margin:0 auto; }
.av-csx-cta-sub p { font-family:"Poppins",sans-serif !important; font-size:16.5px !important;
	line-height:28px !important; color:#dce4f5 !important; max-width:760px; margin:14px auto 28px; }
.av-csx-cta-btns { --justify-content:center; --column-gap:14px; --row-gap:14px; justify-content:center; }
.av-csx-cta-btns > .elementor-element { width:auto !important; }
.av-csx-cta-btns .elementor-button { font-family:"Outfit",sans-serif !important; font-weight:600 !important;
	font-size:15px !important; line-height:21px !important; border-radius:9px !important; padding:15px 28px !important;
	transition:transform .2s, box-shadow .2s; }
.av-csx-btn-primary .elementor-button { background:#13a8c8 !important; color:#fff !important; border:0 !important; }
.av-csx-btn-primary .elementor-button:hover { transform:translateY(-1px); box-shadow:0 10px 24px rgba(19,168,200,.4); }
.av-csx-btn-outline .elementor-button { background:transparent !important; color:#fff !important;
	border:1.5px solid #8794bc !important; }
.av-csx-btn-outline .elementor-button:hover { border-color:#fff !important; }

/* Guard colors against theme heading rules that come later in combined bundles */
.av-cs-fcard__title, .av-cs-fcard__title a, .av-cs-card__title, .av-cs-card__title a,
.av-cs-about__h, .av-cs-solution__h, .av-cs-rc__t, .av-cs-wc__t, .av-cs-bcard__t,
.av-cs .av-h2, .av-cs-obj b, .av-cs-testi__q { color:#202f60 !important; }
.av-cs-dhero__title { color:#101e4d !important; }
.av-cs-dhero__title .hl { color:transparent !important; }
.av-cs-jcard__k { color:#6aa3f7 !important; }
.av-cs-jcard__p { color:rgba(255,255,255,.62) !important; }

/* =========================== RESPONSIVE ================================== */
/* Small desktop (992–1279) */
@media (max-width:1279px) {
	.av-cs-grid { grid-template-columns:repeat(2, 1fr); }
	.av-cs-dhero__r { flex-basis:440px; }
	.av-cs-dhero__row { gap:44px; }
	.av-cs-dhero__title { font-size:44px; line-height:54px; }
	.av-cs-dhero__photo img { height:320px; }
	.av-cs-fcard__l { padding:32px 36px; }
}
/* Long metadata values cramp in 4 columns below ~1200 */
@media (max-width:1199px) {
	.av-cs-meta__panel { grid-template-columns:repeat(2, 1fr); }
	.av-cs-meta__cell:nth-child(4n) { border-right:1px solid #e9edf3; }
	.av-cs-meta__cell:nth-child(2n) { border-right:0; }
	.av-cs-solution__l { flex-basis:32%; }
}
/* Tablet (≤991) */
@media (max-width:991px) {
	.av-cs-hero__title { font-size:38px; line-height:48px; }
	.av-cs-toolbar { row-gap:8px; }
	.av-cs-search { flex-basis:100%; }
	.av-cs-vdiv { display:none; }
	.av-cs-flabel { padding-left:4px; }
	.av-cs-sort { margin-left:auto; }
	.av-cs-fcard { flex-direction:column; }
	.av-cs-fcard__r { max-width:none; flex-basis:auto; padding:32px 28px; }
	.av-cs-dhero__row { flex-direction:column; align-items:flex-start; gap:36px; padding-top:34px; }
	.av-cs-dhero__r { flex-basis:auto; max-width:100%; width:100%; }
	.av-cs-dhero__title { font-size:38px; line-height:48px; }
	.av-cs-dhero__photo img { height:auto; max-height:420px; }
	.av-cs-results { flex-wrap:wrap; gap:20px 0; padding:26px 16px; }
	.av-cs-rstat { flex-basis:45%; }
	.av-cs-results .div { display:none; }
	.av-cs-solution { flex-direction:column; gap:24px; }
	.av-cs-solution__l { flex-basis:auto; }
	.av-cs-whyrow { flex-direction:column; }
	.av-cs-relserv__row, .av-cs-relcases__row { grid-template-columns:1fr; }
	.av-cs-jcard__num { display:none; }
	.av-cs-journey { padding-top:64px; padding-bottom:72px; }
	.av-cs-journey__h { font-size:34px; line-height:44px; }
}
/* Mobile (≤767) */
@media (max-width:767px) {
	.av-cs-grid, .av-cs-challenge__grid, .av-cs-objectives__grid, .av-cs-ba__grid { grid-template-columns:1fr; }
	.av-cs-ba__connector { display:none; }
	.av-cs-hero__counters { flex-direction:column; gap:18px; }
	.av-cs-hero__div { display:none; }
	.av-cs-hero { padding-top:52px; padding-bottom:48px; }
	.av-cs-toolbar { padding:10px; }
	.av-cs-sort { margin-left:0; }
	.av-cs-sort select { width:100%; }
	.av-cs-filter { padding-top:24px; }
	.av-cs-featured { padding-top:24px; }
	.av-cs-gridsec { padding-top:24px; padding-bottom:56px; }
	.av-cs-fcard__l { padding:26px 22px; }
	.av-cs-fcard__r { padding:26px 20px; }
	.av-cs-fcard__title { font-size:24px; line-height:32px; }
	.av-cs-browse, .av-cs-why { padding-top:48px; padding-bottom:52px; }
	/* detail */
	.av-cs-dhero { padding-top:32px; padding-bottom:44px; }
	.av-cs-dhero__row { padding-top:26px; }
	.av-cs-dhero__title { font-size:32px; line-height:41px; }
	.av-cs-dhero__lede { font-size:16px; line-height:27px; }
	.av-cs-rstat { flex-basis:100%; padding:0 8px; }
	.av-cs-rstat b { font-size:28px; line-height:36px; }
	.av-cs-meta { padding-top:44px; padding-bottom:44px; }
	.av-cs-meta__panel { grid-template-columns:1fr; }
	.av-cs-meta__cell, .av-cs-meta__cell:nth-child(4n) { border-right:0; }
	.av-cs-meta__cell { padding:18px 22px; }
	.av-cs-about { padding-top:44px; padding-bottom:44px; }
	.av-cs-about__h { font-size:26px; line-height:35px; }
	.av-cs-about__p { padding-left:16px; }
	.av-cs-challenge { padding-bottom:48px; }
	.av-cs-objectives { padding-bottom:48px; }
	.av-cs-obj { padding:20px; }
	.av-cs-painpill { padding:15px 18px; }
	.av-cs-solution { padding-top:48px; padding-bottom:48px; }
	.av-cs-solution__h { font-size:24px; line-height:33px; }
	.av-cs-solution__r { border-left-width:0; padding-left:0; }
	.av-cs-journey { padding-top:52px; padding-bottom:56px; }
	.av-cs-journey__h { font-size:28px; line-height:37px; }
	.av-cs-journey__steps { padding-top:36px; }
	.av-cs-jstep { gap:14px; }
	.av-cs-jcard { flex-wrap:wrap; padding:20px; gap:14px; }
	.av-cs-jcard__t { font-size:19px; line-height:27px; }
	.av-cs-ba { padding-top:48px; padding-bottom:52px; }
	.av-cs-bacol__hdr { padding:15px 20px; }
	.av-cs-bacol ul { padding:8px 20px 12px; }
	.av-cs-testi { padding-top:48px; padding-bottom:48px; }
	.av-cs-testi__card { padding:32px 22px; }
	.av-cs-testi__q { font-size:17px; line-height:27px; }
	.av-cs-trust__bar { border-radius:20px; gap:8px 22px; padding:14px 20px; }
	.av-cs-relserv { padding-bottom:44px; }
	.av-cs-relcases { padding-top:44px; padding-bottom:48px; }
	.av-cs-bcard { width:100%; }
}
/* Small phones (≤479) */
@media (max-width:479px) {
	.av-cs-hero__title, .av-cs-dhero__title { font-size:27px; line-height:36px; }
	.av-cs-fcard__title { font-size:21px; line-height:29px; }
	.av-cs .av-h2 { font-size:24px; line-height:33px; }
	.av-cs-journey__h { font-size:24px; line-height:33px; }
	.av-cs-card { padding:20px; }
	.av-cs-jstep__dot { display:none; }
	.av-cs-journey__steps::before { display:none; }
	.av-cs-fchip > button { padding:8px 10px 8px 12px; font-size:12.5px; }
}

/* ==========================================================================
   Case Study DETAIL built in Elementor Theme Builder.
   Section wrappers reuse the .av-cs-* classes above; the rules here let stock
   Elementor widgets (Heading / Text Editor / Image) sit inside them correctly,
   since Elementor wraps every widget in its own divs.
   ========================================================================== */
/* Sections that centre their children must still let them span the row. */
.av-cs-challenge > .elementor-element,
.av-cs-objectives > .elementor-element,
.av-cs-ba > .elementor-element,
.av-cs-relcases > .elementor-element,
.av-cs-about > .elementor-element,
.av-cs-trust > .elementor-element { width:100%; }
.av-cs-trust > .elementor-element { display:flex; justify-content:center; }

/* Hero split — the two columns are Elementor containers carrying these classes */
.av-cs-dhero .av-cs-dhero__row { width:100%; }
.av-cs-dhero .av-cs-dhero__l { flex:1 1 0; min-width:0; }
.av-cs-dhero .av-cs-dhero__r { flex:0 0 560px; max-width:560px; }

/* Eyebrow rendered by a stock Heading widget */
.av-csd-eyebrow .elementor-heading-title { display:inline-flex; align-items:center; gap:12px;
	font-family:"Outfit",sans-serif !important; font-weight:600 !important; font-size:11.5px !important;
	letter-spacing:2.6px; text-transform:uppercase; color:var(--teal) !important; }
.av-csd-eyebrow .elementor-heading-title::before { content:""; width:28px; height:2px; background:var(--teal); }
.av-csd-eyebrow-dark .elementor-heading-title { color:var(--teal-b) !important; }
.av-csd-eyebrow-dark .elementor-heading-title::before { background:var(--teal-b); }

/* Section heading rendered by a stock Heading widget */
.av-csd-h2 .elementor-heading-title { font-family:"Poppins",sans-serif !important; font-weight:700 !important;
	font-size:32px !important; line-height:42px !important; letter-spacing:-0.4px; color:var(--navy) !important;
	margin:0 0 18px !important; }
.av-csd-h2-center .elementor-heading-title { text-align:center; }

/* Hero lede + generic body copy from a stock Text Editor widget */
.av-csd-lede, .av-csd-lede p { font-family:"Poppins",sans-serif !important; font-size:18px !important; line-height:30px !important;
	color:var(--ink) !important; max-width:720px; margin:20px 0 0 !important; }
.av-csd-body, .av-csd-body p { font-family:"Poppins",sans-serif !important; font-size:15.5px !important; line-height:27px !important;
	color:var(--ink) !important; }
.av-csd-body p:last-child { margin-bottom:0 !important; }

/* "About the client" quote-rule treatment */
.av-csd-about-text { border-left:3px solid; border-image:linear-gradient(180deg, #2655a9, #35c4e0) 1;
	padding-left:22px; max-width:900px; }

/* Challenge intro paragraph is centred under the heading */
.av-csd-center, .av-csd-center p { text-align:center; max-width:840px; margin-left:auto !important; margin-right:auto !important;
	font-size:14.5px !important; line-height:21px !important; }

/* Solution: label column + rule-separated prose column */
.av-csd-solution-r { border-left:2px solid var(--teal); padding-left:38px; }
.av-csd-solution-r p { font-family:"Poppins",sans-serif !important; font-size:15px !important;
	line-height:26px !important; color:var(--ink) !important; }

/* Hero photo from a stock Image widget */
.av-csd-photo img { display:block; width:100%; height:396px; object-fit:cover;
	border-radius:24px; box-shadow:0 22px 48px rgba(13,23,51,.16); }

@media (max-width:991px) {
	.av-cs-dhero .av-cs-dhero__r { flex-basis:auto; max-width:100%; }
	.av-csd-photo img { height:auto; max-height:420px; }
	.av-csd-solution-r { border-left-width:0; padding-left:0; }
}
@media (max-width:767px) {
	.av-csd-h2 .elementor-heading-title { font-size:26px !important; line-height:35px !important; }
	.av-csd-lede p { font-size:16px !important; line-height:27px !important; }
	.av-csd-about-text { padding-left:16px; }
}

/* Elementor containers used purely to carry a layout/styling class must not
   contribute their own padding or gap — the .av-cs-* rules above already own
   the spacing, and Elementor's defaults would double it. */
.av-cs .e-con[class*="av-csd-"],
.av-cs .e-con.av-cs-dhero__row,
.av-cs .e-con.av-cs-dhero__l,
.av-cs .e-con.av-cs-dhero__r,
.av-cs .e-con.av-cs-solution__l,
.av-cs .e-con.av-cs-solution__r {
	--padding-top:0; --padding-right:0; --padding-bottom:0; --padding-left:0;
	--row-gap:0; --column-gap:0; padding:0;
}
/* The hero columns keep the design's own gap. */
.av-cs .e-con.av-cs-dhero__row { --column-gap:64px; --row-gap:36px; column-gap:64px;
	--padding-top:46px; padding-top:46px; align-items:center; }
.av-cs .e-con.av-cs-solution { --column-gap:56px; column-gap:56px; }
/* Widget wrappers inside those carriers should not stretch oddly. */
.av-cs .e-con[class*="av-csd-"] > .elementor-widget { width:100%; }
.av-cs .e-con.av-csd-eyebrow { align-items:flex-start; }
/* Text Editor adds its own trailing margin on the last paragraph. */
.av-cs .av-csd-lede p:last-child,
.av-cs .av-csd-body p:last-child { margin-bottom:0 !important; }

/* Re-assert the indents the blanket container reset above would otherwise zero. */
.av-cs .e-con.av-csd-about-text { padding-left:22px; --padding-left:22px; }
.av-cs .e-con.av-cs-solution__r { padding-left:38px; --padding-left:38px; }
@media (max-width:991px) {
	.av-cs .e-con.av-cs-solution__r { padding-left:0; --padding-left:0; }
}
@media (max-width:767px) {
	.av-cs .e-con.av-csd-about-text { padding-left:16px; --padding-left:16px; }
}

/* Sections whose header is centred in the design (challenge, objectives,
   before/after, related, FAQ) — the eyebrow centres with the heading. */
.av-cs .e-con.av-csd-eyebrow-center { align-items:center; }
.av-cs .e-con.av-csd-eyebrow-center .elementor-widget { width:auto; }
/* Give the centred eyebrow the same breathing room as the design's .av-sec-head */
.av-cs .e-con.av-csd-eyebrow-center { padding-bottom:16px; --padding-bottom:16px; }

/* Elementor containers default to full width; restore the design's column split. */
.av-cs .e-con.av-cs-solution__l { flex:0 0 38%; width:38%; --width:38%; }
.av-cs .e-con.av-cs-solution__r { flex:1 1 0; width:auto; --width:auto; min-width:0; }
.av-cs .e-con.av-cs-dhero__l { width:auto; --width:auto; }
.av-cs .e-con.av-cs-dhero__r { width:560px; --width:560px; }
@media (max-width:991px) {
	.av-cs .e-con.av-cs-solution__l,
	.av-cs .e-con.av-cs-solution__r,
	.av-cs .e-con.av-cs-dhero__r { flex:1 1 100%; width:100%; --width:100%; }
}

/* A case study with no featured image should not reserve the 560px photo
   column — let the copy use the full width instead of leaving a gap. */
.av-cs .e-con.av-cs-dhero__r:not(:has(img)) { flex:0 0 auto; width:auto; --width:auto; }
.av-cs .e-con.av-csd-photo:not(:has(img)) { display:none; }

/* The theme gives an OPEN faq question `background-color:#fff` (style.css
   `.faq-item .faq-title.active h3`). On the case-study FAQ section, which sits
   on a grey band, that renders as a white strip behind the question. Scope the
   removal to this section so FAQ styling elsewhere on the site is untouched. */
.av-cs .faq-item .faq-title h3,
.av-cs .faq-item .faq-title.active h3 { background-color:transparent; box-shadow:none; }

/* Filter dropdowns: the product list runs to 20+ entries and was spilling off
   the bottom of the page. Cap the height, scroll inside, and tighten the rows. */
.av-cs-fchip__menu { max-height:min(320px, 52vh); overflow-y:auto; overscroll-behavior:contain;
	padding:6px; scrollbar-width:thin; }
.av-cs-fchip__menu label { padding:6px 9px; font-size:13px; line-height:18px; gap:8px; }
.av-cs-fchip__menu::-webkit-scrollbar { width:8px; }
.av-cs-fchip__menu::-webkit-scrollbar-thumb { background:#cfd7e4; border-radius:8px; }
.av-cs-fchip__menu::-webkit-scrollbar-track { background:transparent; }
/* Near the right edge the menu should not push the page wider. */
.av-cs-chips { position:relative; }
@media (max-width:767px) {
	.av-cs-fchip__menu { max-height:min(260px, 46vh); min-width:200px; }
	.av-cs-fchip__menu label { padding:5px 8px; }
}

/* Tablet stacking.
   Elementor writes --flex-direction:row into its own per-element CSS, whose
   selector is three classes deep and therefore beats this file. The template's
   flex-wrap-mobile made things stack under 768px, so the two-column hero and
   solution rows stayed side by side from 768–991px with the text column
   crushed. Force the stack for that range. */
@media (max-width:991px) {
	.av-cs .e-con.av-cs-dhero__row,
	.av-cs .e-con.av-cs-solution {
		--flex-direction:column !important;
		flex-direction:column !important;
		--flex-wrap:nowrap;
	}
	.av-cs .e-con.av-cs-dhero__l,
	.av-cs .e-con.av-cs-dhero__r,
	.av-cs .e-con.av-cs-solution__l,
	.av-cs .e-con.av-cs-solution__r {
		--width:100% !important;
		width:100% !important;
		max-width:100% !important;
		flex:0 0 auto !important;
	}
	.av-cs .e-con.av-cs-dhero__row { --row-gap:32px; row-gap:32px; }
	.av-cs .e-con.av-cs-solution { --row-gap:24px; row-gap:24px; }
}
