/* Boxes by Category page — banner, spec cards, A–Z directory */
.lpc-bd{--bd-navy:var(--pc-navy,#13284a);--bd-primary:var(--pc-primary,#2d8cff);--bd-soft:var(--pc-primary-soft,#edf6ff);--bd-border:var(--pc-border,#e8ebef);--bd-muted:var(--pc-muted,#687386);background:#fff;color:var(--pc-text,#1c2430)}

/* 1. Banner */
.lpc-bd-banner{position:relative;overflow:hidden;background:var(--bd-navy);color:#fff;padding:64px 0 108px}
.lpc-bd-banner:before,.lpc-bd-banner:after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.lpc-bd-banner:before{width:460px;height:460px;right:-110px;top:-230px;background:rgba(255,255,255,.05)}
.lpc-bd-banner:after{width:260px;height:260px;right:12%;bottom:-170px;background:rgba(45,140,255,.22)}
.lpc-bd-banner__inner{position:relative;z-index:1}
.lpc-bd-crumbs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px;font-size:13px;color:rgba(255,255,255,.7)}
.lpc-bd-crumbs a{color:rgba(255,255,255,.9)}
.lpc-bd-crumbs a:hover{color:#fff;text-decoration:underline}
.lpc-bd-banner__eyebrow{display:inline-block;margin:0 0 14px;padding:6px 14px;border-radius:999px;background:rgba(255,255,255,.1);color:#ffd166;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.lpc-bd-banner h1{margin:0 0 16px;max-width:760px;color:#fff;font-size:clamp(32px,4.6vw,54px);font-weight:600;letter-spacing:-.03em;line-height:1.1}
.lpc-bd-banner p{margin:0;max-width:700px;color:rgba(255,255,255,.84);font-size:16px;line-height:1.8}

/* 2. Specification cards (overlap the banner) */
.lpc-bd-specs{position:relative;z-index:2;margin-top:-62px}
.lpc-bd-specs__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.lpc-bd-spec{padding:26px 22px;background:#fff;border:1px solid var(--bd-border);border-radius:14px;box-shadow:0 12px 34px rgba(19,40,74,.09);transition:transform .2s,box-shadow .2s,border-color .2s}
.lpc-bd-spec:hover{transform:translateY(-4px);border-color:rgba(45,140,255,.4);box-shadow:0 18px 40px rgba(19,40,74,.13)}
.lpc-bd-spec__icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;margin-bottom:16px;border-radius:12px;background:var(--bd-soft);color:var(--bd-primary)}
.lpc-bd-spec h3{margin:0 0 6px;color:var(--bd-navy);font-size:17px;font-weight:600;line-height:1.3}
.lpc-bd-spec p{margin:0;color:var(--bd-muted);font-size:13.5px;line-height:1.65}

/* 3. A–Z directory */
.lpc-bd-directory{padding:76px 0 90px}
.lpc-bd-directory__head{max-width:640px;margin:0 auto 30px;text-align:center}
.lpc-bd-directory__kicker{display:block;margin-bottom:8px;color:var(--bd-primary);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.lpc-bd-directory__head h2{margin:0 0 10px;color:var(--bd-navy);font-size:clamp(26px,3vw,36px);font-weight:600;letter-spacing:-.02em}
.lpc-bd-directory__head p{margin:0;color:var(--bd-muted);font-size:15px}

.lpc-bd-alpha{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 auto 56px;max-width:900px}
.lpc-bd-alpha a,.lpc-bd-alpha span{display:flex;align-items:center;justify-content:center;width:42px;height:38px;border-radius:8px;background:var(--bd-soft);color:var(--bd-navy);font-size:14px;font-weight:600;transition:background .18s,color .18s,transform .18s}
.lpc-bd-alpha a:hover,.lpc-bd-alpha a:focus-visible,.lpc-bd-alpha a.is-active{background:var(--bd-primary);color:#fff;transform:translateY(-2px);outline:0}
.lpc-bd-alpha .is-disabled{opacity:.4;cursor:default}

.lpc-bd-row{display:flex;align-items:flex-start;gap:26px;padding:34px 0;border-bottom:1px solid #cfd6df;scroll-margin-top:130px}
.lpc-bd-row:first-child{border-top:1px solid #cfd6df}
.lpc-bd-row__label{flex:0 0 96px;display:flex;align-items:center;min-height:24px;padding-right:22px;border-right:1px solid #8c96a5}
.lpc-bd-row__label span{color:var(--bd-navy);font-size:20px;font-weight:700;line-height:1.1;white-space:nowrap}
.lpc-bd-row__list{flex:1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px 24px;margin:0;padding:0;list-style:none}
.lpc-bd-row__list li{margin:0;min-width:0}
.lpc-bd-row__list a{display:inline-block;color:var(--pc-text,#1c2430);font-size:15px;line-height:1.5;transition:color .15s}
.lpc-bd-row__list a:hover{color:var(--bd-primary);text-decoration:underline}
.lpc-bd-row__list li.is-highlight a{color:var(--bd-primary);font-weight:600}
.lpc-bd-row.is-flash{animation:lpcBdFlash 1.4s ease}
@keyframes lpcBdFlash{0%{background:var(--bd-soft)}100%{background:transparent}}

.lpc-bd-empty{padding:30px;text-align:center;border:1px solid var(--bd-border);border-radius:12px;background:#f8fbff}

@media(max-width:1100px){.lpc-bd-row__list{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.lpc-bd-specs__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lpc-bd-row__list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){
  .lpc-bd-banner{padding:44px 0 92px}
  .lpc-bd-specs{margin-top:-52px}
  .lpc-bd-specs__grid{grid-template-columns:1fr;gap:14px}
  .lpc-bd-directory{padding:54px 0 64px}
  .lpc-bd-alpha{gap:7px}
  .lpc-bd-alpha a,.lpc-bd-alpha span{width:36px;height:34px;font-size:13px}
  .lpc-bd-row{flex-direction:column;gap:16px;padding:26px 0}
  .lpc-bd-row__label{flex:none;padding:0 0 10px;border-right:0;border-bottom:1px solid #8c96a5;min-width:70px}
  .lpc-bd-row__list{width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){.lpc-bd-spec,.lpc-bd-alpha a{transition:none}.lpc-bd-row.is-flash{animation:none}}
