/* Source-driven service overview. Presentation is shared with its editor preview. */
.ll-service-catalog{color:var(--text-primary);--catalog-gap:var(--space-6,24px)}
.ll-service-catalog svg{flex:none;width:24px;height:24px}
.ll-service-catalog__nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-3,12px);margin-bottom:var(--space-20,80px)}
.ll-service-catalog__nav a{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4,16px);padding:var(--space-5,20px);min-width:0;min-height:144px;border:var(--border-subtle);border-radius:var(--radius-lg,16px);background:var(--surface-card);color:var(--text-primary);text-decoration:none;transition:border-color var(--motion-micro,.15s),background var(--motion-micro,.15s)}
.ll-service-catalog__nav a:hover{background:var(--brand-tint);border-color:var(--brand-secondary)}
.ll-service-catalog__nav-icon{display:grid;place-items:center;width:40px;height:40px;color:var(--brand-primary);background:var(--brand-tint);border-radius:var(--radius-md,10px)}
.ll-service-catalog__nav-title{font-size:14px;font-weight:700;line-height:1.45;overflow-wrap:break-word}
.ll-service-catalog__nav a>svg{position:absolute;right:var(--space-4,16px);top:var(--space-6,24px);color:var(--text-secondary);width:16px;height:16px}
.ll-service-catalog__category{display:grid;grid-template-columns:256px minmax(0,1fr);gap:var(--space-12,48px);margin:0 0 var(--space-20,80px);padding:0 0 var(--space-20,80px);border-bottom:var(--border-subtle);scroll-margin-top:128px}
.ll-service-catalog__category:last-child{margin-bottom:0;padding-bottom:0;border-bottom:0}
.ll-service-catalog__category>header{display:block;align-self:start;position:sticky;top:calc(112px + var(--wp-admin--admin-bar--height,0px))}
.ll-service-catalog__category-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4,16px);margin-bottom:var(--space-6,24px)}
.ll-service-catalog__category-icon{display:grid;place-items:center;width:56px;height:56px;background:var(--brand-tint);color:var(--brand-primary);border-radius:var(--radius-lg,16px)}
.ll-service-catalog__category-icon svg{width:28px;height:28px}
.ll-service-catalog__number{color:var(--text-secondary);font-size:13px;font-weight:650;letter-spacing:.08em;margin:0}
.ll-service-catalog__category h2{margin:0 0 var(--space-4,16px)!important;font-size:clamp(28px,2.4vw,32px);line-height:1.16;letter-spacing:-.035em;overflow-wrap:break-word}
.ll-service-catalog__category h2 a{color:inherit;text-decoration:none}
.ll-service-catalog__category>header p:not(.ll-service-catalog__number){color:var(--text-secondary);font-size:16px;line-height:1.7;margin:0}
.ll-service-catalog__area{display:inline-flex;align-items:center;gap:var(--space-3,12px);margin-top:var(--space-5,20px);min-height:44px;color:var(--brand-primary);font-size:14px;font-weight:650;text-underline-offset:4px}
.ll-service-catalog__area svg{width:18px;height:18px}
.ll-service-catalog__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--catalog-gap);align-items:stretch}
.ll-service-catalog__service{grid-column:span 6;position:relative;min-width:0;padding:var(--space-8,32px);background:var(--surface-card);color:var(--text-primary);border:var(--border-subtle);border-radius:var(--radius-lg,16px);display:flex;flex-direction:column;align-items:flex-start;transition:transform var(--motion-standard,.24s),border-color var(--motion-standard,.24s),box-shadow var(--motion-standard,.24s)}
.ll-service-catalog__service:hover{border-color:var(--brand-secondary);transform:translateY(-3px);box-shadow:var(--shadow-raised)}
.ll-service-catalog__card-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4,16px);margin-bottom:var(--space-6,24px)}
.ll-service-catalog__card-head>svg{color:var(--text-secondary);width:18px;height:18px;transform:rotate(-45deg)}
.ll-service-catalog__service-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:var(--radius-md,10px);background:var(--brand-tint);color:var(--brand-primary)}
.ll-service-catalog__service-copy{width:100%;min-width:0}
.ll-service-catalog__service h3{font-size:22px;letter-spacing:-.025em;margin:0 0 var(--space-3,12px);line-height:1.25;overflow-wrap:break-word}
.ll-service-catalog__service h3 a{color:inherit;text-decoration:none}
.ll-service-catalog__service-copy>p{font-size:16px;color:var(--text-secondary);margin:0 0 var(--space-5,20px);line-height:1.7}
.ll-service-catalog__deliverables{padding:var(--space-4,16px) 0 0;margin:var(--space-5,20px) 0 var(--space-6,24px);border-top:var(--border-subtle);color:var(--text-secondary);font-size:14px;line-height:1.65;list-style:none;display:grid;gap:var(--space-3,12px)}
.ll-service-catalog__deliverables li{position:relative;padding-left:20px}
.ll-service-catalog__deliverables li:before{content:'✓';position:absolute;left:0;color:var(--brand-primary);font-weight:700}
.ll-service-catalog__children{width:100%;padding:var(--space-6,24px) 0 0;list-style:none;margin:var(--space-5,20px) 0 var(--space-6,24px);border-top:var(--border-subtle);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6,24px)}
.ll-service-catalog__children>li{min-width:0}
.ll-service-catalog__children a{display:inline-block;color:var(--brand-primary);font-size:15px;font-weight:700;line-height:1.5;text-underline-offset:4px}
.ll-service-catalog__children p{font-size:14px;line-height:1.7;color:var(--text-secondary);margin:var(--space-2,8px) 0 0}
.ll-service-catalog__more{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--space-3,12px);margin-top:auto;padding-top:var(--space-4,16px);min-height:44px;color:var(--brand-primary);font-size:14px;font-weight:700;text-underline-offset:4px}
.ll-service-catalog__more svg{width:18px;height:18px}
/* Four services: alternating broad/narrow rows, without empty fixed-height tiles. */
.ll-service-catalog__grid--4>.ll-service-catalog__service:nth-child(1),.ll-service-catalog__grid--4>.ll-service-catalog__service:nth-child(4){grid-column:span 7}
.ll-service-catalog__grid--4>.ll-service-catalog__service:nth-child(2),.ll-service-catalog__grid--4>.ll-service-catalog__service:nth-child(3){grid-column:span 5}
.ll-service-catalog__grid--5>.ll-service-catalog__service{grid-column:span 4}
.ll-service-catalog__grid--5>.ll-service-catalog__service:first-child{grid-column:span 8}
.ll-service-catalog__grid--5>.ll-service-catalog__service:nth-child(2){grid-column:span 4}
.ll-service-catalog .ll-service-catalog__grid>.ll-service-catalog__service--children{grid-column:1/-1;background:var(--brand-tint)}
.ll-service-catalog__grid:has(>.ll-service-catalog__service--children)>.ll-service-catalog__service:not(.ll-service-catalog__service--children){grid-column:span 6}
.ll-service-catalog__service--lead{background:var(--brand-tint)}
.ll-service-catalog__service--lead h3{font-size:28px}
.ll-service-catalog__category:nth-of-type(odd) .ll-service-catalog__service--lead{background:var(--surface-dark);color:var(--text-on-dark);border-color:var(--border-on-dark)}
.ll-service-catalog__category:nth-of-type(odd) .ll-service-catalog__service--lead :is(.ll-service-catalog__service-copy>p,.ll-service-catalog__deliverables,.ll-service-catalog__children p){color:var(--text-secondary-on-dark)}
.ll-service-catalog__category:nth-of-type(odd) .ll-service-catalog__service--lead :is(.ll-service-catalog__more,.ll-service-catalog__children a,.ll-service-catalog__deliverables li:before,.ll-service-catalog__card-head>svg){color:var(--action-on-dark)}
.ll-service-catalog__category:nth-of-type(odd) .ll-service-catalog__service--lead :is(.ll-service-catalog__children,.ll-service-catalog__deliverables){border-color:var(--border-on-dark)}
.ll-service-catalog__category:nth-of-type(odd) .ll-service-catalog__service--lead .ll-service-catalog__service-icon{background:var(--surface-dark-raised);color:var(--brand-accent)}
.ll-service-catalog :is(a):focus-visible{outline:3px solid var(--focus-light);outline-offset:5px;border-radius:4px}
.ll-service-catalog__category:nth-of-type(odd) .ll-service-catalog__service--lead a:focus-visible{outline-color:var(--focus-dark)}
/* Optional native Gutenberg style for editors who prefer equal-width cards. */
.ll-service-catalog.is-style-compact .ll-service-catalog__category{grid-template-columns:1fr;gap:var(--space-8,32px)}
.ll-service-catalog.is-style-compact .ll-service-catalog__category>header{position:static;max-width:760px}
.ll-service-catalog.is-style-compact .ll-service-catalog__grid>.ll-service-catalog__service:not(.ll-service-catalog__service--children){grid-column:span 6}
.ll-service-catalog.is-style-compact .ll-service-catalog__grid>.ll-service-catalog__service--children{grid-column:1/-1}
@media(max-width:1100px){.ll-service-catalog__category{grid-template-columns:1fr;gap:var(--space-8,32px)}.ll-service-catalog__category>header{position:static;display:grid;grid-template-columns:64px minmax(0,1fr);gap:var(--space-6,24px)}.ll-service-catalog__category-top{flex-direction:column;justify-content:flex-start}.ll-service-catalog__category>header p:not(.ll-service-catalog__number){max-width:760px}.ll-service-catalog__nav a{padding:var(--space-4,16px)}.ll-service-catalog__nav-title{font-size:13px}.ll-service-catalog__nav a>svg{right:var(--space-3,12px)}.ll-service-catalog .ll-service-catalog__grid--5>.ll-service-catalog__service:not(.ll-service-catalog__service--children){grid-column:span 6}.ll-service-catalog__grid--5>.ll-service-catalog__service:last-child{grid-column:1/-1}}
@media(max-width:700px){.ll-service-catalog__nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3,12px);margin-bottom:var(--space-12,48px)}.ll-service-catalog__nav a{min-height:128px}.ll-service-catalog__nav a:last-child:nth-child(odd){grid-column:1/-1;min-height:80px;flex-direction:row;align-items:center}.ll-service-catalog__nav a:last-child:nth-child(odd)>svg{position:static;margin-left:auto}.ll-service-catalog__category{gap:var(--space-6,24px);padding-bottom:var(--space-12,48px);margin-bottom:var(--space-12,48px)}.ll-service-catalog__category>header{grid-template-columns:1fr;gap:var(--space-4,16px)}.ll-service-catalog__category-top{flex-direction:row;justify-content:space-between;margin:0}.ll-service-catalog__category h2{font-size:30px;max-width:24ch}.ll-service-catalog__service{padding:var(--space-6,24px)}.ll-service-catalog .ll-service-catalog__grid>.ll-service-catalog__service:nth-child(n),.ll-service-catalog.is-style-compact .ll-service-catalog__grid>.ll-service-catalog__service:nth-child(n){grid-column:1/-1}.ll-service-catalog__service h3,.ll-service-catalog__service--lead h3{font-size:24px}.ll-service-catalog__children{grid-template-columns:1fr}.ll-service-catalog__card-head{margin-bottom:var(--space-5,20px)}}
@media(prefers-reduced-motion:reduce){.ll-service-catalog__service,.ll-service-catalog__nav a{transition:none}.ll-service-catalog__service:hover{transform:none}}

.ll-service-catalog__category:nth-of-type(odd) .ll-service-catalog__service--lead .ll-service-catalog__deliverables li:before{color:var(--action-on-dark)}
