/* Homepage composition. Editorial text and section order live in Gutenberg. */
.front-page > .wp-block-group,
.front-page > .ll-featured-section {
	margin-block: 0;
}
.front-page {overflow-wrap: anywhere;}

.ll-home-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background: radial-gradient(ellipse at 76% 45%, #172e50 0%, #0d1c31 42%, #07111b 80%);
	color: #fff;
}
.ll-home-hero::before {
	content: "";
	position: absolute;
	z-index: -1;
	inset: 0;
	background: radial-gradient(circle at 80% 30%, #2563eb30, transparent 35%),
		linear-gradient(125deg, transparent 48%, #00b6f510 70%, transparent 92%);
}
.ll-home-hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr);
	align-items: center;
	gap: clamp(2rem, 5vw, 5rem);
	min-width: 0;
	min-height: clamp(550px, 48vw, 700px);
	padding-block: clamp(5rem, 9vw, 8rem);
}
.ll-home-hero__copy {width: 100%;min-width: 0;max-width: 720px;}
.ll-home-hero .eyebrow {
	color: #77d5ff;
	font-size: .875rem;
	letter-spacing: .16em;
}
.ll-home-hero h1 {
	max-width: 760px;
	margin: .45rem 0 1.35rem;
	color: #fff;
	font-size: clamp(3rem, 4.6vw, 4.5rem);
	line-height: 1.065;
	letter-spacing: -.055em;
	overflow-wrap: anywhere;
	hyphens: none;
}
.ll-home-hero h1 span {
	display: block;
	overflow-wrap: anywhere;
	color: #7bc6ff;
	background: linear-gradient(105deg, #72d4ff 0%, #92adff 55%, #b18bff 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}
.ll-home-hero .lead {
	max-width: 620px;
	margin: 0;
	color: #d5e0ee;
	font-size: clamp(1.08rem, 1.65vw, 1.35rem);
	line-height: 1.65;
}
.ll-home-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: .85rem;
	margin-top: 2.25rem;
}
.ll-home-hero .wp-block-button__link,
.ll-home-cta .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: .85rem 1.4rem;
	border: 1px solid #4178f9;
	border-radius: 10px;
	background: #2563eb;
	color: #fff;
	font-size: 1rem;
	font-weight: 700;
	text-decoration: none;
	box-shadow: 0 8px 28px #2563eb35;
}
.ll-home-hero .is-style-outline .wp-block-button__link {
	border-color: #7b91af;
	background: #ffffff0a;
	box-shadow: none;
}
.ll-home-hero .wp-block-button__link:hover,
.ll-home-cta .wp-block-button__link:hover {background: #1d4fd0;}
.ll-home-hero .is-style-outline .wp-block-button__link:hover {background: #ffffff1f;}

.ll-system-illustration {
	position: relative;
	width: min(100%, 520px);
	aspect-ratio: 1;
	margin-inline: auto;
	border-radius: 50%;
	filter: drop-shadow(0 28px 60px #0005);
}
.ll-system-illustration__grid {
	position: absolute;
	inset: 9%;
	border-radius: 50%;
	background-image: linear-gradient(#8cc5ff10 1px, transparent 1px), linear-gradient(90deg, #8cc5ff10 1px, transparent 1px);
	background-size: 24px 24px;
	-webkit-mask-image: radial-gradient(circle, #000 35%, transparent 72%);
	mask-image: radial-gradient(circle, #000 35%, transparent 72%);
}
.ll-system-illustration__ring {
	position: absolute;
	border: 1px solid #73aaff48;
	border-radius: 50%;
}
.ll-system-illustration__ring--outer {inset: 8%;box-shadow: 0 0 0 20px #4a84e908, 0 0 0 45px #4a84e905;}
.ll-system-illustration__ring--inner {inset: 24%;border-style: dashed;border-color: #9fcaff5e;}
.ll-system-illustration__core {
	position: absolute;
	inset: 34% 30%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: .25rem;
	border: 1px solid #76bfff9c;
	border-radius: 20px;
	background: linear-gradient(145deg, #1d3c68, #10294c 68%, #152558);
	box-shadow: inset 0 1px #d6e9ff48, 0 0 55px #2c7dff69, 0 22px 36px #0007;
	text-align: center;
}
.ll-system-illustration__logo {display:block;width:64px;height:64px;padding:8px;border-radius:10px;background:#fff;object-fit:contain;flex:none}
.ll-system-illustration__logo--custom {width:min(140px,80%);height:64px}
.ll-system-illustration__core strong {font-size: clamp(1rem, 1.7vw, 1.4rem);letter-spacing: -.03em;}
.ll-system-illustration__core small {color: #b6cbe3;font-size: .7rem;}
.ll-system-illustration__node {
	position: absolute;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: .48rem;
	max-width: 38%;
	padding: .58rem .78rem;
	border: 1px solid #6399d377;
	border-radius: 9px;
	background: #162b46eb;
	box-shadow: inset 0 1px #ffffff16, 0 12px 24px #0005;
	color: #eaf3ff;
	font-size: clamp(.68rem, .9vw, .82rem);
	font-weight: 650;
	white-space: normal;
	overflow-wrap: anywhere;
}
.ll-system-illustration__node i {width: .5rem;height: .5rem;flex: none;border-radius: 50%;background: #64cdfb;box-shadow: 0 0 12px #64cdfb;}
.ll-system-illustration__node--1 {left: 1%;top: 19%;}
.ll-system-illustration__node--2 {right: 3%;top: 12%;}
.ll-system-illustration__node--3 {right: 0;top: 43%;}
.ll-system-illustration__node--4 {right: 8%;bottom: 13%;}
.ll-system-illustration__node--5 {left: 4%;bottom: 12%;}
.ll-system-illustration__node--6 {left: 0;top: 47%;}
.ll-system-illustration__node--3 i,.ll-system-illustration__node--5 i {background: #b78aff;box-shadow: 0 0 12px #b78aff;}

.ll-home-services,.ll-home-approach {background: #f7faff;}
.ll-home-services h2,.ll-home-tech h2,.ll-home-approach h2,.ll-featured-section h2 {
	margin: 0 0 .7rem;
	font-size: clamp(2rem, 3.2vw, 3rem);
	line-height: 1.15;
	letter-spacing: -.04em;
}
.ll-home-services .container > p,.ll-home-tech .container > p,.ll-home-approach .container > p,
.ll-featured-section__intro {max-width: 760px;margin: 0 0 2.25rem;color: var(--ll-muted);font-size: 1.08rem;}
.ll-home-services .ll-content-grid {grid-template-columns: repeat(5, minmax(0, 1fr));gap: 1rem;}
.ll-home-services .ll-content-card {
	min-height: 250px;
	border: 1px solid #dbe5f1;
	border-radius: 15px;
	background: #fff;
	box-shadow: 0 12px 32px #0d233407;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.ll-home-services .ll-content-card:is(:hover, :focus-within) {
	transform: translateY(-4px);
	border-color: var(--ll-blue);
	box-shadow: 0 22px 42px #0d233416;
}
.ll-home-services .ll-content-card__body {padding: 1.45rem;}
.ll-home-services .ll-content-card h3 {font-size: 1.08rem;line-height: 1.3;}
.ll-home-services .ll-content-card h3 a:is(:hover, :focus-visible) {text-decoration: underline;}
.ll-home-services .ll-content-card p {font-size: .93rem;line-height: 1.55;}

.ll-home-tech {background: #101d2c;color: #fff;}
.ll-home-tech h2 {color: #fff;}
.ll-home-tech .container > p {color: #c7d5e6;}
.ll-technology-strip {display: flex;flex-wrap: wrap;gap: .75rem;list-style: none;margin: 0;padding: 0;}
.ll-technology-strip li {padding: .78rem 1.1rem;border: 1px solid #46617b;border-radius: 10px;background: #ffffff0b;color: #edf6ff;font-size: .95rem;font-weight: 700;}
.ll-technology-strip a {color: inherit;text-decoration: none;}
.ll-technology-strip a:is(:hover, :focus-visible) {text-decoration: underline;}
.ll-technology-strip--logos{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:1.5rem .75rem;align-items:start}
.ll-technology-strip--logos li{min-width:0;padding:0;border:0;border-radius:0;background:none;text-align:center}
.ll-technology-strip--logos .ll-technology-strip__item{display:flex;flex-direction:column;align-items:center;gap:.85rem;padding:.25rem;text-decoration:none}
.ll-technology-strip__mark{display:grid;place-items:center;flex:none;width:72px;height:72px;border-radius:16px;background:var(--wp--preset--color--white,#fff)}
.ll-technology-strip__mark img{display:block;width:44px;height:44px;object-fit:contain}
.ll-technology-strip__name{line-height:1.4;overflow-wrap:anywhere}
.ll-technology-strip--logos a:hover .ll-technology-strip__name{text-decoration:underline;text-underline-offset:.25em}
.ll-technology-strip--logos a:focus-visible{outline:3px solid #9bd7ff;outline-offset:4px;border-radius:10px}
@media(max-width:1100px){.ll-technology-strip--logos{grid-template-columns:repeat(5,minmax(0,1fr));gap:1.75rem 1rem}}
@media(max-width:600px){.ll-technology-strip--logos{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem .75rem}.ll-technology-strip__mark{width:64px;height:64px}}
@media(max-width:359px){.ll-technology-strip--logos{grid-template-columns:repeat(2,minmax(0,1fr))}}

.ll-home-approach {background: #fff;}
.ll-home-approach .container {display: grid;grid-template-columns: minmax(0, 1fr) minmax(420px, 1.05fr);column-gap: clamp(2rem, 6vw, 7rem);align-items: start;}
.ll-home-approach .eyebrow,.ll-home-approach h2,.ll-home-approach .container > p:not(.eyebrow) {grid-column: 1;}
.ll-home-approach .container > p:not(.eyebrow) {line-height: 1.7;}
.ll-process-steps {grid-column: 2;grid-row: 1 / span 4;display: grid;gap: .85rem;margin: 0;padding: 0;list-style: none;counter-reset: step;}
.ll-process-steps li {display: flex;align-items: center;gap: 1rem;min-height: 70px;padding: 1rem 1.25rem;border: 1px solid #dce5f0;border-radius: 12px;background: #f7faff;font-weight: 730;}
.ll-process-steps li::before {counter-increment: step;content: counter(step, decimal-leading-zero);display: grid;place-items: center;width: 2rem;height: 2rem;flex: none;border-radius: 7px;background: #e5ecff;color: #2156d5;font-size: .8rem;font-weight: 850;}

.ll-featured-section {background: #f7faff;}
.ll-featured-section:nth-of-type(even) {background: #fff;}
.ll-featured-section .ll-content-grid {grid-template-columns: repeat(4,minmax(0,1fr));}
.ll-home-cta {background: #f7faff;padding-top: clamp(2rem, 5vw, 5rem);}
.ll-home-cta__inner {padding: clamp(2.5rem, 6vw, 5.5rem);border: 1px solid #243f67;border-radius: 22px;background: radial-gradient(circle at 85% 20%, #284b8b 0, #102648 34%, #07111b 72%);color: #fff;box-shadow: 0 28px 55px #0b1b3823;}
.ll-home-cta .eyebrow {color: #86d6ff;}
.ll-home-cta h2 {max-width: 750px;margin: .2rem 0 .75rem;color: #fff;font-size: clamp(2.4rem, 4.8vw, 4.2rem);line-height: 1.08;letter-spacing: -.045em;}
.ll-home-cta p:not(.eyebrow) {margin: 0 0 1.8rem;color: #d0ddeb;font-size: 1.15rem;}
.ll-home-cta .wp-block-buttons {display: flex;flex-wrap: wrap;gap: .85rem;}
.ll-home-cta .is-style-outline .wp-block-button__link {border-color: #8ca5c6;background: transparent;box-shadow: none;}
.ll-home-cta .is-style-outline .wp-block-button__link:hover {background: #ffffff1f;}
.home .site-footer {margin-top: 0;}

@media (max-width: 1190px) {
	.ll-home-services .ll-content-grid {grid-template-columns: repeat(3,minmax(0,1fr));}
	.ll-home-services .ll-content-card {min-height: 225px;}
}
@media (max-width: 1000px) {
	.ll-home-hero__inner {grid-template-columns: minmax(0,1.2fr) minmax(0,.8fr);gap: 1rem;}
	.ll-home-hero h1 {font-size: clamp(2.75rem, 5vw, 4.1rem);}
	.ll-home-approach .container {grid-template-columns: 1fr;}
	.ll-process-steps {grid-column: 1;grid-row: auto;margin-top: 1.5rem;}
	.ll-featured-section .ll-content-grid {grid-template-columns: repeat(2,minmax(0,1fr));}
}
@media (max-width: 900px) {
	.ll-home-hero__inner {display: flex;flex-direction: column;align-items: stretch;gap: 2rem;padding-block: 4.5rem 2rem;}
	.ll-home-hero__copy,.ll-home-hero__actions {max-width: 100%;}
	.ll-home-hero .lead,.ll-home-hero .eyebrow {overflow-wrap: anywhere;}
	.ll-system-illustration {flex: none;max-width: 100%;}
}
@media (max-width: 760px) {
	.ll-home-hero h1 {font-size: clamp(2.7rem, 9vw, 4.3rem);}
	.ll-system-illustration {width: min(100%, 450px);}
	.ll-home-services .ll-content-grid {grid-template-columns: repeat(2,minmax(0,1fr));}
	.ll-home-services .ll-content-card {min-height: 0;}
}
@media (max-width: 520px) {
	.ll-home-hero__inner {padding-block: 4rem 1.2rem;}
	.ll-home-hero h1 {font-size: clamp(2rem, 8.5vw, 2.6rem);}
	.ll-home-hero__actions {display: grid;grid-template-columns: 1fr;}
	.ll-home-hero__actions .wp-block-button,.ll-home-hero__actions .wp-block-button__link {width: 100%;}
	.ll-system-illustration {width: min(100%, 350px);}
	.ll-system-illustration__node {max-width: 42%;padding: .45rem .52rem;font-size: .64rem;line-height: 1.2;white-space: normal;}
	.ll-home-services .ll-content-grid,.ll-featured-section .ll-content-grid {grid-template-columns: 1fr;}
	.ll-home-services .ll-content-card__body {padding: 1.3rem;}
	.ll-home-cta__inner {border-radius: 16px;}
	.ll-home-cta .wp-block-buttons {display: grid;}
	.ll-home-cta .wp-block-button,.ll-home-cta .wp-block-button__link {width: 100%;}
}


/* Connected-system illustration: interaction and finite motion, no toolbar. */
.ll-system-visual {position:relative;max-width:520px;margin-inline:auto}
.ll-system-illustration {aspect-ratio:1.15;filter:none}
.ll-system-space {position:absolute;inset:0;transform-style:preserve-3d;translate:var(--ll-system-x,0px) var(--ll-system-y,0px);transform:perspective(900px) rotateX(var(--ll-system-tilt-x,0deg)) rotateY(var(--ll-system-tilt-y,0deg));transition:translate .28s ease-out,transform .28s ease-out}
.ll-system-illustration__ring--outer {inset:10% 15%;border-color:#344b73;box-shadow:0 0 0 20px #24375322}
.ll-system-illustration__ring--inner {inset:25% 29%;border-color:#3e547d}
.ll-system-wires {position:absolute;inset:0;z-index:1;width:100%;height:100%;overflow:visible;pointer-events:none}
.ll-system-wire {fill:none;stroke:#6387c7;stroke-width:1.1;vector-effect:non-scaling-stroke;opacity:.3;transition:stroke .2s,opacity .2s}
.ll-system-wire.is-active {stroke:#91cfff;opacity:.95;stroke-width:2}
.ll-system-beam {fill:none;stroke:#8bd6ff;stroke-width:2.5;vector-effect:non-scaling-stroke;stroke-dasharray:2 12;stroke-linecap:round;opacity:0;pointer-events:none}
.ll-system-visual.is-flow-active .ll-system-beam.is-active {opacity:.95;animation:ll-system-data-flow 1.6s linear 3}
.ll-system-illustration__core {inset:auto;left:50%;top:50%;width:34%;height:auto;aspect-ratio:1.18;min-height:120px;transform:translate(-50%,-50%);z-index:3;transition:border-color .2s,box-shadow .2s;box-shadow:inset 0 1px #d6e9ff33,0 12px 30px #0005}
.ll-system-visual:has(.ll-system-wire.is-active) .ll-system-illustration__core {border-color:#91cfff;box-shadow:inset 0 1px #d6e9ff33,0 12px 30px #0005,0 0 20px #60a5fa18}
.ll-system-caption {max-width:95%;line-height:1.4;min-height:1.4em}
.ll-system-illustration__node {right:auto;bottom:auto;width:max-content;min-height:44px;max-width:42%;white-space:nowrap;overflow-wrap:normal;transform:translate(-50%,-50%);font-family:inherit;line-height:1.2;text-align:left;cursor:pointer;transition:transform .2s,border-color .2s,background .2s;z-index:4}
.ll-system-illustration__node:disabled {cursor:default;opacity:1;color:#eaf3ff}
.ll-system-illustration__node:hover:enabled,.ll-system-illustration__node.is-active {transform:translate(-50%,-50%) scale(1.04);border-color:#8bcfff;background:#2b4065}
.ll-system-illustration__node:focus-visible {outline:3px solid #93c5fd;outline-offset:4px}
.ll-system-illustration__node--1 {left:21%;top:17%}
.ll-system-illustration__node--2 {left:78%;top:11%}
.ll-system-illustration__node--3 {left:83%;top:48%}
.ll-system-illustration__node--4 {left:74%;top:79%}
.ll-system-illustration__node--5 {left:22%;top:80%}
.ll-system-illustration__node--6 {left:18%;top:51%}
.ll-system-visual.is-motion-active .ll-system-space {animation:ll-system-arrive .65s ease-out both}
@keyframes ll-system-data-flow {to{stroke-dashoffset:-42}}
@keyframes ll-system-arrive {from{opacity:0}to{opacity:1}}
@media(max-width:520px){.ll-system-illustration__logo{width:48px;height:48px;padding:6px}.ll-system-illustration__logo--custom{width:min(100px,80%);height:48px}.ll-system-illustration__core{width:36%;min-height:105px;gap:.2rem;border-radius:16px}.ll-system-illustration__core small{font-size:.6rem}.ll-system-illustration__node{font-size:.64rem;padding:.4rem .5rem;gap:.3rem}}
@media(prefers-reduced-motion:reduce){.ll-system-visual *{animation:none!important;transition:none!important}.ll-system-space{translate:none!important;transform:none!important}.ll-system-beam{display:none}}

/* Branded Hero entrance; its layout, text and dimensions remain native block settings. */
.ll-system-node-icon {display:block;width:18px;height:18px;flex:none;color:#93c5fd}
.ll-hero-entry {position:relative;isolation:isolate;overflow:hidden}
.ll-hero-entry::before {content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 82% 48%,#60a5fa0e,transparent 55%);pointer-events:none}
.ll-hero-entry .ll-system-visual {width:100%;max-width:680px}
.ll-hero-entry .ll-system-illustration {width:100%;aspect-ratio:1.03;overflow:visible}
.ll-hero-entry .ll-system-space::before {content:"";position:absolute;inset:6%;border-radius:50%;background:radial-gradient(circle at center,#60a5fa14,transparent 65%);pointer-events:none}
.ll-hero-entry .ll-system-illustration__grid {inset:7%;opacity:.7;background-size:32px 32px}
.ll-hero-entry .ll-system-illustration__ring--outer {inset:11%;border-color:#6387c745;box-shadow:0 0 0 28px #60a5fa04,0 0 0 55px #60a5fa03}
.ll-hero-entry .ll-system-illustration__ring--inner {inset:28%;border-color:#83b8ed55}
.ll-hero-entry .ll-system-illustration__core {width:32%;min-height:150px;aspect-ratio:1.08;border-radius:24px;border-color:#6d97cda6;background:linear-gradient(145deg,#234366,#142b48);gap:.55rem;box-shadow:inset 0 1px #d6e9ff45,0 22px 50px #07111b80;isolation:isolate}
.ll-hero-entry .ll-system-illustration__core::before {content:"";position:absolute;inset:0;z-index:-1;transform:translate(8px,8px);border:1px solid #6d97cd40;border-radius:inherit;background:#12243c}
.ll-hero-entry .ll-system-illustration__logo {width:72px;height:72px;padding:9px;border-radius:14px}
.ll-hero-entry .ll-system-illustration__logo--custom {width:82%;height:72px}
.ll-hero-entry .ll-system-illustration__core strong {font-size:clamp(1.15rem,1.6vw,1.55rem);font-weight:750}
.ll-hero-entry .ll-system-illustration__core small {font-size:.75rem;color:#c5d8ed}
.ll-hero-entry .ll-system-illustration__node {min-height:48px;padding:.75rem 1rem;gap:.65rem;font-size:clamp(.75rem,1vw,.92rem);font-weight:650;border-radius:12px;border-color:#698bb05c;background:linear-gradient(140deg,#20354bee,#17283def);box-shadow:inset 0 1px #ffffff0d,0 10px 24px #07111b40}
.ll-hero-entry .ll-system-wire {opacity:.58;stroke:#658eae;stroke-width:1.25}
.ll-hero-entry .ll-system-wire.is-active {opacity:1;stroke:#93c5fd;stroke-width:2}
@media(max-width:1100px){.ll-hero-entry .ll-system-illustration__node{font-size:.75rem;padding:.6rem .65rem;gap:.4rem}.ll-hero-entry .ll-system-illustration__core{min-height:140px}.ll-hero-entry .ll-system-illustration__logo{width:60px;height:60px}}
@media(max-width:781px){.ll-hero-entry .ll-system-visual{max-width:600px}.ll-hero-entry .ll-system-illustration__core{min-height:140px}}
@media(max-width:520px){.ll-system-node-icon{width:15px;height:15px}.ll-hero-entry .ll-system-illustration__node{min-height:44px;padding:.4rem .5rem;gap:.35rem;font-size:.6875rem;border-radius:9px}.ll-hero-entry .ll-system-illustration__core{min-height:110px;width:35%;gap:.3rem;border-radius:18px}.ll-hero-entry .ll-system-illustration__logo{width:48px;height:48px;padding:6px;border-radius:10px}.ll-hero-entry .ll-system-illustration__core small{font-size:.625rem}.ll-hero-entry .ll-system-illustration__core::before{transform:translate(5px,5px)}}
