/* Digital Allo Industries hub and detail pages. All styles are component-scoped. */
.da-industry-hub,
.da-industry-page {
	--di-ink: #10254f;
	--di-navy: #0b1533;
	--di-copy: #4f6488;
	--di-blue: #1677e8;
	--di-cyan: #39cce8;
	--di-indigo: #5146c7;
	--di-pink: #d633a6;
	--di-line: #d8e5f8;
	--di-soft: #f3f7ff;
	--di-gradient: linear-gradient(110deg, var(--di-blue), var(--di-indigo) 58%, var(--di-pink));
	color: var(--di-copy);
	font-family: Poppins, Arial, sans-serif;
	font-size: 16px;
	line-height: 1.7;
	overflow-x: clip;
}
.da-industry-hub *, .da-industry-page * { box-sizing: border-box; }
.dih-wrap, .dip-wrap { width: min(1240px, calc(100% - 40px)); margin-inline: auto; }
.dih-eyebrow, .dip-eyebrow { display:flex; align-items:center; gap:10px; margin:0 0 18px; color:#a9d1ff; font-size:11px; font-weight:900; letter-spacing:.15em; line-height:1.4; text-transform:uppercase; }
.dih-eyebrow>span, .dip-eyebrow>span { width:28px; height:3px; flex:0 0 auto; border-radius:3px; background:var(--di-gradient); }
.dih-eyebrow--dark, .dip-eyebrow--dark { color:#176bd0; }
.dih-hero { position:relative; isolation:isolate; overflow:hidden; padding:clamp(68px,8vw,110px) 0 78px; background:radial-gradient(ellipse at 86% 10%,rgba(47,107,222,.38),transparent 35%),radial-gradient(ellipse at 78% 100%,rgba(183,49,173,.2),transparent 43%),linear-gradient(120deg,#081a39,#102958 58%,#242050); color:#fff; }
.dih-hero::before { position:absolute; z-index:-1; inset:0; background:radial-gradient(ellipse at 8% 10%,rgba(72,137,255,.12),transparent 62%),radial-gradient(ellipse at 94% 90%,rgba(190,58,178,.09),transparent 60%); content:""; }
.dih-hero__grid { display:grid; grid-template-columns:minmax(0,1.06fr) minmax(330px,.94fr); gap:clamp(38px,6vw,88px); align-items:center; }
.dih-hero h1 { max-width:720px; margin:0 0 23px; color:#fff!important; font-size:clamp(46px,6.4vw,78px); font-weight:900; letter-spacing:-.06em; line-height:1.02; }
.dih-hero h1 em { color:transparent; background:linear-gradient(90deg,#47d5e8,#74a9ff 55%,#de5bcf); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; font-style:normal; }
.dih-hero__intro { max-width:650px; margin:0; color:#d8e5fa!important; font-size:clamp(16px,1.5vw,19px); line-height:1.75; }
.dih-actions { display:flex; flex-wrap:wrap; gap:13px; margin-top:30px; }
.dih-button, .dip-button { display:inline-flex; min-height:49px; align-items:center; justify-content:center; gap:11px; padding:12px 20px; border:1px solid transparent; border-radius:999px; font-size:14px; font-weight:850; line-height:1.25; text-decoration:none!important; transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,border-color .2s ease; }
.dih-button:hover, .dip-button:hover { transform:translateY(-2px); }
.dih-button:focus-visible, .dip-button:focus-visible, .dih-card__link:focus-visible, .dih-capability a:focus-visible, .dip-service-card a:focus-visible, .dip-text-link:focus-visible, .dip-crumbs a:focus-visible { outline:3px solid #39cce8; outline-offset:3px; }
.dih-button--primary, .dip-button--primary { background:var(--di-gradient); color:#fff!important; box-shadow:0 12px 28px rgba(30,91,211,.3); }
.dih-button--outline, .dip-button--outline { border-color:rgba(139,186,255,.55); background:rgba(11,28,63,.38); color:#e8f1ff!important; }
.dih-button--outline:hover, .dip-button--outline:hover { background:rgba(35,102,197,.24); }
.dih-note { margin:17px 0 0; color:#a8bedf!important; font-size:13px; }
.dih-hero__visual { position:relative; isolation:isolate; display:block; min-width:0; margin:0; overflow:hidden; aspect-ratio:1.35; border:1px solid rgba(119,177,255,.48); border-radius:30px; background:#122b57; box-shadow:0 25px 70px rgba(0,0,0,.2),inset 0 1px rgba(255,255,255,.14); }
.dih-hero__visual::after, .dip-hero__media::after { position:absolute; z-index:1; inset:35% 0 0; background:linear-gradient(180deg,transparent,rgba(5,15,39,.66)); content:""; pointer-events:none; }
.dih-hero__visual>img, .dip-hero__media>img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 43%; }
.dih-visual__caption { position:absolute; z-index:2; right:18px; bottom:16px; left:18px; display:flex; justify-content:center; flex-wrap:wrap; gap:8px; }
.dih-visual__caption span { padding:7px 11px; border:1px solid rgba(131,186,255,.3); border-radius:999px; background:rgba(8,27,63,.45); color:#d9ebff; font-size:10px; font-weight:750; }
.dih-directory { padding:86px 0 94px; background:linear-gradient(180deg,#f2f7ff,#fff 82%); }
.dih-section-head { max-width:780px; margin:0 auto 38px; text-align:center; }
.dih-section-head .dih-eyebrow, .dih-section-head .dip-eyebrow { justify-content:center; }
.dih-section-head h2 { margin:0; color:var(--di-ink)!important; font-size:clamp(32px,4vw,48px); font-weight:900; letter-spacing:-.045em; line-height:1.1; }
.dih-section-head>p:last-child { margin:15px 0 0; color:#5c7197; font-size:16px; line-height:1.7; }
.dih-industry-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.dih-card { min-width:0; }
.dih-card__link { position:relative; display:flex; height:100%; min-height:275px; flex-direction:column; align-items:flex-start; padding:25px 25px 23px; border:1px solid #d5e2f6; border-radius:22px; background:#fff; box-shadow:0 12px 34px rgba(30,75,137,.075); color:inherit; text-decoration:none!important; transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease; }
.dih-card__link:hover { transform:translateY(-5px); border-color:#9ec2f6; box-shadow:0 20px 42px rgba(30,75,137,.14); }
.dih-card__image { display:block; width:calc(100% + 50px); margin:-25px -25px 20px; overflow:hidden; aspect-ratio:1.58; border-radius:21px 21px 12px 12px; background:#e8effb; }
.dih-card__image img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 42%; }
.dih-card__eyebrow { margin-bottom:7px; color:#2478e7; font-size:9px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.dih-card h3 { margin:0 0 10px; color:#10254f!important; font-size:20px; font-weight:900; letter-spacing:-.03em; line-height:1.25; }
.dih-card__description { display:block; margin:0 0 20px; color:#5d7195; font-size:14px; line-height:1.65; }
.dih-card__more { display:inline-flex; align-items:center; gap:8px; margin-top:auto; color:#126dd7; font-size:13px; font-weight:850; }
.dih-card__more span, .dih-capability a span, .dip-service-card a span, .dip-text-link span { transition:transform .2s ease; }
.dih-card__link:hover .dih-card__more span, .dih-capability a:hover span, .dip-service-card a:hover span, .dip-text-link:hover span { transform:translateX(4px); }
.dih-capabilities { padding:82px 0 90px; background:radial-gradient(ellipse at 90% 10%,rgba(38,101,209,.26),transparent 42%),linear-gradient(120deg,#0b1d3b,#142d5d 60%,#272050); color:#fff; }
.dih-section-head--light h2 { color:#fff!important; }
.dih-section-head--light>p:last-child { color:#d6e4f8; }
.dih-capability-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.dih-capability { min-width:0; padding:26px; border:1px solid rgba(151,190,255,.27); border-radius:22px; background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.035)); box-shadow:inset 0 1px rgba(255,255,255,.06); }
.dih-capability__index { display:inline-block; margin-bottom:18px; color:#77cfe8; font-size:11px; font-weight:900; letter-spacing:.14em; }
.dih-capability h3 { margin:0 0 10px; color:#fff!important; font-size:21px; font-weight:850; }
.dih-capability p { min-height:5.2em; margin:0 0 20px; color:#d1def5!important; font-size:14px; line-height:1.7; }
.dih-capability a { display:inline-flex; align-items:center; gap:8px; color:#a9d7ff!important; font-size:13px; font-weight:850; text-decoration:none; }
.dih-next { padding:68px 0; background:#eef4ff; }
.dih-next__inner { display:flex; align-items:center; justify-content:space-between; gap:36px; }
.dih-next__inner>div { max-width:780px; }
.dih-next h2 { margin:0; color:var(--di-ink)!important; font-size:clamp(28px,3.6vw,42px); font-weight:900; letter-spacing:-.04em; line-height:1.12; }
.dih-next p:last-child { margin:14px 0 0; color:#5c7197; font-size:15px; line-height:1.7; }
.dih-next .dih-button { flex:0 0 auto; }

/* Detail-page hierarchy mirrors the approved IT Services child pages. */
.dip-hero { position:relative; isolation:isolate; overflow:hidden; padding:28px 0 76px; background:radial-gradient(ellipse at 86% 2%,rgba(47,107,222,.35),transparent 36%),radial-gradient(ellipse at 8% 20%,rgba(81,70,199,.28),transparent 48%),linear-gradient(150deg,#0b1533 0%,#142149 55%,#0d1a3d 100%); color:#fff; }
.dip-hero::after { position:absolute; z-index:-1; right:-120px; bottom:-260px; width:600px; height:600px; border-radius:50%; background:radial-gradient(circle,rgba(214,51,166,.12),transparent 68%); content:""; }
.dip-crumbs { margin:0 0 clamp(36px,5vw,66px); }
.dip-crumbs ol { display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; list-style:none; color:#a8bedf; font-size:12px; font-weight:650; }
.dip-crumbs a { color:#cfe0ff; text-decoration:none; }
.dip-crumbs a:hover { color:#fff; text-decoration:underline; }
.dip-crumbs [aria-current="page"] { color:#fff; }
.dip-hero__grid { display:grid; grid-template-columns:minmax(0,1.16fr) minmax(300px,.84fr); gap:clamp(32px,5vw,72px); align-items:center; }
.dip-hero h1 { max-width:18ch; margin:0; color:#fff!important; font-size:clamp(36px,4.6vw,58px); font-weight:900; letter-spacing:-.05em; line-height:1.06; }
.dip-hero__lede { max-width:62ch; margin:20px 0 0; color:#c7d7f3!important; font-size:clamp(16px,1.3vw,18px); line-height:1.7; }
.dip-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:27px; }
.dip-chips { display:flex; flex-wrap:wrap; gap:9px; margin:24px 0 0; padding:0; list-style:none; }
.dip-chips li { padding:8px 13px; border:1px solid rgba(170,198,255,.28); border-radius:999px; background:rgba(255,255,255,.055); color:#d8e5fa; font-size:11px; font-weight:750; }
.dip-hero__media { position:relative; isolation:isolate; min-width:0; margin:0; overflow:hidden; aspect-ratio:1.35; border:1px solid rgba(119,177,255,.46); border-radius:28px; background:#122b57; box-shadow:0 24px 64px rgba(0,0,0,.2),inset 0 1px rgba(255,255,255,.12); }
.dip-hero__media-caption { position:absolute; z-index:2; right:14px; bottom:14px; left:14px; color:#fff; font-size:11px; font-weight:800; letter-spacing:.04em; text-align:center; text-shadow:0 1px 8px rgba(3,12,32,.8); }
.dip-hero__media-caption span { padding-inline:5px; color:#a9d7ff; }
.dip-section { padding:80px 0; }
.dip-context { background:linear-gradient(180deg,#f2f7ff,#fff); }
.dip-context__grid { display:grid; grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr); gap:clamp(36px,7vw,100px); align-items:start; }
.dip-context h2, .dip-section-head h2 { margin:0; color:var(--di-ink)!important; font-size:clamp(30px,3.8vw,45px); font-weight:900; letter-spacing:-.045em; line-height:1.1; }
.dip-prose { max-width:760px; color:#52688f; font-size:16px; line-height:1.8; }
.dip-prose p { margin:0 0 18px; }
.dip-prose p:last-child { margin-bottom:0; }
.dip-challenges { background:#fff; }
.dip-section-head { max-width:790px; margin:0 auto 35px; text-align:center; }
.dip-section-head .dip-eyebrow { justify-content:center; }
.dip-section-head>p:last-child { margin:14px 0 0; color:#60759a; font-size:15px; line-height:1.7; }
.dip-challenge-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.dip-challenge { display:flex; min-height:158px; flex-direction:column; align-items:flex-start; padding:24px; border:1px solid #dce7f8; border-radius:19px; background:#f7faff; box-shadow:0 10px 30px rgba(27,65,126,.055); }
.dip-challenge__index { display:grid; width:36px; height:36px; place-items:center; margin-bottom:16px; border-radius:11px; background:linear-gradient(130deg,#1677e8,#5146c7); color:#fff; font-size:10px; font-weight:900; }
.dip-challenge p { margin:0; color:#425b83; font-size:14px; line-height:1.65; }
.dip-services { background:linear-gradient(180deg,#f1f6ff,#fff); }
.dip-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.dip-service-card { display:flex; min-width:0; min-height:300px; flex-direction:column; align-items:flex-start; padding:25px; border:1px solid #d6e3f6; border-radius:21px; background:#fff; box-shadow:0 12px 32px rgba(29,69,130,.075); transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease; }
.dip-service-card:hover { transform:translateY(-4px); border-color:#a6c6f2; box-shadow:0 19px 38px rgba(29,69,130,.13); }
.dip-service-card__number { display:grid; width:43px; height:43px; place-items:center; margin-bottom:19px; border:1px solid #c7dcff; border-radius:13px; background:linear-gradient(145deg,#edf6ff,#f2edff); color:#176fe0; font-size:11px; font-weight:900; }
.dip-service-card h3 { margin:0 0 11px; color:#10254f!important; font-size:21px; font-weight:900; letter-spacing:-.03em; }
.dip-service-card p { margin:0 0 22px; color:#556b90; font-size:14px; line-height:1.7; }
.dip-service-card a, .dip-text-link { display:inline-flex; align-items:center; gap:8px; margin-top:auto; color:#126dd7!important; font-size:13px; font-weight:850; text-decoration:none; }
.dip-faq { padding:clamp(56px,7vw,96px) 0; background:var(--faq-bg,#edf3ff); }
.dip-faq__grid { display:grid; grid-template-columns:minmax(260px,.58fr) minmax(0,1fr); gap:clamp(32px,5vw,64px); align-items:start; }
.dip-faq .dip-section-head { max-width:460px; margin:0; text-align:left; }
.dip-faq .dip-section-head .dip-eyebrow { justify-content:flex-start; }
.dip-faq .dip-section-head>p:not(.dip-eyebrow) { max-width:38ch; margin:16px 0 22px; color:var(--di-copy); font-size:16px; line-height:1.7; }
.dip-faq .dip-section-head .dip-text-link { display:inline-flex; min-height:48px; align-items:center; justify-content:center; gap:10px; margin:0; padding:12px 20px; border:1px solid transparent; border-radius:999px; background:var(--di-gradient); box-shadow:0 12px 26px rgba(30,91,211,.22); color:#fff!important; font-size:14px; line-height:1.25; text-decoration:none; transition:transform .2s ease,box-shadow .2s ease; }
.dip-faq .dip-section-head .dip-text-link:hover { transform:translateY(-2px); box-shadow:0 15px 30px rgba(30,91,211,.28); }
.dip-faq .dip-section-head .dip-text-link:focus-visible { outline:3px solid var(--di-blue); outline-offset:3px; }
.dip-faq .dis-faq { display:grid; gap:12px; }
.dip-faq .dis-faq__item { overflow:hidden; border:1px solid var(--faq-line,rgba(94,126,186,.22)); border-radius:16px; background:#fff; box-shadow:0 10px 26px rgba(31,62,122,.055); transition:border-color .24s ease,box-shadow .24s ease,transform .24s ease; }
.dip-faq .dis-faq__item:hover { border-color:#c9dcf9; box-shadow:0 12px 28px rgba(16,40,100,.07); transform:translateY(-2px); }
.dip-faq .dis-faq__item h3 { margin:0; }
.da-industry-page .dip-faq .dis-faq__q { box-sizing:border-box; display:flex; width:100%; min-height:68px; align-items:center; justify-content:space-between; gap:18px; margin:0; padding:19px 24px; border:0; border-radius:0; background:#fff; background-image:none; box-shadow:none; color:var(--faq-ink,#172750)!important; font:800 clamp(15px,1.35vw,18px)/1.35 Poppins,Arial,sans-serif; font-size:clamp(15px,1.35vw,18px)!important; line-height:1.35!important; letter-spacing:-.01em; text-align:left; text-transform:none; cursor:pointer; transition:color .24s ease; }
.da-industry-page .dip-faq .dis-faq__q:hover { background:#fff; box-shadow:none; color:var(--faq-ink,#172750)!important; filter:none; }
.da-industry-page .dip-faq .dis-faq__q:focus-visible { outline:3px solid var(--di-blue); outline-offset:-3px; box-shadow:none; }
.da-industry-page .dip-faq .dis-faq__icon { position:relative; display:grid; width:28px; height:28px; flex:0 0 28px; place-items:center; margin-left:auto; border:0; border-radius:50%; background:var(--faq-gradient,var(--di-gradient)); color:#fff; }
.da-industry-page .dip-faq .dis-faq__icon::before, .da-industry-page .dip-faq .dis-faq__icon::after { position:absolute; top:50%; left:50%; width:11px; height:2px; border-radius:2px; background:#fff; content:""; transform:translate(-50%,-50%); transition:transform .2s ease; }
.dip-faq .dis-faq__icon::after { transform:translate(-50%,-50%) rotate(90deg); }
.da-industry-page .dip-faq .dis-faq__icon::after { width:2px; height:11px; }
.da-industry-page .dip-faq .dis-faq__q[aria-expanded="true"] .dis-faq__icon::after { transform:translate(-50%,-50%) rotate(0); }
.da-industry-page .dip-faq .dis-faq__a { padding:0 24px 22px; color:var(--faq-copy,#53688f); font-size:16px; line-height:1.7; }
.dip-faq .dis-faq__a[hidden] { display:none; }
.dip-faq .dis-faq__a p { margin:0; }
.dip-related { padding:55px 0; background:linear-gradient(120deg,#0b1d3b,#142d5d 60%,#272050); color:#fff; }
.dip-related__inner { display:flex; align-items:center; justify-content:space-between; gap:30px; }
.dip-related__inner>div { max-width:760px; }
.dip-related h2 { margin:0; color:#fff!important; font-size:clamp(27px,3.2vw,38px); font-weight:900; letter-spacing:-.04em; line-height:1.12; }
.dip-related p:last-child { margin:12px 0 0; color:#d2e0f7; font-size:14px; line-height:1.7; }
.dip-related .dip-button { flex:0 0 auto; }
.da-industry-hub :is(h1,h2,h3,p), .da-industry-page :is(h1,h2,h3,p,li) { overflow-wrap:anywhere; }
.da-industry-hub .dih-hero h1, .da-industry-page .dip-hero h1 { color:#fff!important; }
.da-industry-hub .dih-hero .dih-eyebrow, .da-industry-page .dip-hero .dip-eyebrow { color:#a9d1ff!important; }
.da-industry-page .dip-hero .dip-chips li { color:#d8e5fa!important; }
.da-industry-hub .dih-capabilities .dih-section-head h2, .da-industry-page .dip-related h2 { color:#fff!important; }
.da-industry-hub .dih-capabilities .dih-section-head>p:last-child, .da-industry-page .dip-related .dip-eyebrow { color:#d6e4f8!important; }
.da-industry-hub .dih-capabilities .dih-section-head .dih-eyebrow { color:#a9d1ff!important; }
.da-industry-hub .dih-capability h3 { color:#fff!important; }
body.page-template-page-industries-we-serve, body.page-template-page-industry { overflow-x:clip; }

@media (max-width:1000px) {
	.dih-hero__grid { grid-template-columns:minmax(0,1fr) minmax(280px,.85fr); gap:34px; }
	.dih-industry-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.dih-capability-grid, .dip-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.dip-hero__grid { grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr); gap:32px; }
	.dip-context__grid { gap:34px; }
	.dip-faq__grid { grid-template-columns:1fr; gap:30px; }
}
@media (max-width:720px) {
	.dih-wrap, .dip-wrap { width:min(100% - 32px,600px); }
	.dih-hero { padding:58px 0 56px; }
	.dih-hero__grid, .dip-hero__grid { grid-template-columns:1fr; gap:32px; }
	.dih-hero h1 { font-size:clamp(42px,12vw,60px); }
	.dih-hero__visual { border-radius:24px; }
	.dih-directory, .dip-section { padding:62px 0; }
	.dih-section-head { margin-bottom:27px; }
	.dih-section-head>p:last-child { font-size:15px; }
	.dih-industry-grid { grid-template-columns:1fr; gap:14px; }
	.dih-card__link { min-height:0; padding:21px; border-radius:19px; }
	.dih-card__image { width:calc(100% + 42px); margin:-21px -21px 16px; }
	.dih-card h3 { font-size:19px; }
	.dih-card__description { margin-bottom:15px; }
	.dih-capabilities { padding:62px 0; }
	.dih-capability-grid, .dip-challenge-grid, .dip-service-grid { grid-template-columns:1fr; gap:14px; }
	.dih-capability { padding:22px; }
	.dih-capability p { min-height:0; }
	.dih-next { padding:48px 0; }
	.dih-next__inner, .dip-related__inner { align-items:flex-start; flex-direction:column; gap:23px; }
	.dih-next .dih-button, .dip-related .dip-button { width:100%; }
	.dip-hero { padding:22px 0 56px; }
	.dip-crumbs { margin-bottom:34px; }
	.dip-hero h1 { font-size:clamp(34px,10vw,49px); }
	.dip-hero__media { border-radius:23px; }
	.dip-context__grid, .dip-faq__grid { grid-template-columns:1fr; gap:24px; }
	.dip-faq { padding:48px 0 54px; }
	.dip-context h2, .dip-section-head h2 { font-size:clamp(29px,8vw,38px); }
	.dip-section-head { margin-bottom:25px; }
	.dip-faq .dip-section-head { text-align:left; }
	.dip-faq .dip-section-head .dip-eyebrow { justify-content:flex-start; }
	.dip-challenge { min-height:0; padding:21px; }
	.dip-service-card { min-height:0; padding:22px; }
	.da-industry-page .dip-faq .dis-faq__q { min-height:64px; padding:16px 18px; font-size:15px!important; }
	.da-industry-page .dip-faq .dis-faq__a { padding:0 18px 18px; font-size:15px; }
	.dip-related { padding:45px 0; }
}
@media (max-width:380px) {
	.dih-wrap, .dip-wrap { width:calc(100% - 28px); }
	.dih-actions, .dip-actions { align-items:stretch; flex-direction:column; }
	.dih-button, .dip-button { width:100%; }
	.dip-crumbs ol { font-size:11px; }
}
@media (prefers-reduced-motion:reduce) {
	.da-industry-hub *, .da-industry-page * { scroll-behavior:auto!important; transition:none!important; }
	.dih-card__link:hover, .dip-service-card:hover, .dih-button:hover, .dip-button:hover { transform:none; }
	.dip-faq .dis-faq__item:hover, .dip-faq .dip-section-head .dip-text-link:hover { transform:none; }
}
