/* ==========================================================================
   Service landing page (template-parts/service-landing.php). Loaded only on
   services that use it. Brand surfaces are cyan or gold; ink is text only.
   Icons follow the country pages: flaticon outline glyphs in cyan, with a
   cyan + gold two-tone variant (.is-gold / --duo) for alternating items.
   ========================================================================== */
.lssl-sec{ padding:48px 0; }
.lssl-h2{ margin:0 0 14px; font-family:'Sora','Sora Fallback',sans-serif; font-weight:800; font-size:clamp(26px,2.6vw,36px); line-height:1.15; letter-spacing:-.02em; color:var(--ink); text-wrap:balance; }
.lssl-prose p{ margin:0 0 14px; font-size:15.5px; line-height:1.72; color:var(--body); }
.lssl-head{ max-width:1000px; margin-bottom:24px; }
.lssl-head__sub{ margin:0; font-size:16px; line-height:1.7; color:var(--body); }
.lssl-head--row{ max-width:none; display:flex; align-items:flex-end; justify-content:space-between; gap:16px 32px; }
.lssl-head--row .lssl-h2{ margin-bottom:0; }

/* Kicker: short gold rule + cyan caps, as on the board */
.lssl-kicker{ display:inline-flex; align-items:center; gap:10px; margin:0 0 12px; font-family:'Sora','Sora Fallback',sans-serif; font-weight:700; font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:#00ccf7; }
.lssl-kicker::before{ content:""; width:28px; height:3px; border-radius:3px; background:var(--gold); flex-shrink:0; }
.lssl-kicker.is-light{ color:var(--ink); }
.lssl-kicker.is-light::before{ background:#fff; }

/* Icons: flaticon glyphs, cyan; .is-gold / --duo = cyan and gold split */
.lssl-ic{ flex-shrink:0; display:inline-grid; place-items:center; width:56px; height:56px; }
.lssl-ic i, .lssl-ic i::before{ font-size:50px!important; line-height:1; color:var(--ls-cyan)!important; -webkit-text-fill-color:var(--ls-cyan); background:none!important; }
.lssl-ic.is-gold i::before, .lssl-ic--duo i::before, .lssl-badge__ic.is-gold i::before{
	background:linear-gradient(135deg,#00ccf7 0 56%,#FDD000 56% 100%)!important;
	-webkit-background-clip:text!important; background-clip:text!important;
	-webkit-text-fill-color:transparent; color:transparent!important;
}
.lssl-ic.is-gold i, .lssl-ic--duo i{ -webkit-text-fill-color:initial; }
.lssl-ic--tile{ width:72px; height:72px; border-radius:18px; background:#eafaff; }
.lssl-ic--tile.is-gold{ background:#fff8d4; }
.lssl-ic--tile i, .lssl-ic--tile i::before{ font-size:48px!important; }
.lssl-stars{ color:var(--gold); letter-spacing:2px; font-size:15px; line-height:1; }

/* Buttons: same as the e-commerce page (.lsec-btn), text arrow and a chat-bubble icon */
.lssl-btn{
	display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:52px; padding:0 28px; border-radius:12px; box-sizing:border-box;
	font-family:'Sora','Sora Fallback',sans-serif; font-weight:700; font-size:15px; line-height:1; text-decoration:none; cursor:pointer; border:2px solid transparent;
	transition:transform .18s, box-shadow .18s, background .18s, color .18s, border-color .18s;
}
.lssl-btn:hover{ text-decoration:none; }
.lssl-btn__arr{ font-size:19px; line-height:1; font-weight:400; transition:transform .18s; }
.lssl-btn:hover .lssl-btn__arr{ transform:translateX(3px); }
.lssl-btn__i{ width:22px; height:22px; display:block; flex:none; }
.lssl-btn--gold{ background:var(--gold); color:var(--ink); box-shadow:0 14px 28px -12px rgba(253,208,0,.7); }
.lssl-btn--gold:hover{ background:#f2c800; color:var(--ink); transform:translateY(-2px); }
.lssl-btn--line{ background:#fff; border-color:var(--cy); color:var(--cy); }
.lssl-btn--line:hover{ background:#e6faff; color:var(--ink); }
.lssl-btn--full{ width:100%; }
.lssl-pill{ flex-shrink:0; display:inline-flex; align-items:center; gap:8px; height:42px; padding:0 20px; border-radius:999px; border:1.5px solid rgba(0,204,247,.45); background:#fff; font-family:'Sora','Sora Fallback',sans-serif; font-weight:700; font-size:13.5px; color:#00ccf7; text-decoration:none; transition:background .2s, color .2s, border-color .2s; }
.lssl-pill span{ font-size:18px; line-height:1; font-weight:400; }
.lssl-pill:hover{ background:var(--cy); border-color:var(--cy); color:var(--ink); text-decoration:none; }


/* ---- Hero ---- */
.lssl-hero{ position:relative; overflow:hidden; padding:46px 0 40px; background:radial-gradient(ellipse 60% 70% at 85% 30%, rgba(0,204,247,.14), transparent 70%), radial-gradient(ellipse 40% 50% at 95% 95%, rgba(253,208,0,.14), transparent 70%), linear-gradient(135deg,#f3fbfe 0%,#ffffff 55%,#fffdf2 100%); }
.lssl-hero__grid{ display:grid; grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr); gap:24px 40px; align-items:center; }
.lssl-hero__title{ margin:0 0 16px; font-family:'Sora','Sora Fallback',sans-serif; font-weight:800; font-size:clamp(34px,3.9vw,52px); line-height:1.06; letter-spacing:-.035em; color:var(--ink); }
.lssl-hero__title span{ display:block; color:var(--ls-cyan); }
.lssl-hero__sub{ margin:0 0 24px; max-width:56ch; font-size:16.5px; line-height:1.7; color:var(--body); }
.lssl-hero__feats{ list-style:none; margin:0 0 26px; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; max-width:540px; }
.lssl-hero__feats li{ display:flex; flex-direction:column; align-items:center; gap:8px; text-align:center; font-family:'Sora','Sora Fallback',sans-serif; font-weight:700; font-size:12.5px; line-height:1.3; color:var(--ink); }
.lssl-hero__feats .lssl-ic{ width:64px; height:64px; }
.lssl-hero__feats .lssl-ic i, .lssl-hero__feats .lssl-ic i::before{ font-size:54px!important; }
.lssl-hero__btns{ display:flex; flex-wrap:wrap; gap:14px; margin-bottom:24px; }
.lssl-face{ width:36px; height:36px; border-radius:50%; display:grid; place-items:center; flex-shrink:0; background:var(--cy); color:var(--ink); font-family:'Sora','Sora Fallback',sans-serif; font-size:12px; font-weight:800; border:2.5px solid #fff; }
.lssl-face.is-gold{ background:var(--gold); }

.lssl-hero__media{ position:relative; display:grid; grid-template-columns:minmax(0,1fr); align-items:center; gap:8px; }
.lssl-hero__media.has-badges{ grid-template-columns:minmax(0,1fr) 164px; }
.lssl-hero__img{ display:block; width:100%; height:auto; }
.lssl-badges{ list-style:none; margin:0; padding:0; display:grid; gap:14px; }
.lssl-badges li:nth-child(odd){ transform:translateX(-14px); }
.lssl-badge{ display:flex; align-items:center; gap:10px; padding:10px 14px 10px 10px; border-radius:14px; background:#fff; border:1px solid rgba(0,204,247,.16); box-shadow:0 18px 36px -20px rgba(11,22,48,.35); font-family:'Sora','Sora Fallback',sans-serif; font-weight:700; font-size:12.5px; line-height:1.25; color:var(--ink); }
.lssl-badge__ic{ flex-shrink:0; width:46px; height:46px; border-radius:12px; display:grid; place-items:center; background:#eafaff; }
.lssl-badge__ic.is-gold{ background:#fff8d4; }
.lssl-badge__ic i, .lssl-badge__ic i::before{ font-size:34px!important; line-height:1; color:var(--ls-cyan)!important; -webkit-text-fill-color:var(--ls-cyan); background:none; }

/* ---- Do more + form ---- */
.lssl-more__grid{ display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:32px 56px; align-items:center; }
.lssl-more__cards{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:24px; }
.lssl-mini{ display:flex; gap:14px; align-items:flex-start; padding:18px 18px 16px; border-radius:16px; background:#fff; border:1px solid var(--ls-line); box-shadow:0 14px 30px -26px rgba(11,22,48,.4); font-size:13.5px; line-height:1.55; color:var(--body); transition:transform .25s, border-color .25s; }
.lssl-mini:hover{ transform:translateY(-3px); border-color:rgba(0,204,247,.45); }
.lssl-mini .lssl-ic{ width:60px; height:60px; }
.lssl-mini .lssl-ic i, .lssl-mini .lssl-ic i::before{ font-size:52px!important; }
.lssl-mini b{ display:block; margin-bottom:3px; font-family:'Sora','Sora Fallback',sans-serif; font-size:15px; color:var(--ink); }
.lssl-form{ position:relative; padding:30px 28px 24px; border-radius:20px; background:var(--cy); color:var(--ink); box-shadow:0 34px 60px -34px rgba(0,140,170,.65); }
.lssl-form__t{ margin:0 0 8px; font-family:'Sora','Sora Fallback',sans-serif; font-weight:800; font-size:25px; line-height:1.2; color:var(--ink); }
.lssl-form__x{ margin:0 0 18px; font-size:14.5px; line-height:1.6; font-weight:600; color:var(--ink); }
.lssl-form form{ display:grid; gap:10px; }
.lssl-field input, .lssl-field select, .lssl-field textarea{ width:100%; box-sizing:border-box; padding:12px 14px; border-radius:10px; border:1.5px solid transparent; background:#fff; font:600 14px/1.4 'Quicksand','Quicksand Fallback',sans-serif; color:var(--ink); outline:none; transition:border-color .2s, box-shadow .2s; }
.lssl-field textarea{ resize:vertical; min-height:88px; }
.lssl-field select{ appearance:none; -webkit-appearance:none; padding-right:38px; background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%230b1630' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 14px center; }
.lssl-field input:focus, .lssl-field select:focus, .lssl-field textarea:focus{ border-color:var(--gold); box-shadow:0 0 0 3px rgba(253,208,0,.35); }
.lssl-form .ls-consent{ display:flex; gap:8px; align-items:flex-start; font-size:12px; line-height:1.45; font-weight:600; color:var(--ink); }
.lssl-form .ls-consent input{ margin-top:2px; accent-color:var(--ink); }
.lssl-form .lssl-btn--gold{ box-shadow:0 14px 26px -14px rgba(11,22,48,.45); }
.lssl-form__chips{ list-style:none; margin:14px 0 0; padding:0; display:flex; flex-wrap:wrap; justify-content:center; gap:6px 16px; font-size:12.5px; font-weight:700; color:var(--ink); }
.lssl-form__chips li{ display:flex; align-items:center; gap:6px; }
.lssl-form__chips i{ font-size:13px; }
.lssl-form__alert{ margin:0 0 14px; padding:10px 14px; border-radius:10px; background:#fff; font-size:13.5px; line-height:1.5; color:var(--ink); }
.lssl-form__alert.is-ok{ border-left:4px solid var(--gold); }
.lssl-form__alert.is-bad{ border-left:4px solid var(--ink); }

/* ---- Numbers band ---- */
.lssl-stats{ padding:26px 0; background:#f3fbfe; border-top:1px solid rgba(0,204,247,.14); border-bottom:1px solid rgba(0,204,247,.14); }
.lssl-stats__row{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.lssl-stats__row li{ display:flex; align-items:center; justify-content:center; gap:16px; }
.lssl-stats__row .lssl-ic{ width:66px; height:66px; }
.lssl-stats__row .lssl-ic i, .lssl-stats__row .lssl-ic i::before{ font-size:60px!important; }
.lssl-stats__row li + li{ border-left:1px solid rgba(0,204,247,.2); }
.lssl-stats__row b{ display:block; font-family:'Sora','Sora Fallback',sans-serif; font-weight:800; font-size:28px; line-height:1.05; color:var(--ink); letter-spacing:-.02em; }
.lssl-stats__row small{ display:block; margin-top:3px; font-size:13px; font-weight:600; color:var(--body); }

/* ---- Problems ---- */
.lssl-grid4{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.lssl-pain{ padding:24px 22px 22px; border-radius:16px; background:#fff; border:1.5px solid var(--ls-line); border-top:4px solid var(--gold); }
.lssl-pain__x{ display:grid; place-items:center; width:32px; height:32px; border-radius:50%; margin-bottom:14px; background:var(--gold); color:var(--ink); font-weight:800; font-size:19px; line-height:1; }
.lssl-pain h3, .lssl-card h3{ text-wrap:balance; margin:0 0 8px; font-family:'Sora','Sora Fallback',sans-serif; font-weight:700; font-size:16.5px; line-height:1.3; color:var(--ink); }
.lssl-pain p, .lssl-card p{ margin:0; font-size:14.5px; line-height:1.62; color:var(--body); }

/* ---- Included ---- */
.lssl-inc{ background:#fafcfe; }
.lssl-card{ padding:24px 22px 22px; border-radius:16px; background:#fff; border:1px solid var(--ls-line); box-shadow:0 16px 34px -28px rgba(11,22,48,.4); transition:transform .25s, box-shadow .25s, border-color .25s; }
.lssl-card:hover{ transform:translateY(-4px); border-color:rgba(0,204,247,.45); box-shadow:0 26px 44px -30px rgba(0,140,170,.5); }
.lssl-card .lssl-ic--tile{ margin-bottom:16px; }

/* ---- Process ---- */
.lssl-proc__row{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(var(--n,4),minmax(0,1fr)); gap:34px; }
.lssl-step{ position:relative; display:grid; grid-template-columns:auto 1fr; grid-template-rows:auto 1fr; gap:10px 14px; padding:20px 18px; border-radius:16px; background:#fff; border:1px solid var(--ls-line); box-shadow:0 16px 34px -28px rgba(11,22,48,.4); }
.lssl-step + .lssl-step::before{ content:"\2192"; position:absolute; left:-27px; top:50%; transform:translateY(-50%); font-size:22px; font-weight:700; color:var(--ls-cyan); }
.lssl-step__ic{ grid-row:1; width:60px; height:60px; border-radius:50%; display:grid; place-items:center; background:var(--cy); }
.lssl-step__ic.is-gold{ background:var(--gold); }
.lssl-step__ic i, .lssl-step__ic i::before{ font-size:38px!important; line-height:1; color:#fff!important; -webkit-text-fill-color:#fff; background:none!important; }
.lssl-step__ic.is-gold i::before{ background:none!important; color:var(--ink)!important; -webkit-text-fill-color:var(--ink); }
.lssl-step__n{ grid-row:2; align-self:start; justify-self:center; width:34px; height:34px; border-radius:50%; display:grid; place-items:center; background:#eafaff; font-family:'Sora','Sora Fallback',sans-serif; font-weight:800; font-size:12.5px; color:#00ccf7; }
.lssl-step__n.is-gold{ background:#fff8d4; color:var(--ink); }
.lssl-step__body{ grid-column:2; grid-row:1 / span 2; font-size:14px; line-height:1.58; color:var(--body); }
.lssl-step__body b{ display:block; margin:12px 0 4px; font-family:'Sora','Sora Fallback',sans-serif; font-size:17px; color:var(--ink); }

/* ---- Why hand-coded ---- */
.lssl-why{ background:#f5fbfd; }
.lssl-why__top{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:10px 56px; align-items:end; margin-bottom:30px; }
.lssl-why__top .lssl-h2{ margin:0; }
.lssl-why__top .lssl-prose p:last-child{ margin-bottom:0; }
.lssl-why__grid{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:24px; align-items:stretch; }
.lssl-why__shot{ position:relative; margin:0; min-height:300px; border-radius:18px; overflow:hidden; background:#fff; border:1px solid var(--ls-line); box-shadow:0 26px 50px -34px rgba(11,22,48,.45); }
.lssl-why__shot img{ position:absolute; inset:12px; display:block; width:calc(100% - 24px); height:calc(100% - 24px); object-fit:contain; object-position:center; }
.lssl-why__list{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.lssl-why__list li{ display:flex; flex-direction:column; gap:12px; align-items:flex-start; padding:18px 18px; border-radius:16px; background:#fff; border:1px solid var(--ls-line); font-size:14.5px; line-height:1.6; color:var(--body); }
.lssl-why__list .lssl-ic--tile{ width:62px; height:62px; border-radius:16px; }
.lssl-why__list .lssl-ic--tile i, .lssl-why__list .lssl-ic--tile i::before{ font-size:42px!important; }
.lssl-why__list b{ display:block; margin-bottom:4px; font-family:'Sora','Sora Fallback',sans-serif; font-size:15px; color:var(--ink); }

/* ---- Projects ---- */
.lssl-proj{ display:flex; flex-direction:column; border-radius:16px; overflow:hidden; background:#fff; border:1px solid var(--ls-line); box-shadow:0 16px 34px -28px rgba(11,22,48,.45); color:inherit; text-decoration:none; transition:transform .25s, border-color .25s, box-shadow .25s; }
.lssl-proj:hover{ transform:translateY(-5px); border-color:rgba(0,204,247,.5); text-decoration:none; color:inherit; }
.lssl-proj__media{ aspect-ratio:16/10; overflow:hidden; background:#eef6fb; }
.lssl-proj__media img{ display:block; width:100%; height:100%; object-fit:cover; object-position:top; transition:transform .5s; }
.lssl-proj:hover .lssl-proj__media img{ transform:scale(1.04); }
.lssl-proj__body{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 16px 16px 18px; }
.lssl-proj__body b{ display:block; font-family:'Sora','Sora Fallback',sans-serif; font-size:15.5px; color:var(--ink); }
.lssl-proj__body small{ display:block; margin-top:2px; font-size:12.5px; font-weight:600; color:var(--body); }
.lssl-proj__go{ flex-shrink:0; width:38px; height:38px; border-radius:50%; display:grid; place-items:center; background:#eafaff; transition:background .2s; }
.lssl-proj__go i, .lssl-proj__go i::before{ font-size:15px!important; font-weight:700; color:#00ccf7!important; -webkit-text-fill-color:#00ccf7; background:none!important; }
.lssl-proj:hover .lssl-proj__go{ background:var(--gold); }
.lssl-proj:hover .lssl-proj__go i::before{ color:var(--ink)!important; -webkit-text-fill-color:var(--ink); }

/* ---- Technologies ---- */
.lssl-tech{ padding-top:24px; }
.lssl-tech__row{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(88px,1fr)); gap:14px; }
.lssl-tech__row li{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; min-height:112px; padding:14px 4px; border-radius:16px; background:#fff; border:1px solid var(--ls-line); box-shadow:0 14px 30px -26px rgba(11,22,48,.4); font-family:'Sora','Sora Fallback',sans-serif; font-weight:700; font-size:12.5px; color:var(--ink); transition:transform .2s, border-color .2s; }
.lssl-tech__row li:hover{ transform:translateY(-3px); border-color:var(--cy); }
.lssl-tech__row span{ white-space:nowrap; }
.lssl-tech__row i{ font-size:48px; line-height:1; color:var(--cy); }
.lssl-tech__row li:nth-child(even) i{ color:var(--gold); }

/* ---- Reviews ---- */
.lssl-rev{ padding-top:24px; }
.lssl-rev__grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.lssl-quote{ margin:0; display:flex; flex-direction:column; padding:24px 24px 20px; border-radius:18px; background:#fff; border:1px solid var(--ls-line); box-shadow:0 18px 40px -30px rgba(11,22,48,.45); }
.lssl-quote p{ flex:1; margin:12px 0 18px; font-size:15px; line-height:1.68; color:var(--body); }
.lssl-quote footer{ display:flex; align-items:center; gap:12px; }
.lssl-quote footer .lssl-face{ width:44px; height:44px; font-size:14px; border:none; }
.lssl-quote footer b{ display:block; font-family:'Sora','Sora Fallback',sans-serif; font-size:14.5px; color:var(--ink); }
.lssl-quote footer small{ display:block; font-size:12.5px; line-height:1.35; font-weight:600; color:var(--body); }
.lssl-quote__mark{ margin-left:auto; flex-shrink:0; }
.lssl-quote__mark::before{ font-size:34px!important; color:#cdf3fd!important; -webkit-text-fill-color:#cdf3fd; background:none!important; }

/* ---- FAQ ---- */
.lssl-faq{ padding-top:24px; }
.lssl-faq__grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 18px; align-items:start; }
.lssl-faq__item{ border-radius:14px; background:#fff; border:1px solid var(--ls-line); box-shadow:0 10px 26px -22px rgba(11,22,48,.4); }
.lssl-faq__item summary{ list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:16px 18px; font-family:'Sora','Sora Fallback',sans-serif; font-weight:700; font-size:15px; line-height:1.35; color:var(--ink); }
.lssl-faq__item summary::-webkit-details-marker{ display:none; }
.lssl-faq__item summary i{ flex-shrink:0; width:26px; height:26px; border-radius:50%; background:#eafaff; position:relative; transition:transform .2s, background .2s; }
.lssl-faq__item summary i::before, .lssl-faq__item summary i::after{ content:""; position:absolute; left:50%; top:50%; width:10px; height:2px; margin:-1px 0 0 -5px; border-radius:2px; background:#00ccf7; }
.lssl-faq__item summary i::after{ transform:rotate(90deg); transition:transform .2s; }
.lssl-faq__item[open] summary i{ background:var(--gold); }
.lssl-faq__item[open] summary i::before, .lssl-faq__item[open] summary i::after{ background:var(--ink); }
.lssl-faq__item[open] summary i::after{ transform:rotate(0); }
.lssl-faq__item p{ margin:0; padding:0 18px 16px; font-size:14.5px; line-height:1.65; color:var(--body); }

/* ---- Closing band ---- */
.lssl-cta{ padding-top:16px; }
.lssl-cta__panel{ position:relative; display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr); align-items:center; gap:10px 30px; padding:34px 24px 0 48px; border-radius:22px; background:radial-gradient(ellipse 50% 90% at 88% 70%, rgba(255,255,255,.35), transparent 70%), var(--cy); color:var(--ink); box-shadow:0 30px 60px -34px rgba(0,140,170,.55); overflow:hidden; }
.lssl-cta__copy{ padding-bottom:34px; }
.lssl-cta__t{ text-wrap:balance; margin:0 0 10px; font-family:'Sora','Sora Fallback',sans-serif; font-weight:800; font-size:clamp(26px,2.6vw,34px); line-height:1.15; letter-spacing:-.02em; color:var(--ink); }
.lssl-cta__x{ margin:0 0 22px; max-width:52ch; font-size:16px; line-height:1.65; font-weight:600; color:var(--ink); }
.lssl-cta__btns{ display:flex; flex-wrap:wrap; gap:12px; }
.lssl-cta__btns .lssl-btn--line{ border-color:#fff; }
.lssl-cta__btns .lssl-btn--gold{ box-shadow:0 14px 26px -14px rgba(11,22,48,.45); }
.lssl-cta__media{ position:relative; align-self:end; padding-top:20px; }
.lssl-cta__media img{ display:block; width:auto; height:auto; max-width:100%; max-height:280px; margin:0 auto -6px; }
.lssl-trust{ list-style:none; margin:22px 0 0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.lssl-trust li{ display:flex; align-items:center; justify-content:center; gap:10px; font-family:'Sora','Sora Fallback',sans-serif; font-weight:700; font-size:14px; color:var(--ink); }
.lssl-trust .lssl-ic{ width:50px; height:50px; }
.lssl-trust .lssl-ic i, .lssl-trust .lssl-ic i::before{ font-size:44px!important; }

/* ---- Responsive ---- */
@media (max-width:1100px){
	.lssl-grid4{ grid-template-columns:repeat(2,minmax(0,1fr)); }
	.lssl-tech__row{ grid-template-columns:repeat(4,minmax(0,1fr)); }
	.lssl-proc__row{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
	.lssl-step + .lssl-step::before{ display:none; }
	.lssl-more__grid{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:32px; }
}
@media (max-width:991px){
	.lssl-sec{ padding:42px 0; }
	.lssl-hero{ padding:34px 0 30px; }
	.lssl-hero__grid, .lssl-more__grid, .lssl-why__grid, .lssl-why__top{ grid-template-columns:minmax(0,1fr); }
	.lssl-hero__media{ max-width:620px; margin:6px auto 0; width:100%; }
	.lssl-rev__grid{ grid-template-columns:minmax(0,1fr); }
	.lssl-faq__grid{ grid-template-columns:minmax(0,1fr); }
	.lssl-cta__panel{ grid-template-columns:minmax(0,1fr); padding:34px 28px 0; }
	.lssl-cta__copy{ padding-bottom:6px; }
	.lssl-stats__row{ grid-template-columns:repeat(2,minmax(0,1fr)); }
	.lssl-stats__row li{ justify-content:flex-start; }
	.lssl-stats__row li + li{ border-left:none; }
	.lssl-trust{ grid-template-columns:repeat(2,minmax(0,1fr)); }
	.lssl-trust li{ justify-content:flex-start; }
}
@media (max-width:640px){
	.lssl-sec{ padding:36px 0; }
	.lssl-hero__feats{ grid-template-columns:repeat(2,minmax(0,1fr)); max-width:none; }
	.lssl-hero__btns .lssl-btn{ flex:1 1 100%; }
	.lssl-hero__media.has-badges{ grid-template-columns:minmax(0,1fr); }
	.lssl-badges{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
	.lssl-badges li:nth-child(odd){ transform:none; }
	.lssl-badge{ font-size:11.5px; padding:8px 10px 8px 8px; }
	.lssl-badge__ic{ width:38px; height:38px; }
	.lssl-badge__ic i, .lssl-badge__ic i::before{ font-size:28px!important; }
	.lssl-grid4, .lssl-more__cards, .lssl-proc__row, .lssl-why__list{ grid-template-columns:minmax(0,1fr); }
	.lssl-why__shot{ min-height:0; }
	.lssl-why__shot img{ position:static; height:auto; }
	.lssl-tech__row{ grid-template-columns:repeat(2,minmax(0,1fr)); }
	.lssl-head--row{ flex-direction:column; align-items:flex-start; }
	.lssl-stats__row b{ font-size:23px; }
	.lssl-stats__row .lssl-ic{ width:50px; height:50px; }
	.lssl-stats__row .lssl-ic i, .lssl-stats__row .lssl-ic i::before{ font-size:44px!important; }
	.lssl-form{ padding:24px 18px 20px; }
	.lssl-cta__panel{ padding:28px 20px 0; }
	.lssl-cta__btns .lssl-btn{ flex:1 1 100%; }
	.lssl-trust li{ font-size:12.5px; }
}

/* ---- Client logo strip ---- */
.lssl-brands{ padding:26px 0 28px; background:#fff; border-bottom:1px solid var(--ls-line); }
.lssl-brands__t{ margin:0 0 16px; font-family:'Sora','Sora Fallback',sans-serif; font-weight:700; font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--body); }
.lssl-brands__row{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:18px 30px; }
.lssl-brands__row img{ display:block; height:34px; width:auto; max-width:150px; object-fit:contain; filter:grayscale(1); opacity:.62; transition:filter .25s, opacity .25s; }
.lssl-brands__row li:hover img{ filter:none; opacity:1; }

/* ---- Apps we build ---- */
.lssl-app{ display:flex; flex-direction:column; text-decoration:none; color:inherit; border-radius:16px; overflow:hidden; background:#fff; border:1px solid var(--ls-line); box-shadow:0 16px 34px -28px rgba(11,22,48,.45); transition:transform .25s, border-color .25s; }
.lssl-app:hover{ transform:translateY(-5px); border-color:rgba(0,204,247,.5); text-decoration:none; color:inherit; }
.lssl-app__media img{ transition:transform .5s; }
.lssl-app:hover .lssl-app__media img{ transform:scale(1.04); }
.lssl-app__media{ aspect-ratio:16/10; overflow:hidden; }
.lssl-app__media img{ display:block; width:100%; height:100%; object-fit:cover; }
.lssl-app__body{ display:flex; flex-direction:column; flex:1; padding:16px 18px 18px; }
.lssl-app__t{ display:block; margin:0 0 3px; font-family:'Sora','Sora Fallback',sans-serif; font-weight:700; font-size:16.5px; color:var(--ink); }
.lssl-app__type{ display:block; margin-bottom:8px; font-family:'Sora','Sora Fallback',sans-serif; font-weight:700; font-size:11.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--cy); }
.lssl-app__x{ display:block; flex:1; margin:0 0 14px; font-size:14px; line-height:1.6; color:var(--body); }
.lssl-app__chips{ display:flex; flex-wrap:wrap; gap:8px; }
.lssl-app__chips span{ padding:5px 12px; border-radius:8px; background:#f3fbfe; border:1px solid rgba(0,204,247,.2); font-size:12px; font-weight:700; color:var(--ink); }

/* Why section without a picture: the points take the full width */
.lssl-why__grid:not(.has-shot){ grid-template-columns:minmax(0,1fr); }
.lssl-why__grid:not(.has-shot) .lssl-why__list{ grid-template-columns:repeat(4,minmax(0,1fr)); }
@media (max-width:991px){
	.lssl-brands__row{ justify-content:center; }
	.lssl-brands__row img{ height:28px; }
	.lssl-why__grid:not(.has-shot) .lssl-why__list{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

.lssl-app__more{ margin-top:14px; font-family:'Sora','Sora Fallback',sans-serif; font-weight:700; font-size:13.5px; color:var(--cy); }

/* ---- Industries ---- */
.lssl-inds__row{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(var(--n,6),minmax(0,1fr)); gap:14px; }
.lssl-inds__row li{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:8px; padding:22px 14px 20px; border-radius:16px; background:#fff; border:1px solid var(--ls-line); box-shadow:0 14px 30px -26px rgba(11,22,48,.4); transition:transform .2s, border-color .2s; }
.lssl-inds__row li:hover{ transform:translateY(-3px); border-color:rgba(0,204,247,.45); }
.lssl-inds__row b{ font-family:'Sora','Sora Fallback',sans-serif; font-weight:700; font-size:14.5px; line-height:1.3; color:var(--ink); }
.lssl-inds__row li > span:last-child{ font-size:13px; line-height:1.5; color:var(--body); }
.lssl-inds__row .lssl-ic{ width:60px; height:60px; }
.lssl-inds__row .lssl-ic i, .lssl-inds__row .lssl-ic i::before{ font-size:54px!important; }

/* ---- CTA checklist (instead of a picture) ---- */
.lssl-cta__pts{ list-style:none; margin:0; padding:0 0 34px; display:grid; gap:12px; align-self:center; }
.lssl-cta__pts li{ display:flex; align-items:center; gap:12px; font-family:'Sora','Sora Fallback',sans-serif; font-weight:700; font-size:15px; color:var(--ink); }
.lssl-cta__tick{ flex-shrink:0; width:26px; height:26px; border-radius:50%; background:var(--gold); position:relative; }
.lssl-cta__tick::after{ content:""; position:absolute; left:9px; top:5px; width:6px; height:11px; border:solid var(--ink); border-width:0 2.5px 2.5px 0; transform:rotate(45deg); }

@media (max-width:1100px){
	.lssl-inds__row{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:991px){
	.lssl-cta__pts{ padding-bottom:30px; }
}
@media (max-width:640px){
	.lssl-inds__row{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* Outline SVG icons for glyphs flaticon does not have, drawn at its line weight.
   Use as an icon name 'svg-shield' etc. (leadersol_sl_icon). Colour comes from the background. */
.lssl-svgi{ display:inline-block; width:1em; height:1em; vertical-align:middle; -webkit-mask:var(--m) center/contain no-repeat; mask:var(--m) center/contain no-repeat; }
i.lssl-svgi, .lssl-ic i.lssl-svgi, .lssl-badge__ic i.lssl-svgi{ background:var(--cy)!important; }
.lssl-ic.is-gold i.lssl-svgi, .lssl-ic--duo i.lssl-svgi, .lssl-badge__ic.is-gold i.lssl-svgi{ background:linear-gradient(135deg,#00ccf7 0 56%,#FDD000 56% 100%)!important; }
i.lssl-svgi::before{ content:none!important; }
.lssl-svgi--shield{ --m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M32 6 L52 13 V30 C52 44 43 53 32 58 C21 53 12 44 12 30 V13 Z M32 12 L46 17 V30 C46 40 40 47 32 51 M23 32 L29.5 38.5 L42 26'/%3E%3C/svg%3E"); }
.lssl-svgi--heart{ --m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M32 54 C14 42 8 32 8 23 C8 15 14 10 21 10 C26 10 30 13 32 17 C34 13 38 10 43 10 C50 10 56 15 56 23 C56 32 50 42 32 54 Z M14 31 H24 L28 23 L34 39 L38 31 H50'/%3E%3C/svg%3E"); }
.lssl-svgi--cart{ --m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12 H13 L20 42 H49 L56 20 H16 M24 30 H51 M24 51 m-4 0 a4 4 0 1 0 8 0 a4 4 0 1 0 -8 0 M45 51 m-4 0 a4 4 0 1 0 8 0 a4 4 0 1 0 -8 0'/%3E%3C/svg%3E"); }
.lssl-svgi--truck{ --m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 16 H38 V44 H4 Z M38 24 H50 L59 34 V44 H38 M16 46 m-5 0 a5 5 0 1 0 10 0 a5 5 0 1 0 -10 0 M48 46 m-5 0 a5 5 0 1 0 10 0 a5 5 0 1 0 -10 0 M10 24 H24'/%3E%3C/svg%3E"); }
.lssl-svgi--cap{ --m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M32 12 L60 24 L32 36 L4 24 Z M16 30 V42 C21 47 26 49 32 49 C38 49 43 47 48 42 V30 M58 25 V39'/%3E%3C/svg%3E"); }
.lssl-svgi--building{ --m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 58 V10 H40 V58 M40 24 H54 V58 M6 58 H58 M19 18 H23 M29 18 H33 M19 27 H23 M29 27 H33 M19 36 H23 M29 36 H33 M23 58 V47 H29 V58 M46 33 H48 M46 42 H48'/%3E%3C/svg%3E"); }
.lssl-svgi--gears{ --m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M38.0 21.8 L43.5 22.7 L43.5 31.3 L38.0 32.2 L37.8 32.6 L41.1 37.1 L35.1 43.1 L30.6 39.8 L30.2 40.0 L29.3 45.5 L20.7 45.5 L19.8 40.0 L19.4 39.8 L14.9 43.1 L8.9 37.1 L12.2 32.6 L12.0 32.2 L6.5 31.3 L6.5 22.7 L12.0 21.8 L12.2 21.4 L8.9 16.9 L14.9 10.9 L19.4 14.2 L19.8 14.0 L20.7 8.5 L29.3 8.5 L30.2 14.0 L30.6 14.2 L35.1 10.9 L41.1 16.9 L37.8 21.4 Z M31 27 A6 6 0 1 0 19 27 A6 6 0 1 0 31 27 M54.4 42.9 L58.5 43.4 L58.5 50.6 L54.4 51.1 L54.3 51.4 L55.8 55.1 L49.6 58.7 L47.2 55.5 L46.8 55.5 L44.4 58.7 L38.2 55.1 L39.7 51.4 L39.6 51.1 L35.5 50.6 L35.5 43.4 L39.6 42.9 L39.7 42.6 L38.2 38.9 L44.4 35.3 L46.8 38.5 L47.2 38.5 L49.6 35.3 L55.8 38.9 L54.3 42.6 Z M50.5 47 A3.5 3.5 0 1 0 43.5 47 A3.5 3.5 0 1 0 50.5 47'/%3E%3C/svg%3E"); }

/* ---- "What you get" checklist inside the intro ---- */
.lssl-more__h{ margin:6px 0 12px; font-family:'Sora','Sora Fallback',sans-serif; font-weight:800; font-size:18px; color:var(--ink); }
.lssl-checks{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.lssl-checks li{ display:flex; align-items:center; gap:12px; padding:12px 16px; border-radius:12px; background:#f3fbfe; border:1px solid rgba(0,204,247,.18); font-size:14.5px; font-weight:600; color:var(--ink); }
.lssl-checks .lssl-cta__tick{ width:22px; height:22px; }
.lssl-checks .lssl-cta__tick::after{ left:7.5px; top:4px; width:5px; height:10px; }

/* ---- Card grids with a count that is not a multiple of four ---- */
.lssl-grid--fit{ grid-template-columns:repeat(var(--n),minmax(0,1fr)); }

/* ---- Lettered tool badges (tools with no logo glyph) ---- */
.lssl-txti{ display:grid; place-items:center; width:48px; height:48px; border-radius:12px; border:2.5px solid var(--cy); font-style:normal; font-family:'Sora','Sora Fallback',sans-serif; font-weight:800; font-size:19px; line-height:1; color:var(--cy); }
.lssl-txti.is-gold{ border-color:var(--gold); color:var(--ink); }
.lssl-tech__row i.lssl-txti{ font-size:19px; width:48px; height:48px; }
@media (max-width:1100px){ .lssl-grid--fit{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:640px){ .lssl-grid--fit{ grid-template-columns:minmax(0,1fr); } }

.lssl-tech__row i.lssl-txti.is-gold{ color:var(--ink); }

/* ==========================================================================
   Sections added for the Cloud, Dedicated Developers and QA boards
   ========================================================================== */

/* Tick lists (gold tick, or a soft cross for "no" columns) */
.lssl-ticks{ list-style:none; margin:0; padding:0; display:grid; gap:9px; }
.lssl-ticks li{ display:flex; align-items:flex-start; gap:10px; font-size:14px; line-height:1.5; color:var(--body); }
.lssl-tk{ flex-shrink:0; width:18px; height:18px; margin-top:2px; border-radius:50%; background:var(--cy); position:relative; }
.lssl-tk::after{ content:""; position:absolute; left:6px; top:3px; width:4px; height:8px; border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg); }
.lssl-tk.is-no{ background:#eef2f6; }
.lssl-tk.is-no::before, .lssl-tk.is-no::after{ content:""; position:absolute; left:4px; top:8px; width:10px; height:2px; border:0; border-radius:2px; background:var(--body); transform:rotate(45deg); }
.lssl-tk.is-no::after{ transform:rotate(-45deg); }
.lssl-ticks--cols{ grid-template-columns:repeat(var(--cols,1),minmax(0,1fr)); gap:10px 24px; }
.lssl-ticks--big li{ font-size:15px; font-weight:600; color:var(--ink); }

/* Hero features as a small inline row under the buttons */
.lssl-hero__feats.is-inline{ display:flex; flex-wrap:wrap; gap:10px 22px; margin:22px 0 0; max-width:none; }
.lssl-hero__feats.is-inline li{ flex-direction:row; text-align:left; gap:8px; font-size:12.5px; }
.lssl-hero__feats.is-inline .lssl-ic{ width:34px; height:34px; }
.lssl-hero__feats.is-inline .lssl-ic i, .lssl-hero__feats.is-inline .lssl-ic i::before{ font-size:30px!important; }

/* Strip */
.lssl-strip{ padding:22px 0; background:#f3fbfe; border-top:1px solid rgba(0,204,247,.14); border-bottom:1px solid rgba(0,204,247,.14); }
.lssl-strip .lssl-kicker{ margin-bottom:14px; }
.lssl-strip__row{ display:flex; align-items:center; gap:18px 30px; }
.lssl-strip__lead{ flex-shrink:0; max-width:170px; margin:0; padding-left:14px; border-left:3px solid var(--gold); font-family:'Sora','Sora Fallback',sans-serif; font-weight:800; font-size:15px; line-height:1.3; color:var(--ink); }
.lssl-strip__items{ list-style:none; margin:0; padding:0; flex:1; display:grid; grid-template-columns:repeat(var(--n),minmax(0,1fr)); gap:14px; }
.lssl-strip__items li{ display:flex; align-items:center; gap:10px; }
.lssl-strip__items .lssl-ic{ width:44px; height:44px; }
.lssl-strip__items .lssl-ic i, .lssl-strip__items .lssl-ic i::before{ font-size:38px!important; }
.lssl-strip__items b{ display:block; font-family:'Sora','Sora Fallback',sans-serif; font-size:13.5px; color:var(--ink); line-height:1.25; }
.lssl-strip__items small{ display:block; margin-top:2px; font-size:12px; color:var(--body); line-height:1.35; }

/* Cards with the icon beside the text (What's included, side layout) */
.lssl-grid4.is-side .lssl-card{ display:grid; grid-template-columns:auto 1fr; gap:4px 16px; align-items:start; }
.lssl-grid4.is-side .lssl-card .lssl-ic--tile{ grid-row:span 2; margin:0; }
.lssl-grid4.is-side .lssl-card h3{ margin:4px 0 4px; }

/* Picker: "Tell us what you're running" */
.lssl-picker__card{ padding:28px; border-radius:20px; background:#fff; border:1px solid var(--ls-line); box-shadow:0 20px 44px -34px rgba(11,22,48,.45); }
.lssl-picker__t{ margin:0 0 6px; font-family:'Sora','Sora Fallback',sans-serif; font-weight:800; font-size:24px; color:var(--ink); }
.lssl-picker__x{ margin:0 0 18px; font-size:14.5px; color:var(--body); }
.lssl-picker__group{ margin:0 0 18px; padding:0; border:0; }
.lssl-picker__group legend{ margin-bottom:10px; font-family:'Sora','Sora Fallback',sans-serif; font-weight:700; font-size:15px; color:var(--ink); }
.lssl-picker__opts{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.lssl-opt input{ position:absolute; opacity:0; pointer-events:none; }
.lssl-opt__box{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; min-height:92px; padding:12px 6px; border-radius:14px; border:1.5px solid var(--ls-line); background:#fff; font-size:13px; font-weight:700; color:var(--ink); text-align:center; cursor:pointer; transition:border-color .2s, background .2s; }
.lssl-opt__ic{ display:grid; place-items:center; height:36px; }
.lssl-opt__ic i, .lssl-opt__ic i::before{ font-size:32px!important; line-height:1; color:var(--cy)!important; -webkit-text-fill-color:var(--cy); background:none!important; }
.lssl-opt__ic .lssl-txti{ width:36px; height:36px; font-size:14px; border-width:2px; }
.lssl-opt:hover .lssl-opt__box{ border-color:rgba(0,204,247,.5); }
.lssl-opt input:checked + .lssl-opt__box{ border-color:var(--cy); background:#eafaff; box-shadow:0 0 0 3px rgba(0,204,247,.18); }
.lssl-opt input:focus-visible + .lssl-opt__box{ outline:2px solid var(--ink); outline-offset:2px; }

/* Plans / service cards with lists */
.lssl-plans__row{ display:grid; grid-template-columns:repeat(var(--n),minmax(0,1fr)); gap:18px; align-items:stretch; }
.lssl-plan{ display:flex; flex-direction:column; padding:24px 22px 22px; border-radius:18px; background:#fff; border:1px solid var(--ls-line); box-shadow:0 16px 34px -28px rgba(11,22,48,.4); }
.lssl-plan__head{ display:flex; gap:14px; align-items:flex-start; margin-bottom:16px; }
.lssl-plan__head .lssl-ic--tile{ width:58px; height:58px; }
.lssl-plan__head .lssl-ic--tile i, .lssl-plan__head .lssl-ic--tile i::before{ font-size:38px!important; }
.lssl-plan h3{ margin:4px 0 4px; font-family:'Sora','Sora Fallback',sans-serif; font-weight:800; font-size:17.5px; color:var(--ink); }
.lssl-plan__head p, .lssl-plan--side p{ margin:0; font-size:13.5px; line-height:1.55; color:var(--body); }
.lssl-plan__lab{ display:block; margin:6px 0 8px; font-family:'Sora','Sora Fallback',sans-serif; font-size:13px; color:var(--ink); }
.lssl-plan__lab:empty{ display:none; }
.lssl-plan .lssl-ticks{ margin-bottom:12px; }
.lssl-plan__btn{ margin-top:auto; display:flex; align-items:center; justify-content:center; gap:8px; height:44px; border-radius:10px; border:1.5px solid rgba(0,204,247,.45); font-family:'Sora','Sora Fallback',sans-serif; font-weight:700; font-size:13.5px; color:var(--cy); text-decoration:none; transition:background .2s, color .2s, border-color .2s; }
.lssl-plan__btn:hover{ background:var(--cy); border-color:var(--cy); color:var(--ink); text-decoration:none; }
.lssl-plan--side{ justify-content:center; background:#f3fbfe; border-color:rgba(0,204,247,.2); }
.lssl-plan--side h3{ margin-bottom:8px; }
.lssl-plan--side .lssl-plan__btn{ margin-top:16px; background:#fff; }

/* Flow of steps with arrows */
.lssl-flow{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(var(--n),minmax(0,1fr)); gap:26px; }
.lssl-flow li{ position:relative; display:flex; flex-direction:column; align-items:center; text-align:center; gap:6px; padding:18px 8px 16px; border-radius:16px; background:#fff; border:1px solid var(--ls-line); box-shadow:0 14px 30px -26px rgba(11,22,48,.4); }
.lssl-flow li + li::before{ content:"\2192"; position:absolute; left:-21px; top:50%; transform:translateY(-50%); font-size:18px; font-weight:700; color:var(--cy); }
.lssl-flow__ic{ display:grid; place-items:center; height:44px; }
.lssl-flow__ic i, .lssl-flow__ic i::before{ font-size:40px!important; line-height:1; color:var(--cy)!important; -webkit-text-fill-color:var(--cy); background:none!important; }
.lssl-flow__ic.is-gold i::before{ background:linear-gradient(135deg,#00ccf7 0 56%,#FDD000 56% 100%)!important; -webkit-background-clip:text!important; background-clip:text!important; -webkit-text-fill-color:transparent; color:transparent!important; }
.lssl-flow__ic .lssl-txti{ width:40px; height:40px; font-size:15px; }
.lssl-flow b{ font-family:'Sora','Sora Fallback',sans-serif; font-size:13.5px; color:var(--ink); line-height:1.25; }
.lssl-flow small{ font-size:11.5px; line-height:1.35; color:var(--body); }
.lssl-flow.is-compact{ gap:20px; margin-top:16px; }
.lssl-flow.is-compact li{ padding:12px 4px 10px; border-radius:12px; box-shadow:none; }
.lssl-flow.is-compact li + li::before{ left:-17px; font-size:15px; }
.lssl-flow.is-compact .lssl-flow__ic{ height:34px; }
.lssl-flow.is-compact .lssl-flow__ic i, .lssl-flow.is-compact .lssl-flow__ic i::before{ font-size:30px!important; }
.lssl-flow.is-compact b{ font-size:12px; }
.lssl-flow.is-compact small{ font-size:10.5px; }

/* Split: checklist or flow + side card */
.lssl-split__grid{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:28px 48px; align-items:center; }
.lssl-split__copy .lssl-ticks{ margin-top:18px; }
.lssl-split__card{ padding:24px; border-radius:20px; background:#fff; border:1px solid var(--ls-line); box-shadow:0 24px 48px -34px rgba(11,22,48,.45); }
.lssl-split__card.is-image{ padding:14px; }
.lssl-split__card img{ display:block; width:100%; height:auto; border-radius:12px; }
.lssl-split__t{ margin:0 0 4px; font-family:'Sora','Sora Fallback',sans-serif; font-weight:800; font-size:18px; color:var(--ink); }
.lssl-split__x{ margin:0; font-size:13.5px; color:var(--body); }

/* CSS-only tabs */
.lssl-tabs{ display:grid; grid-template-columns:150px 1fr; gap:14px; margin-top:16px; }
.lssl-tabs__r{ position:absolute; opacity:0; pointer-events:none; }
.lssl-tabs__nav{ display:grid; gap:6px; align-content:start; }
.lssl-tabs__nav label{ padding:9px 12px; border-radius:10px; font-size:13px; font-weight:700; color:var(--body); cursor:pointer; transition:background .2s, color .2s; }
.lssl-tabs__nav label:hover{ background:#f3fbfe; }
.lssl-tabs__panel{ display:none; list-style:none; margin:0; padding:0; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.lssl-tabs__panel li{ display:flex; align-items:center; gap:8px; padding:10px; border-radius:10px; border:1px solid var(--ls-line); font-size:12.5px; font-weight:700; color:var(--ink); }
.lssl-tabs__ic{ display:grid; place-items:center; width:26px; flex-shrink:0; }
.lssl-tabs__ic i, .lssl-tabs__ic i::before{ font-size:22px!important; line-height:1; color:var(--cy)!important; -webkit-text-fill-color:var(--cy); background:none!important; }
.lssl-tabs__ic.is-gold i, .lssl-tabs__ic.is-gold i::before{ color:#e0b800!important; -webkit-text-fill-color:#e0b800; }
.lssl-tabs__ic .lssl-txti{ width:26px; height:26px; font-size:10.5px; border-width:1.5px; border-radius:7px; }
.lssl-tabs__r:nth-of-type(1):checked ~ .lssl-tabs__panels .lssl-tabs__panel:nth-child(1),
.lssl-tabs__r:nth-of-type(2):checked ~ .lssl-tabs__panels .lssl-tabs__panel:nth-child(2),
.lssl-tabs__r:nth-of-type(3):checked ~ .lssl-tabs__panels .lssl-tabs__panel:nth-child(3),
.lssl-tabs__r:nth-of-type(4):checked ~ .lssl-tabs__panels .lssl-tabs__panel:nth-child(4),
.lssl-tabs__r:nth-of-type(5):checked ~ .lssl-tabs__panels .lssl-tabs__panel:nth-child(5),
.lssl-tabs__r:nth-of-type(6):checked ~ .lssl-tabs__panels .lssl-tabs__panel:nth-child(6){ display:grid; }
.lssl-tabs__r:nth-of-type(1):checked ~ .lssl-tabs__nav label:nth-child(1),
.lssl-tabs__r:nth-of-type(2):checked ~ .lssl-tabs__nav label:nth-child(2),
.lssl-tabs__r:nth-of-type(3):checked ~ .lssl-tabs__nav label:nth-child(3),
.lssl-tabs__r:nth-of-type(4):checked ~ .lssl-tabs__nav label:nth-child(4),
.lssl-tabs__r:nth-of-type(5):checked ~ .lssl-tabs__nav label:nth-child(5),
.lssl-tabs__r:nth-of-type(6):checked ~ .lssl-tabs__nav label:nth-child(6){ background:var(--cy); color:var(--ink); }
.lssl-tabs__r:focus-visible ~ .lssl-tabs__nav{ outline:2px solid var(--ink); outline-offset:4px; border-radius:10px; }

/* Benefits */
.lssl-benefits__grid{ display:grid; grid-template-columns:minmax(0,1fr); gap:20px; align-items:stretch; }
.lssl-benefits__grid.has-image{ grid-template-columns:minmax(0,1fr) 340px; }
.lssl-benefits__row{ display:grid; grid-template-columns:repeat(var(--n),minmax(0,1fr)); gap:16px; }
.lssl-benefit{ display:flex; gap:14px; align-items:flex-start; padding:20px 18px; border-radius:16px; background:#fff; border:1px solid var(--ls-line); box-shadow:0 14px 30px -26px rgba(11,22,48,.4); font-size:13.5px; line-height:1.55; color:var(--body); }
.lssl-benefit b{ display:block; margin-bottom:4px; font-family:'Sora','Sora Fallback',sans-serif; font-size:15px; color:var(--ink); }
.lssl-benefits__row.is-stack .lssl-benefit{ flex-direction:column; }
.lssl-benefits__img{ margin:0; border-radius:18px; overflow:hidden; background:#fff; border:1px solid var(--ls-line); box-shadow:0 20px 44px -32px rgba(11,22,48,.45); display:flex; align-items:center; }
.lssl-benefits__img img{ display:block; width:100%; height:auto; }

/* Scenarios */
.lssl-scen__row{ display:grid; grid-template-columns:repeat(var(--n),minmax(0,1fr)); gap:18px; }
.lssl-scen__card{ display:grid; grid-template-columns:150px 1fr; gap:16px; align-items:center; padding:16px; border-radius:18px; background:#fff; border:1px solid var(--ls-line); box-shadow:0 16px 34px -28px rgba(11,22,48,.4); }
.lssl-scen__img{ display:block; aspect-ratio:4/3; border-radius:12px; overflow:hidden; background:#eef6fb; }
.lssl-scen__img img{ display:block; width:100%; height:100%; object-fit:cover; object-position:top; }
.lssl-scen__card h3{ margin:0 0 6px; font-family:'Sora','Sora Fallback',sans-serif; font-weight:800; font-size:16px; color:var(--ink); }
.lssl-scen__card p{ margin:0 0 8px; font-size:13.5px; line-height:1.55; color:var(--body); }
.lssl-scen__card a{ font-family:'Sora','Sora Fallback',sans-serif; font-weight:700; font-size:13px; color:var(--cy); text-decoration:none; }

/* Compare columns */
.lssl-compare__side{ flex-shrink:0; display:flex; align-items:center; gap:14px; max-width:300px; padding:16px 18px; border-radius:14px; background:#f3fbfe; border:1px solid rgba(0,204,247,.25); font-family:'Sora','Sora Fallback',sans-serif; font-weight:700; font-size:13.5px; line-height:1.4; color:var(--ink); text-decoration:none; }
.lssl-compare__side:hover{ border-color:var(--cy); text-decoration:none; color:var(--ink); }
.lssl-compare__side span:last-child{ font-size:20px; color:var(--cy); }
.lssl-compare__row{ display:grid; grid-template-columns:repeat(var(--n),minmax(0,1fr)); gap:18px; }
.lssl-compare__col{ padding:22px; border-radius:18px; background:#fff; border:1px solid var(--ls-line); }
.lssl-compare__col.is-yes{ background:#f3fbfe; border:2px solid var(--cy); box-shadow:0 20px 44px -30px rgba(0,140,170,.5); }
.lssl-compare__col h3{ display:flex; align-items:center; gap:12px; margin:0 0 14px; font-family:'Sora','Sora Fallback',sans-serif; font-weight:800; font-size:17px; color:var(--ink); }
.lssl-compare__ic{ display:grid; place-items:center; width:46px; height:46px; border-radius:12px; background:#eafaff; }
.lssl-compare__ic i, .lssl-compare__ic i::before{ font-size:32px!important; line-height:1; color:var(--cy)!important; -webkit-text-fill-color:var(--cy); background:none!important; }
.lssl-compare__col.is-yes .lssl-compare__ic{ background:var(--cy); }
.lssl-compare__col.is-yes .lssl-compare__ic i, .lssl-compare__col.is-yes .lssl-compare__ic i::before{ color:#fff!important; -webkit-text-fill-color:#fff; }
.lssl-compare__col.is-yes .lssl-ticks li{ color:var(--ink); font-weight:600; }

/* Role picker */
.lssl-roles__note{ margin:0; display:flex; align-items:center; gap:12px; font-size:13.5px; color:var(--body); }
.lssl-roles__grid{ display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:18px; align-items:start; }
.lssl-roles__cards{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.lssl-role input{ position:absolute; opacity:0; pointer-events:none; }
.lssl-role__box{ position:relative; display:flex; flex-direction:column; gap:6px; height:100%; padding:18px 16px; border-radius:16px; background:#fff; border:1.5px solid var(--ls-line); cursor:pointer; transition:border-color .2s, background .2s, box-shadow .2s; }
.lssl-role:hover .lssl-role__box{ border-color:rgba(0,204,247,.5); }
.lssl-role input:checked + .lssl-role__box{ border-color:var(--cy); background:#f3fbfe; box-shadow:0 0 0 3px rgba(0,204,247,.15); }
.lssl-role input:focus-visible + .lssl-role__box{ outline:2px solid var(--ink); outline-offset:2px; }
.lssl-role__ic{ display:grid; place-items:center; width:44px; height:44px; border-radius:12px; background:#eafaff; }
.lssl-role__ic.is-gold{ background:#fff8d4; }
.lssl-role__ic i, .lssl-role__ic i::before{ font-size:30px!important; line-height:1; color:var(--cy)!important; -webkit-text-fill-color:var(--cy); background:none!important; }
.lssl-role__ic .lssl-txti{ width:30px; height:30px; font-size:12px; border-width:2px; }
.lssl-role__chk{ position:absolute; top:16px; right:16px; width:20px; height:20px; border-radius:6px; border:1.5px solid var(--ls-line); background:#fff; }
.lssl-role input:checked + .lssl-role__box .lssl-role__chk{ background:var(--cy); border-color:var(--cy); }
.lssl-role input:checked + .lssl-role__box .lssl-role__chk::after{ content:""; position:absolute; left:6px; top:2px; width:5px; height:10px; border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg); }
.lssl-role b{ margin-top:4px; font-family:'Sora','Sora Fallback',sans-serif; font-size:14.5px; color:var(--ink); }
.lssl-role__x{ font-size:12.5px; line-height:1.45; color:var(--body); }
.lssl-role small{ margin-top:auto; padding-top:6px; font-size:11.5px; font-weight:700; color:var(--ink); opacity:.75; }
.lssl-roles__team{ position:sticky; top:110px; display:flex; flex-direction:column; gap:10px; padding:22px; border-radius:18px; background:#fff; border:1px solid var(--ls-line); box-shadow:0 20px 44px -32px rgba(11,22,48,.45); }
.lssl-roles__count{ font-family:'Sora','Sora Fallback',sans-serif; font-size:16px; color:var(--ink); }
.lssl-roles__team > small{ font-size:12.5px; color:var(--body); }
.lssl-roles__empty{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:8px; padding:18px 6px; }
.lssl-roles__empty p{ margin:0; font-size:13px; color:var(--body); }
.lssl-roles__picked{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:6px; }
.lssl-roles__picked li{ padding:6px 10px; border-radius:8px; background:#eafaff; font-size:12.5px; font-weight:700; color:var(--ink); }

/* Showcase */
.lssl-show__img{ margin:0; border-radius:18px; overflow:hidden; background:#fff; border:1px solid var(--ls-line); box-shadow:0 26px 54px -36px rgba(11,22,48,.5); }
.lssl-show__img img{ display:block; width:100%; height:auto; }
.lssl-show__grid{ display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:28px 48px; align-items:center; }
.is-list-right .lssl-show__grid{ grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); }
.is-list-right .lssl-show__copy{ order:2; }
.lssl-show__copy .lssl-ticks{ margin-top:16px; }

/* Technology groups */
.lssl-stacks__row{ display:flex; flex-wrap:wrap; gap:14px; }
.lssl-stack{ flex:var(--n) 1 0; min-width:150px; padding:16px; border-radius:16px; background:#fff; border:1px solid var(--ls-line); box-shadow:0 14px 30px -26px rgba(11,22,48,.4); }
.lssl-stack > b{ display:block; margin-bottom:12px; font-family:'Sora','Sora Fallback',sans-serif; font-size:13.5px; color:var(--ink); }
.lssl-stack ul{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:14px 16px; }
.lssl-stack li{ display:flex; flex-direction:column; align-items:center; gap:6px; min-width:54px; }
.lssl-stack li i{ font-size:34px; line-height:1; color:var(--cy); }
.lssl-stack li.is-gold i:not(.lssl-txti){ color:#e0b800; }
.lssl-stack li .lssl-txti{ width:34px; height:34px; font-size:12.5px; border-width:2px; border-radius:9px; }
.lssl-stack li span{ font-size:11.5px; font-weight:700; color:var(--ink); white-space:nowrap; }

/* Form band */
.lssl-band__panel{ display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:24px 40px; padding:36px 40px; border-radius:22px; background:var(--cy); box-shadow:0 30px 60px -34px rgba(0,140,170,.55); }
.lssl-band__t{ margin:0 0 6px; font-family:'Sora','Sora Fallback',sans-serif; font-weight:800; font-size:clamp(24px,2.4vw,30px); line-height:1.2; color:var(--ink); }
.lssl-band__x{ margin:0 0 18px; font-size:15px; font-weight:600; color:var(--ink); }
.lssl-band__fields{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-bottom:10px; }
.lssl-field--wide{ grid-column:1 / -1; }
.lssl-band__form .ls-consent{ display:flex; gap:8px; align-items:flex-start; margin:0 0 12px; font-size:12px; line-height:1.45; font-weight:600; color:var(--ink); }
.lssl-band__form .lssl-btn--gold{ box-shadow:0 14px 26px -14px rgba(11,22,48,.45); }
.lssl-band__side{ display:flex; flex-direction:column; justify-content:center; gap:18px; padding-left:28px; border-left:1px solid rgba(11,22,48,.14); }
.lssl-band__side .lssl-cta__pts{ padding:0; }
.lssl-band__wa{ align-self:flex-start; border-color:#fff; }
.lssl-band__wa i{ font-size:18px; }

/* Slim closing bar */
.lssl-bar{ padding-top:10px; }
.lssl-bar__row{ display:flex; align-items:center; justify-content:space-between; gap:18px 32px; flex-wrap:wrap; }
.lssl-bar__t{ margin:0 0 4px; font-family:'Sora','Sora Fallback',sans-serif; font-weight:800; font-size:clamp(22px,2.2vw,28px); color:var(--ink); }
.lssl-bar__btns{ display:flex; gap:12px; flex-wrap:wrap; }

/* Costs: problems + bug flow card */
.lssl-costs__grid{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:28px 44px; align-items:center; }
.lssl-costs__card{ padding:24px; border-radius:20px; background:#f3fbfe; border:1px solid rgba(0,204,247,.2); }
.lssl-costs__flow{ display:grid; grid-template-columns:minmax(0,1fr) 150px; gap:16px; align-items:center; margin-top:14px; }
.lssl-costs__steps{ list-style:none; margin:0; padding:0; display:grid; gap:16px; }
.lssl-costs__steps li{ position:relative; display:flex; gap:12px; align-items:flex-start; font-size:12.5px; line-height:1.45; color:var(--body); }
.lssl-costs__steps li + li::before{ content:""; position:absolute; left:18px; top:-16px; height:14px; border-left:2px dashed rgba(0,204,247,.5); }
.lssl-costs__steps b{ display:block; font-family:'Sora','Sora Fallback',sans-serif; font-size:14px; color:var(--ink); }
.lssl-costs__ic{ flex-shrink:0; display:grid; place-items:center; width:38px; height:38px; border-radius:11px; background:#fff; border:1px solid rgba(0,204,247,.25); }
.lssl-costs__ic i, .lssl-costs__ic i::before{ font-size:26px!important; line-height:1; color:var(--cy)!important; -webkit-text-fill-color:var(--cy); background:none!important; }
.lssl-costs__out{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:8px; padding:18px 12px; border-radius:16px; background:#fff; border:2px solid var(--cy); }
.lssl-costs__out b{ font-family:'Sora','Sora Fallback',sans-serif; font-size:15px; color:var(--ink); }
.lssl-costs__out p{ margin:0; font-size:12px; line-height:1.45; color:var(--body); }
.lssl-costs__out .lssl-cta__tick{ width:34px; height:34px; }
.lssl-costs__out .lssl-cta__tick::after{ left:12px; top:7px; width:7px; height:14px; }

/* Process deliverables */
.lssl-step__del{ display:block; margin-top:8px; font-style:normal; font-size:12px; line-height:1.45; color:var(--body); }
.lssl-step__del strong{ color:var(--ink); }

@media (max-width:1100px){
	.lssl-strip__row{ flex-direction:column; align-items:flex-start; }
	.lssl-strip__items{ grid-template-columns:repeat(3,minmax(0,1fr)); width:100%; }
	.lssl-plans__row, .lssl-compare__row, .lssl-scen__row{ grid-template-columns:repeat(2,minmax(0,1fr)); }
	.lssl-flow{ grid-template-columns:repeat(4,minmax(0,1fr)); }
	.lssl-flow li + li::before{ display:none; }
	.lssl-roles__cards{ grid-template-columns:repeat(3,minmax(0,1fr)); }
	.lssl-benefits__grid.has-image{ grid-template-columns:minmax(0,1fr); }
	.lssl-benefits__row{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:991px){
	.lssl-split__grid, .lssl-show__grid, .is-list-right .lssl-show__grid, .lssl-costs__grid, .lssl-roles__grid, .lssl-band__panel{ grid-template-columns:minmax(0,1fr); }
	.is-list-right .lssl-show__copy{ order:0; }
	.lssl-roles__team{ position:static; }
	.lssl-band__panel{ padding:28px 22px; }
	.lssl-band__side{ padding-left:0; border-left:0; }
	.lssl-band__fields{ grid-template-columns:repeat(2,minmax(0,1fr)); }
	.lssl-tabs{ grid-template-columns:minmax(0,1fr); }
	.lssl-tabs__nav{ display:flex; flex-wrap:wrap; }
}
@media (max-width:640px){
	.lssl-strip__items, .lssl-plans__row, .lssl-compare__row, .lssl-scen__row, .lssl-benefits__row, .lssl-band__fields{ grid-template-columns:minmax(0,1fr); }
	.lssl-flow{ grid-template-columns:repeat(2,minmax(0,1fr)); }
	.lssl-roles__cards{ grid-template-columns:repeat(2,minmax(0,1fr)); }
	.lssl-picker__opts{ grid-template-columns:repeat(2,minmax(0,1fr)); }
	.lssl-ticks--cols{ grid-template-columns:minmax(0,1fr); }
	.lssl-scen__card{ grid-template-columns:110px 1fr; }
	.lssl-costs__flow{ grid-template-columns:minmax(0,1fr); }
	.lssl-tabs__panel{ grid-template-columns:repeat(2,minmax(0,1fr)); }
	.lssl-compare__side{ max-width:none; }
	.lssl-roles__note{ flex-wrap:wrap; }
}

/* Tool and technology logos in their original colours (logo:slug) */
img.lssl-logo{ display:block; width:auto; height:44px; max-width:96px; object-fit:contain; }
.lssl-tech__row li.has-logo img.lssl-logo{ height:46px; }
.lssl-tech__row li.has-logo:hover{ border-color:rgba(0,204,247,.5); }
.lssl-stack li img.lssl-logo{ height:34px; max-width:70px; }
.lssl-tabs__ic img.lssl-logo{ height:22px; max-width:26px; }
.lssl-opt__ic img.lssl-logo{ height:32px; max-width:70px; }
.lssl-flow__ic img.lssl-logo{ height:38px; }

.lssl-grid4.is-chart .lssl-card{ display:flex; flex-direction:column; padding-bottom:0; overflow:hidden; }
.lssl-grid4.is-chart .lssl-card p{ margin-bottom:14px; }
.lssl-card__trend{ display:block; width:calc(100% + 44px); height:62px; margin:auto -22px 0; }

/* More outline icons (svg-cloud, svg-server, ...) */
.lssl-svgi--cloud{ --m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 48 H46 C53 48 58 43 58 36 C58 29.5 53 24.5 46.5 24 C44.5 16.5 38 11 30 11 C21 11 14 17.5 13 26 C8.5 27.5 6 31.5 6 36 C6 42.5 11.5 48 18 48 Z'/%3E%3C/svg%3E"); }
.lssl-svgi--server{ --m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 8 H54 V25 H10 Z M10 31 H54 V48 H10 Z M17 16.5 H20 M17 39.5 H20 M28 16.5 H46 M28 39.5 H46 M32 48 V56 M20 56 H44'/%3E%3C/svg%3E"); }
.lssl-svgi--lock{ --m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 28 H49 V57 H15 Z M22 28 V20 C22 14 26.5 9 32 9 C37.5 9 42 14 42 20 V28 M32 38 V47'/%3E%3C/svg%3E"); }
.lssl-svgi--database{ --m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 14 C12 9 21 6 32 6 C43 6 52 9 52 14 V50 C52 55 43 58 32 58 C21 58 12 55 12 50 Z M12 14 C12 19 21 22 32 22 C43 22 52 19 52 14 M12 32 C12 37 21 40 32 40 C43 40 52 37 52 32'/%3E%3C/svg%3E"); }
.lssl-svgi--bug{ --m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 22 C22 16 26.5 12 32 12 C37.5 12 42 16 42 22 M20 24 H44 V40 C44 48 38.5 54 32 54 C25.5 54 20 48 20 40 Z M32 30 V54 M20 32 H8 M44 32 H56 M20 44 H10 M44 44 H54 M25 14 L20 8 M39 14 L44 8'/%3E%3C/svg%3E"); }
.lssl-svgi--users{ --m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M24 30 C29.5 30 34 25.5 34 20 C34 14.5 29.5 10 24 10 C18.5 10 14 14.5 14 20 C14 25.5 18.5 30 24 30 Z M6 54 C6 43 14 36 24 36 C34 36 42 43 42 54 M42 12 C46.5 12 50 16 50 21 C50 26 46.5 29 42 29 M46 36 C53 38 58 44 58 54'/%3E%3C/svg%3E"); }
.lssl-svgi--branch{ --m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 16 V48 M18 54 m-6 0 a6 6 0 1 0 12 0 a6 6 0 1 0 -12 0 M18 10 m-6 0 a6 6 0 1 0 12 0 a6 6 0 1 0 -12 0 M46 20 m-6 0 a6 6 0 1 0 12 0 a6 6 0 1 0 -12 0 M46 26 C46 38 18 34 18 46'/%3E%3C/svg%3E"); }
.lssl-svgi--gauge{ --m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 46 C8 32 19 20 32 20 C45 20 56 32 56 46 M32 46 L44 30 M32 46 m-4 0 a4 4 0 1 0 8 0 a4 4 0 1 0 -8 0 M14 46 H10 M54 46 H50 M32 24 V28 M17 31 L20 34 M47 31 L44 34'/%3E%3C/svg%3E"); }
.lssl-svgi--refresh{ --m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M52 26 C49 16 41 10 32 10 C20 10 10 20 10 32 M12 38 C15 48 23 54 32 54 C44 54 54 44 54 32 M52 12 V26 H38 M12 52 V38 H26'/%3E%3C/svg%3E"); }
.lssl-svgi--code{ --m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 18 L8 32 L22 46 M42 18 L56 32 L42 46 M36 12 L28 52'/%3E%3C/svg%3E"); }
.lssl-svgi--rocket{ --m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M32 6 C42 12 46 24 44 38 H20 C18 24 22 12 32 6 Z M32 24 m-5 0 a5 5 0 1 0 10 0 a5 5 0 1 0 -10 0 M20 38 L12 48 L20 46 M44 38 L52 48 L44 46 M26 44 L32 56 L38 44'/%3E%3C/svg%3E"); }
.lssl-svgi--layers{ --m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M32 8 L58 22 L32 36 L6 22 Z M6 32 L32 46 L58 32 M6 42 L32 56 L58 42'/%3E%3C/svg%3E"); }
.lssl-svgi--clipboard{ --m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 12 H48 V58 H16 Z M24 8 H40 V16 H24 Z M23 30 L27 34 L34 26 M38 31 H42 M23 45 L27 49 L34 41 M38 46 H42'/%3E%3C/svg%3E"); }
.lssl-svgi--target2{ --m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M32 8 m-24 0 a24 24 0 1 0 48 0 a24 24 0 1 0 -48 0'/%3E%3C/svg%3E"); }

/* Outline SVG icons inside containers that reset icon backgrounds */
.lssl-opt__ic i.lssl-svgi, .lssl-flow__ic i.lssl-svgi, .lssl-tabs__ic i.lssl-svgi, .lssl-compare__ic i.lssl-svgi,
.lssl-role__ic i.lssl-svgi, .lssl-costs__ic i.lssl-svgi, .lssl-plan__head i.lssl-svgi{ background:var(--cy)!important; }
.lssl-flow__ic.is-gold i.lssl-svgi{ background:linear-gradient(135deg,#00ccf7 0 56%,#FDD000 56% 100%)!important; }
.lssl-step__ic i.lssl-svgi{ background:#fff!important; }
.lssl-step__ic.is-gold i.lssl-svgi{ background:var(--ink)!important; }
.lssl-compare__col.is-yes .lssl-compare__ic i.lssl-svgi{ background:#fff!important; }
.lssl-opt__ic i.lssl-svgi{ width:32px; height:32px; }
.lssl-flow__ic i.lssl-svgi{ width:40px; height:40px; }
.lssl-flow.is-compact .lssl-flow__ic i.lssl-svgi{ width:30px; height:30px; }
.lssl-step__ic i.lssl-svgi{ width:34px; height:34px; }
.lssl-tabs__ic i.lssl-svgi{ width:22px; height:22px; }
.lssl-compare__ic i.lssl-svgi, .lssl-role__ic i.lssl-svgi{ width:30px; height:30px; }
.lssl-costs__ic i.lssl-svgi{ width:26px; height:26px; }
.lssl-hero__feats.is-inline{ gap:10px 18px; }

/* Long hero headings (two sentences) set a little smaller so they stay on three lines */
.lssl-hero__title.is-long{ font-size:clamp(30px,3.3vw,44px); }
/* Inline hero features: one tidy row of four */
.lssl-hero__feats.is-inline{ display:grid; grid-template-columns:repeat(4,auto); justify-content:start; gap:10px 16px; }
.lssl-hero__feats.is-inline li{ font-size:12px; white-space:nowrap; }
.lssl-hero__feats.is-inline .lssl-ic{ width:30px; height:30px; }
.lssl-hero__feats.is-inline .lssl-ic i, .lssl-hero__feats.is-inline .lssl-ic i::before{ font-size:26px!important; }
.lssl-hero__feats.is-inline .lssl-ic i.lssl-svgi{ width:26px; height:26px; }
/* Team panel button */
.lssl-roles__team .lssl-btn{ min-height:48px; padding:0 14px; font-size:14px; white-space:nowrap; }
/* Five or six process steps: icon above the text, so the columns stay readable */
.lssl-proc__row[style*="--n:5"] .lssl-step, .lssl-proc__row[style*="--n:6"] .lssl-step{ grid-template-columns:auto 1fr; grid-template-rows:auto auto; padding:18px 16px; }
.lssl-proc__row[style*="--n:5"] .lssl-step__body, .lssl-proc__row[style*="--n:6"] .lssl-step__body{ grid-column:1 / -1; grid-row:2; }
.lssl-proc__row[style*="--n:5"] .lssl-step__n, .lssl-proc__row[style*="--n:6"] .lssl-step__n{ grid-row:1; grid-column:2; justify-self:start; align-self:center; }
.lssl-proc__row[style*="--n:5"] .lssl-step__body b, .lssl-proc__row[style*="--n:6"] .lssl-step__body b{ margin-top:4px; }
.lssl-proc__row[style*="--n:5"], .lssl-proc__row[style*="--n:6"]{ gap:26px; }
.lssl-proc__row[style*="--n:5"] .lssl-step + .lssl-step::before, .lssl-proc__row[style*="--n:6"] .lssl-step + .lssl-step::before{ left:-22px; }
/* Technology groups: whole groups wrap, logos inside a group stay on one line */
.lssl-stack{ min-width:calc(var(--n) * 64px + 34px); }
.lssl-stack ul{ flex-wrap:nowrap; gap:10px; }
.lssl-stack li{ min-width:54px; }
@media (max-width:1100px){
	.lssl-hero__feats.is-inline{ grid-template-columns:repeat(2,auto); }
}
@media (max-width:640px){
	.lssl-stack{ min-width:0; flex-basis:100%; }
	.lssl-stack ul{ flex-wrap:wrap; }
	.lssl-proc__row[style*="--n:5"] .lssl-step + .lssl-step::before, .lssl-proc__row[style*="--n:6"] .lssl-step + .lssl-step::before{ display:none; }
}

.lssl-stacks__row{ gap:12px; }
.lssl-stack{ min-width:calc(var(--n) * 56px + 22px); padding:14px 11px; }
.lssl-stack ul{ gap:8px; }
.lssl-stack li{ min-width:48px; }
.lssl-stack li span{ font-size:11px; }

/* Nine coverage tiles in one row */
.lssl-inds__row li{ padding-left:8px; padding-right:8px; }
@media (max-width:1100px){ .lssl-inds__row[style*="--n:9"]{ grid-template-columns:repeat(3,minmax(0,1fr)); } }

@media (max-width:640px){
	.lssl-hero__feats.is-inline{ grid-template-columns:repeat(2,minmax(0,1fr)); }
	.lssl-hero__feats.is-inline li{ white-space:normal; }
	.lssl-tabs__panel li{ min-width:0; }
}

/* ==== Review pass (Oct 1): layout fixes across the new landing pages ==== */

/* Two-sentence hero headings flow as one paragraph, as on the boards */
.lssl-hero__title.is-long span{ display:inline; }

/* Picker card lines up with the form beside it */
.lssl-picker .lssl-more__grid{ align-items:stretch; }
.lssl-picker__card{ display:flex; flex-direction:column; justify-content:center; }

/* Side-icon cards: title and text sit together beside the icon */
.lssl-grid4.is-side .lssl-card{ grid-template-rows:auto 1fr; align-content:start; }
.lssl-grid4.is-side .lssl-card p{ grid-column:2; }

/* Compact flows: larger tiles; past four steps they wrap in rows of three */
.lssl-flow.is-compact{ gap:18px 22px; }
.lssl-flow.is-compact li{ padding:14px 6px 12px; }
.lssl-flow.is-compact .lssl-flow__ic{ height:38px; }
.lssl-flow.is-compact .lssl-flow__ic i, .lssl-flow.is-compact .lssl-flow__ic i::before{ font-size:34px!important; }
.lssl-flow.is-compact .lssl-flow__ic i.lssl-svgi{ width:34px; height:34px; }
.lssl-flow.is-compact b{ font-size:13px; }
.lssl-flow.is-compact small{ font-size:11.5px; }
.lssl-flow.is-wrap li:nth-child(3n+1)::before{ display:none; }

/* Tabs: two roomy columns of tools, and the card keeps its height */
.lssl-tabs__panels{ min-height:240px; }
.lssl-tabs__panel{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.lssl-tabs__panel li{ padding:14px; font-size:14px; gap:12px; border-radius:12px; }
.lssl-tabs__ic{ width:34px; }
.lssl-tabs__ic img.lssl-logo{ height:30px; max-width:34px; }
.lssl-tabs__ic .lssl-txti{ width:32px; height:32px; font-size:12px; }
.lssl-tabs__nav label{ padding:11px 14px; font-size:14px; }

/* Cost card: readable steps */
.lssl-costs__steps{ gap:20px; }
.lssl-costs__steps li{ font-size:14px; }
.lssl-costs__steps b{ font-size:15.5px; }
.lssl-costs__steps li + li::before{ top:-20px; height:18px; }
.lssl-costs__ic{ width:44px; height:44px; }
.lssl-costs__ic i.lssl-svgi{ width:30px; height:30px; }
.lssl-costs__steps li + li::before{ left:21px; }
.lssl-costs__out b{ font-size:16px; }
.lssl-costs__out p{ font-size:13px; }
.lssl-costs__flow{ grid-template-columns:minmax(0,1fr) 170px; }

/* WhatsApp button stays on one line */
.lssl-band__wa{ white-space:nowrap; padding:0 18px; font-size:14px; }

/* Split card with a picture: a wider picture column */
.lssl-split__grid:has(.lssl-split__card.is-image){ grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); }
@media (max-width:991px){ .lssl-split__grid:has(.lssl-split__card.is-image){ grid-template-columns:minmax(0,1fr); } }

/* Benefits with a picture: a wider picture */
.lssl-benefits__grid.has-image{ grid-template-columns:minmax(0,1fr) 400px; }
@media (max-width:1100px){ .lssl-benefits__grid.has-image{ grid-template-columns:minmax(0,1fr); } }

.lssl-split__grid:has(.lssl-split__card.is-image){ grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); }
.lssl-split__grid:has(.lssl-split__card.is-image) .lssl-ticks li{ font-size:15.5px; font-weight:600; color:var(--ink); }
.lssl-split__grid:has(.lssl-split__card.is-image) .lssl-ticks{ gap:12px; }
@media (max-width:991px){ .lssl-split__grid:has(.lssl-split__card.is-image){ grid-template-columns:minmax(0,1fr); } }

/* Inline hero features: a tidy two-by-two grid that never runs into the picture */
.lssl-hero__feats.is-inline{ grid-template-columns:repeat(2,max-content); gap:12px 34px; }
.lssl-hero__feats.is-inline li{ font-size:13px; }

/* Picker: larger tiles so the card fills the height of the form beside it */
.lssl-picker__card{ padding:32px; justify-content:space-between; }
.lssl-picker__t{ font-size:26px; }
.lssl-picker__x{ font-size:15px; margin-bottom:22px; }
.lssl-picker__group legend{ font-size:16px; margin-bottom:12px; }
.lssl-picker__group{ margin-bottom:24px; }
.lssl-picker__group:last-child{ margin-bottom:0; }
.lssl-opt__box{ min-height:118px; font-size:14px; gap:10px; }
.lssl-opt__ic{ height:44px; }
.lssl-opt__ic i, .lssl-opt__ic i::before{ font-size:40px!important; }
.lssl-opt__ic i.lssl-svgi{ width:40px; height:40px; }
.lssl-opt__ic img.lssl-logo{ height:40px; }

.lssl-picker__card{ justify-content:center; }

@media (max-width:640px){
	.lssl-hero__feats.is-inline{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 12px; }
	.lssl-hero__feats.is-inline li{ white-space:normal; font-size:12px; }
}

/* ==== Review pass 2 ==== */

/* Logos: every logo sits in the same box, centred, whatever its shape */
img.lssl-logo{ width:96px; height:44px; max-width:none; object-fit:contain; object-position:center; }
.lssl-tech__row li.has-logo img.lssl-logo{ width:90px; height:46px; }
.lssl-stack li img.lssl-logo{ width:54px; height:34px; }
.lssl-tabs__ic img.lssl-logo{ width:34px; height:30px; }
.lssl-opt__ic img.lssl-logo{ width:70px; height:40px; }
.lssl-flow__ic img.lssl-logo{ width:60px; height:38px; }

/* Tool tiles: long names wrap onto two centred lines inside the tile */
.lssl-tech__row li{ justify-content:flex-start; padding:16px 6px 12px; min-height:118px; }
.lssl-tech__row span{ white-space:normal; text-align:center; line-height:1.25; font-size:12px; }

/* Trend lines run to both edges of the card (the global svg max-width capped them) */
.lssl-card__trend{ max-width:none; }

/* Process arrows sit exactly in the middle of the gap between cards */
.lssl-proc__row{ --gap:34px; gap:var(--gap); }
.lssl-proc__row[style*="--n:5"], .lssl-proc__row[style*="--n:6"]{ --gap:30px; }
.lssl-step + .lssl-step::before, .lssl-proc__row[style*="--n:5"] .lssl-step + .lssl-step::before, .lssl-proc__row[style*="--n:6"] .lssl-step + .lssl-step::before{ left:calc(var(--gap) / -2); transform:translate(-50%,-50%); font-size:20px; line-height:1; }
.lssl-flow{ --fgap:26px; gap:var(--fgap); }
.lssl-flow.is-compact{ --fgap:22px; }
.lssl-flow li + li::before, .lssl-flow.is-compact li + li::before{ left:calc(var(--fgap) / -2); transform:translate(-50%,-50%); line-height:1; }

/* Costs card: a clear timeline, then the outcome as a band underneath */
.lssl-costs__card{ padding:28px; }
.lssl-costs__flow{ display:block; margin-top:18px; }
.lssl-costs__steps{ gap:0; }
.lssl-costs__steps li{ padding-bottom:18px; font-size:14px; align-items:flex-start; }
.lssl-costs__steps li:last-child{ padding-bottom:0; }
.lssl-costs__steps li + li::before{ display:none; }
.lssl-costs__steps li:not(:last-child)::after{ content:""; position:absolute; left:21px; top:48px; bottom:4px; border-left:2px dashed rgba(0,204,247,.45); }
.lssl-costs__steps b{ margin-bottom:2px; }
.lssl-costs__out{ flex-direction:row; align-items:center; text-align:left; gap:14px; margin-top:20px; padding:16px 18px; border-radius:14px; }
.lssl-costs__out span:last-child{ font-size:13.5px; line-height:1.5; color:var(--body); }
.lssl-costs__out b{ display:block; font-size:16px; margin-bottom:2px; color:var(--ink); }
.lssl-costs__out .lssl-cta__tick{ flex-shrink:0; }
