/* ════════════════════════════════════════════════════════════════
   LAWBRIDGE DESIGN PREVIEWS : SHARED STYLES
   Used by every preview page together with lawbridge-global.css.
   Holds the shared header, footer, mobile bar, FAQ, trust strip,
   service cards, final CTA, and the inner page building blocks.
   ════════════════════════════════════════════════════════════════ */

/* ---------- Header (navy, sticky) ---------- */
.lb-header{background:rgba(0,35,102,.92);backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.10);}
.lb-header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:nowrap;padding:12px 0;position:relative;}
.lb-logo{flex-shrink:0;display:flex;align-items:center;gap:10px;}
/* higher specificity than the .lb-scope img reset in lawbridge-global.css */
.lb-scope img.lb-logo-img,.lb-logo-img{height:44px;width:auto;display:block;}
.lb-logo-mark{width:42px;height:42px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0F52D4,var(--lb-blue));box-shadow:0 8px 20px rgba(26,110,255,.35);flex-shrink:0;}
.lb-logo-text{font-family:var(--lb-display);font-weight:800;font-size:1.15rem;color:#fff;letter-spacing:-.02em;white-space:nowrap;}
.lb-logo-text small{display:block;font-size:.58rem;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:#9FC2FF;}
.lb-nav{gap:18px;font-family:var(--lb-display);font-weight:600;font-size:.85rem;flex-wrap:nowrap;}
.lb-nav a{color:#fff;white-space:nowrap;}
.lb-nav a:hover{color:#9FC2FF;}
.lb-header-cta{gap:10px;flex-shrink:0;align-items:center;}
.lb-lang{display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.3);border-radius:999px;overflow:hidden;font-family:var(--lb-display);font-weight:700;font-size:.74rem;}
.lb-lang a{padding:7px 12px;color:#fff;}
.lb-lang a.on{background:#fff;color:var(--lb-navy);}
.lb-header .lb-phone{display:flex;align-items:center;gap:6px;white-space:nowrap;font-family:var(--lb-display);font-weight:700;font-size:.82rem;color:#fff;}
.lb-header-cta .lb-btn{white-space:nowrap;padding:11px 16px;min-height:44px;font-size:.82rem;}
.lb-menu-toggle{display:block;}
.lb-menu-toggle > summary{list-style:none;cursor:pointer;width:44px;height:44px;border:1px solid rgba(255,255,255,.3);border-radius:12px;display:flex;align-items:center;justify-content:center;background:transparent;color:#fff;font-size:1.3rem;}
.lb-menu-toggle > summary::-webkit-details-marker{display:none;}
.lb-menu-panel{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--lb-border);box-shadow:0 20px 40px rgba(0,35,102,.18);padding:14px 20px;display:grid;gap:4px;z-index:60;}
.lb-menu-panel a{font-family:var(--lb-display);font-weight:600;font-size:.95rem;color:var(--lb-navy);padding:11px 8px;border-radius:10px;}
.lb-menu-panel a:hover{background:var(--lb-soft);color:var(--lb-blue);}
.lb-menu-panel .lb-btn{margin-top:8px;}
@media(min-width:1024px){.lb-menu-toggle{display:none;}}

/* ---------- Inner page hero (focused, lighter than homepage) ---------- */
.lb-page-hero{position:relative;overflow:hidden;background:radial-gradient(circle at top left,#EEF5FF,#fff 38%,#F5F9FF 100%);}
.lb-page-hero .ph-bg{position:absolute;inset:0;pointer-events:none;}
.lb-page-hero .ph-bg .b{position:absolute;border-radius:50%;filter:blur(80px);opacity:.6;}
.lb-page-hero .ph-bg .b1{left:-12%;top:-30%;width:420px;height:420px;background:#D6E6FF;}
.lb-page-hero .ph-bg .b2{right:-8%;top:10%;width:300px;height:300px;background:#EEF5FF;}
.lb-page-hero .ph-bg .grid{position:absolute;inset:0;opacity:.5;background-image:linear-gradient(rgba(0,35,102,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(0,35,102,.04) 1px,transparent 1px);background-size:48px 48px;}
.lb-page-hero-inner{position:relative;max-width:840px;}
.lb-page-hero-inner.center{margin:0 auto;text-align:center;}
.lb-page-hero h1{margin-top:18px;}
.lb-page-hero .lb-lead{margin-top:16px;max-width:680px;}
.lb-page-hero-inner.center .lb-lead{margin-left:auto;margin-right:auto;}
.lb-page-hero-actions{margin-top:24px;display:flex;flex-wrap:wrap;gap:12px;}
.lb-page-hero-inner.center .lb-page-hero-actions{justify-content:center;}
.lb-hero-chips{margin-top:24px;display:flex;flex-wrap:wrap;gap:10px;}
.lb-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--lb-border);background:rgba(255,255,255,.8);border-radius:999px;padding:8px 14px;font-family:var(--lb-display);font-weight:700;font-size:.74rem;color:var(--lb-navy);backdrop-filter:blur(12px);}
.lb-chip svg{color:var(--lb-blue);flex-shrink:0;}

/* ---------- Breadcrumb ---------- */
.lb-crumb{display:flex;align-items:center;flex-wrap:wrap;gap:7px;font-family:var(--lb-display);font-weight:600;font-size:.76rem;color:var(--lb-muted);}
.lb-crumb a{color:var(--lb-muted);}
.lb-crumb a:hover{color:var(--lb-blue);}
.lb-crumb .sep{color:var(--lb-border);}
.lb-crumb .here{color:var(--lb-blue);}

/* ---------- Reading column (informational and legal pages, posts) ---------- */
.lb-read{max-width:760px;margin:0 auto;}
.lb-read p{margin:0 0 18px;font-size:1rem;line-height:1.75;color:var(--lb-ink);}
.lb-read .lb-h2{margin:34px 0 14px;}
.lb-read .lb-h3{margin:26px 0 12px;}
.lb-read ul{margin:0 0 18px;padding-left:22px;color:var(--lb-ink);line-height:1.75;}
.lb-read li{margin-bottom:8px;}
.lb-read blockquote{margin:24px 0;padding:18px 22px;border-left:4px solid var(--lb-blue);background:var(--lb-soft);border-radius:0 1.25rem 1.25rem 0;font-family:var(--lb-display);font-weight:600;color:var(--lb-navy);font-size:1.02rem;line-height:1.6;}

/* ---------- Service / practice cards (from approved section 6) ---------- */
.lb-svc-grid{display:grid;gap:16px;margin-top:34px;}
.lb-svc{position:relative;overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--lb-border);background:#fff;border-radius:1.75rem;padding:22px;transition:all .3s ease;}
.lb-svc:hover{transform:translateY(-4px);box-shadow:0 24px 70px rgba(0,35,102,.12);}
.lb-svc-blob{position:absolute;right:-30px;top:-30px;width:120px;height:120px;border-radius:50%;background:var(--lb-ice);transition:transform .3s;}
.lb-svc:hover .lb-svc-blob{transform:scale(1.3);}
.lb-svc-row{position:relative;display:flex;align-items:center;gap:14px;}
.lb-svc-ic{width:52px;height:52px;border-radius:15px;background:var(--lb-soft);color:var(--lb-blue);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.lb-svc-title{font-family:var(--lb-display);font-weight:800;font-size:1.15rem;color:var(--lb-navy);line-height:1.2;margin:0;}
.lb-svc-desc{position:relative;margin-top:14px;font-size:.88rem;line-height:1.6;color:var(--lb-muted);flex-grow:1;}
.lb-svc-cta{position:relative;margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--lb-soft);border-radius:14px;padding:12px 16px;font-family:var(--lb-display);font-weight:700;font-size:.86rem;color:var(--lb-navy);transition:all .3s;}
.lb-svc:hover .lb-svc-cta{background:var(--lb-blue);color:#fff;}
@media(min-width:768px){.lb-svc-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.lb-svc-grid{grid-template-columns:repeat(3,1fr);}}

/* ---------- Trust strip (from approved section 5) ---------- */
.lb-trust-strip-grid{display:grid;gap:14px;}
.lb-ts-card{border:1px solid var(--lb-border);background:var(--lb-soft);border-radius:1.5rem;padding:20px;}
.lb-ts-head{display:flex;align-items:center;gap:12px;}
.lb-ts-ic{width:46px;height:46px;border-radius:13px;background:#fff;color:var(--lb-blue);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px rgba(0,35,102,.06);}
.lb-ts-t{font-family:var(--lb-display);font-weight:800;font-size:1rem;color:var(--lb-navy);line-height:1.2;}
.lb-ts-d{margin-top:12px;font-size:.86rem;line-height:1.6;color:var(--lb-muted);}
@media(min-width:768px){.lb-trust-strip-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.lb-trust-strip-grid{grid-template-columns:repeat(4,1fr);}}

/* ---------- Checklist cards ("what we handle") ---------- */
.lb-check-grid{display:grid;gap:12px;margin-top:28px;}
.lb-check{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--lb-border);background:#fff;border-radius:1.25rem;padding:16px 18px;}
.lb-check .ck{width:34px;height:34px;border-radius:10px;background:var(--lb-ice);color:var(--lb-blue);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.lb-check .t{font-family:var(--lb-display);font-weight:700;font-size:.92rem;color:var(--lb-navy);}
.lb-check .d{margin-top:3px;font-size:.82rem;color:var(--lb-muted);line-height:1.5;}
@media(min-width:640px){.lb-check-grid{grid-template-columns:repeat(2,1fr);}}

/* ---------- Process steps (from approved landing) ---------- */
.lb-proc-head{max-width:680px;margin:0 auto;text-align:center;}
.lb-proc-grid{display:grid;gap:14px;margin-top:30px;}
.lb-step{border:1px solid var(--lb-border);background:var(--lb-soft);border-radius:1.5rem;padding:20px;}
.lb-step-top{display:flex;align-items:center;gap:12px;}
.lb-step-n{width:40px;height:40px;border-radius:12px;background:#fff;color:var(--lb-blue);font-family:var(--lb-display);font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px rgba(0,35,102,.06);}
.lb-step-t{font-family:var(--lb-display);font-weight:800;font-size:1rem;color:var(--lb-navy);line-height:1.2;}
.lb-step-d{margin-top:12px;font-size:.84rem;line-height:1.55;color:var(--lb-muted);}
@media(min-width:640px){.lb-proc-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.lb-proc-grid{grid-template-columns:repeat(4,1fr);}}

/* ---------- FAQ (from approved section 12) ---------- */
.lb-faq-head{max-width:680px;margin:0 auto;text-align:center;}
.lb-faq-list{max-width:820px;margin:30px auto 0;display:grid;gap:12px;}
.lb-faq{border:1px solid var(--lb-border);background:var(--lb-soft);border-radius:1.25rem;overflow:hidden;}
.lb-faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px;font-family:var(--lb-display);font-weight:700;font-size:1rem;color:var(--lb-navy);}
.lb-faq summary::-webkit-details-marker{display:none;}
.lb-faq summary .ico{flex-shrink:0;width:26px;height:26px;border-radius:8px;background:#fff;color:var(--lb-blue);display:flex;align-items:center;justify-content:center;transition:transform .25s;}
.lb-faq[open] summary .ico{transform:rotate(45deg);}
.lb-faq .ans{padding:0 20px 18px;font-size:.9rem;line-height:1.65;color:var(--lb-muted);}
.lb-faq-foot{max-width:820px;margin:22px auto 0;text-align:center;}
.lb-faq-foot p{font-size:.92rem;color:var(--lb-muted);margin-bottom:14px;}

/* ---------- Final CTA (navy, from approved section 13) ---------- */
.lb-final{position:relative;overflow:hidden;background:var(--lb-navy);color:#fff;text-align:center;scroll-margin-top:90px;}
.lb-final .glow{position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(26,110,255,.40),transparent 40%);pointer-events:none;}
.lb-final-inner{position:relative;max-width:820px;margin:0 auto;}
.lb-final .emblem{width:64px;height:64px;border-radius:18px;margin:0 auto 22px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.10);backdrop-filter:blur(12px);}
.lb-final h2{color:#fff;}
.lb-final p{margin:20px auto 0;max-width:660px;font-size:1.05rem;line-height:1.7;color:#C7D8F5;}
.lb-final-actions{margin-top:30px;display:flex;flex-wrap:wrap;gap:12px;justify-content:center;}

/* ---------- Footer (from approved section 14, with real columns) ---------- */
.lb-footer{background:#fff;border-top:1px solid var(--lb-border);}
.lb-footer-grid{display:grid;gap:32px;}
.lb-footer .f-brand{font-family:var(--lb-display);font-weight:800;font-size:1.4rem;color:var(--lb-navy);}
.lb-footer .f-desc{margin-top:12px;font-size:.88rem;line-height:1.7;color:var(--lb-muted);max-width:320px;}
.lb-footer h4{font-family:var(--lb-display);font-weight:800;font-size:1rem;color:var(--lb-navy);}
.lb-footer .f-links{margin-top:14px;display:grid;gap:9px;}
.lb-footer .f-links a{font-size:.88rem;color:var(--lb-muted);font-weight:600;}
.lb-footer .f-links a:hover{color:var(--lb-blue);}
.lb-footer .f-contact{margin-top:14px;display:grid;gap:11px;}
.lb-footer .f-contact a,.lb-footer .f-contact span{display:flex;align-items:flex-start;gap:9px;font-size:.88rem;color:var(--lb-muted);font-weight:600;}
.lb-footer .f-contact svg{flex-shrink:0;margin-top:2px;color:var(--lb-blue);}
.lb-footer .f-actions{margin-top:14px;display:grid;gap:10px;}
.lb-footer .f-social{margin-top:16px;display:flex;gap:8px;}
.lb-footer .f-social a{width:38px;height:38px;border-radius:11px;border:1px solid var(--lb-border);background:var(--lb-soft);color:var(--lb-navy);display:flex;align-items:center;justify-content:center;}
.lb-footer .f-social a:hover{background:var(--lb-blue);color:#fff;}
.lb-footer .f-bottom{margin-top:34px;padding-top:20px;border-top:1px solid var(--lb-border);display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;font-size:.82rem;color:var(--lb-muted);}
.lb-footer .f-legal{display:flex;flex-wrap:wrap;gap:14px;}
.lb-footer .f-legal a{color:var(--lb-muted);}
.lb-footer .f-legal a:hover{color:var(--lb-blue);}
@media(min-width:640px){.lb-footer-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.lb-footer-grid{grid-template-columns:1.4fr 1fr 1.2fr 1fr;}}

/* ---------- Image placeholders (swap in Media Library later) ---------- */
.lb-imgph{position:relative;display:flex;align-items:center;justify-content:center;text-align:center;background:linear-gradient(150deg,var(--lb-navy),#003B7A,var(--lb-blue));border-radius:1.5rem;color:#9FC2FF;overflow:hidden;}
.lb-imgph::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:36px 36px;}
.lb-imgph .ph-label{position:relative;font-family:var(--lb-display);font-weight:700;font-size:.78rem;letter-spacing:.08em;padding:10px 16px;}

/* ---------- Related links chips row ---------- */
.lb-rel{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;}
.lb-rel a{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--lb-border);background:#fff;border-radius:999px;padding:9px 16px;font-family:var(--lb-display);font-weight:700;font-size:.8rem;color:var(--lb-navy);transition:all .25s;}
.lb-rel a:hover{background:var(--lb-blue);color:#fff;border-color:var(--lb-blue);}

/* ---------- Preview-only banner ---------- */
.lb-preview-note{background:var(--lb-ice);border-bottom:1px solid var(--lb-border);padding:9px 16px;text-align:center;font-family:var(--lb-display);font-weight:700;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--lb-blue);}

/* ════════════════════════════════════════════════════════════════
   MOTION LAYER (shared with the homepage's vocabulary)
   Driven by preview-motion.js. Everything is gated behind the .lb-js
   class the script adds, so if scripting is off or fails, nothing is
   ever left hidden. All of it respects prefers-reduced-motion.
   ════════════════════════════════════════════════════════════════ */

/* Inner-page hero entrance: gentle staggered rise (no JS needed) */
.lb-page-hero-inner > *{opacity:0;transform:translateY(20px);animation:lbRise .8s cubic-bezier(.22,1,.36,1) forwards;}
.lb-page-hero-inner > *:nth-child(1){animation-delay:.05s}
.lb-page-hero-inner > *:nth-child(2){animation-delay:.15s}
.lb-page-hero-inner > *:nth-child(3){animation-delay:.26s}
.lb-page-hero-inner > *:nth-child(4){animation-delay:.37s}
.lb-page-hero-inner > *:nth-child(5){animation-delay:.48s}
@keyframes lbRise{to{opacity:1;transform:none;}}

/* Paint-brush highlight under a hero keyword (ties inner pages to the home hero) */
.lb-brush{position:relative;display:inline-block;white-space:nowrap;}
.lb-brush-svg{position:absolute;left:-4%;bottom:-0.14em;width:108%;height:.52em;z-index:-1;}
.lb-brush-path{fill:none;stroke:var(--lb-blue);stroke-width:17;stroke-linecap:round;opacity:.32;
  stroke-dasharray:480;stroke-dashoffset:480;
  animation:lbBrush 1.1s cubic-bezier(.65,0,.35,1) .45s forwards;}
@keyframes lbBrush{to{stroke-dashoffset:0;}}

/* Scroll reveal for blocks below the fold (gated behind .lb-js) */
.lb-js .lb-reveal{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);}
.lb-js .lb-reveal.in{opacity:1;transform:none;}
.lb-js .lb-reveal-child > *{opacity:0;transform:translateY(20px);transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1);}
.lb-js .lb-reveal-child.in > *{opacity:1;transform:none;}
.lb-reveal-child.in > *:nth-child(1){transition-delay:.00s}
.lb-reveal-child.in > *:nth-child(2){transition-delay:.06s}
.lb-reveal-child.in > *:nth-child(3){transition-delay:.12s}
.lb-reveal-child.in > *:nth-child(4){transition-delay:.18s}
.lb-reveal-child.in > *:nth-child(5){transition-delay:.24s}
.lb-reveal-child.in > *:nth-child(6){transition-delay:.30s}
.lb-reveal-child.in > *:nth-child(7){transition-delay:.36s}
.lb-reveal-child.in > *:nth-child(8){transition-delay:.42s}
.lb-reveal-child.in > *:nth-child(9){transition-delay:.48s}
.lb-reveal-child.in > *:nth-child(10){transition-delay:.54s}
.lb-reveal-child.in > *:nth-child(11){transition-delay:.60s}
.lb-reveal-child.in > *:nth-child(12){transition-delay:.66s}
.lb-reveal-child.in > *:nth-child(13){transition-delay:.72s}

/* Service-card standout: hover on desktop, scroll spotlight (.is-spot) on touch */
.lb-svc{transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease,border-color .35s ease;}
.lb-svc:hover,.lb-svc.is-spot{transform:translateY(-5px) scale(1.015);box-shadow:0 24px 70px rgba(0,35,102,.14);border-color:rgba(26,110,255,.45);}
.lb-svc:hover .lb-svc-blob,.lb-svc.is-spot .lb-svc-blob{transform:scale(1.3);}
.lb-svc:hover .lb-svc-ic,.lb-svc.is-spot .lb-svc-ic{background:var(--lb-blue);color:#fff;}
.lb-svc:hover .lb-svc-cta,.lb-svc.is-spot .lb-svc-cta{background:var(--lb-blue);color:#fff;}
.lb-svc .lb-svc-cta svg{transition:transform .3s ease;}
.lb-svc:hover .lb-svc-cta svg,.lb-svc.is-spot .lb-svc-cta svg{transform:translateX(4px);}

/* Button micro-physics: refined lift + soft glow (matches the homepage) */
.lb-scope .lb-btn{transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease,filter .3s ease;}
.lb-scope .lb-btn:hover{transform:translateY(-2px);}
.lb-scope .lb-btn-primary:hover{box-shadow:0 16px 36px rgba(26,110,255,.40);filter:brightness(1.05) saturate(1.05);}
.lb-scope .lb-btn-white:hover{box-shadow:0 14px 32px rgba(0,35,102,.16);}
/* White button keeps navy text on dark CTA banners: `.lb-scope a{color:inherit}`
   would otherwise pull the text to the white/light banner colour and hide it. */
.lb-scope a.lb-btn-white{color:var(--lb-navy);}
.lb-scope .lb-btn:active{transform:translateY(0) scale(.985);}

/* Reading-progress bar (fixed at the very top, fills as you scroll) */
.lb-progress-bar{position:fixed;top:0;left:0;height:3px;width:0;z-index:200;background:linear-gradient(90deg,var(--lb-blue),var(--lb-blue-dark));box-shadow:0 0 8px rgba(26,110,255,.5);transition:width .1s linear;}

/* Count-up metrics band (numbers animate up when scrolled into view) */
.lb-metrics{display:grid;gap:16px;}
@media(min-width:640px){.lb-metrics{grid-template-columns:repeat(3,1fr);}}
.lb-metric{text-align:center;border:1px solid var(--lb-border);background:var(--lb-soft);border-radius:1.5rem;padding:26px 18px;transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s ease;}
.lb-metric:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(0,35,102,.08);}
.lb-metric .num{font-family:var(--lb-display);font-weight:800;font-size:2.7rem;line-height:1;color:var(--lb-navy);letter-spacing:-.03em;display:flex;align-items:baseline;justify-content:center;gap:1px;}
.lb-metric .num .suf{font-size:1.5rem;color:var(--lb-blue);}
.lb-metric .lbl{margin-top:10px;font-family:var(--lb-display);font-weight:700;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--lb-muted);}

/* Connected process flow: vertical rail draws once on reveal, numbered nodes
   wake in sequence (same motion vocabulary as the homepage case journey) */
.lb-flow{position:relative;margin-top:30px;max-width:760px;}
.lb-flow-line{position:absolute;left:27px;top:48px;bottom:48px;width:2px;border-radius:2px;background:var(--lb-border);overflow:hidden;}
.lb-flow-line .fill{position:absolute;left:0;top:0;width:100%;height:0;border-radius:2px;background:linear-gradient(180deg,var(--lb-blue),var(--lb-blue-dark));transition:height 1.6s cubic-bezier(.65,0,.35,1) .25s;}
.lb-flow.in .lb-flow-line .fill{height:100%;}
.lb-fstep{position:relative;display:flex;gap:20px;align-items:flex-start;padding:14px 0;opacity:0;transform:translateY(12px);transition:opacity .55s ease,transform .55s cubic-bezier(.22,1,.36,1);}
.lb-flow.in .lb-fstep{opacity:1;transform:none;transition-delay:calc(var(--i) * .3s);}
.lb-fnode{position:relative;z-index:1;flex-shrink:0;width:56px;height:56px;border-radius:17px;background:#fff;border:1px solid var(--lb-border);display:flex;align-items:center;justify-content:center;font-family:var(--lb-display);font-weight:800;font-size:1.2rem;color:var(--lb-muted);transition:color .5s ease,border-color .5s ease,box-shadow .5s ease,background .5s ease;}
.lb-flow.in .lb-fnode{color:#fff;background:linear-gradient(135deg,var(--lb-blue),var(--lb-blue-dark));border-color:transparent;box-shadow:0 10px 24px rgba(26,110,255,.25);transition-delay:calc(var(--i) * .3s + .25s);}
.lb-fbody{padding-top:6px;}
.lb-fbody .t{font-family:var(--lb-display);font-weight:800;font-size:1.08rem;color:var(--lb-navy);line-height:1.25;}
.lb-fbody .d{margin-top:6px;font-size:.9rem;line-height:1.6;color:var(--lb-muted);max-width:560px;}

/* "What we handle" cards: gentle lift on hover */
.lb-check{transition:transform .3s cubic-bezier(.22,1,.36,1),border-color .3s ease,box-shadow .3s ease;}
.lb-check:hover{transform:translateY(-3px);border-color:rgba(26,110,255,.4);box-shadow:0 14px 30px rgba(0,35,102,.08);}

/* ── Situation selector ("Tell us your situation"): chips drive a panel ── */
.lb-triage{margin-top:28px;display:grid;gap:18px;}
@media(min-width:900px){.lb-triage{grid-template-columns:300px 1fr;align-items:start;}}
.lb-triage-chips{display:grid;gap:10px;}
.lb-tchip{text-align:left;cursor:pointer;font-family:var(--lb-display);font-weight:700;font-size:.95rem;color:var(--lb-navy);background:#fff;border:1px solid var(--lb-border);border-radius:1rem;padding:15px 18px;display:flex;align-items:center;justify-content:space-between;gap:10px;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease,background .25s ease,color .25s ease;}
.lb-tchip:hover{border-color:rgba(26,110,255,.45);transform:translateX(3px);}
.lb-tchip .arr{flex-shrink:0;opacity:0;transform:translateX(-4px);transition:opacity .25s,transform .25s;}
.lb-tchip.is-active{background:linear-gradient(135deg,var(--lb-blue),var(--lb-blue-dark));color:#fff;border-color:transparent;box-shadow:0 12px 28px rgba(26,110,255,.25);}
.lb-tchip.is-active .arr{opacity:1;transform:none;}
.lb-triage-panel{background:var(--lb-soft);border:1px solid var(--lb-border);border-radius:1.5rem;padding:26px;min-height:230px;transition:opacity .25s ease,transform .25s ease;}
.lb-triage-panel.swap{opacity:0;transform:translateY(6px);}
.lb-triage-panel .tp-k{font-family:var(--lb-display);font-weight:700;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--lb-blue);}
.lb-triage-panel .tp-title{margin-top:8px;font-family:var(--lb-display);font-weight:800;font-size:1.3rem;color:var(--lb-navy);line-height:1.25;}
.lb-triage-panel .tp-desc{margin-top:12px;font-size:.95rem;line-height:1.7;color:var(--lb-muted);}
.lb-triage-panel .tp-actions{margin-top:20px;display:flex;flex-wrap:wrap;gap:10px;}

/* ── Mid-page CTA band (navy, punchier than the section background) ── */
.lb-midcta{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--lb-navy),#0A1B3D);border-radius:2rem;padding:46px 32px;text-align:center;color:#fff;}
.lb-midcta .glow{position:absolute;inset:0;background:radial-gradient(circle at 72% 18%,rgba(26,110,255,.45),transparent 46%);pointer-events:none;}
.lb-midcta-in{position:relative;max-width:640px;margin:0 auto;}
.lb-midcta .lb-eyebrow{color:#9FC2FF;}
.lb-midcta h2{color:#fff;margin-top:8px;}
.lb-midcta p{margin:14px auto 0;max-width:520px;color:#C7D8F5;line-height:1.7;}
.lb-midcta-actions{margin-top:24px;display:flex;flex-wrap:wrap;gap:12px;justify-content:center;}

/* ── "Documents to get started" interactive checklist ── */
.lb-docs{margin-top:28px;border:1px solid var(--lb-border);background:#fff;border-radius:1.75rem;padding:26px;}
.lb-docs-grid{display:grid;gap:12px;}
@media(min-width:640px){.lb-docs-grid{grid-template-columns:repeat(2,1fr);}}
.lb-doc{display:flex;align-items:center;gap:12px;cursor:pointer;border:1px solid var(--lb-border);background:var(--lb-soft);border-radius:1rem;padding:14px 16px;font-family:var(--lb-display);font-weight:600;font-size:.9rem;color:var(--lb-navy);transition:border-color .2s ease,background .2s ease;user-select:none;}
.lb-doc:focus-visible{outline:2px solid var(--lb-blue);outline-offset:2px;}
.lb-doc .box{width:26px;height:26px;border-radius:8px;border:2px solid var(--lb-border);background:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff;transition:background .2s ease,border-color .2s ease;}
.lb-doc .box svg{opacity:0;transition:opacity .15s ease;}
.lb-doc.checked{border-color:rgba(26,110,255,.45);background:var(--lb-ice);}
.lb-doc.checked .box{background:var(--lb-blue);border-color:var(--lb-blue);}
.lb-doc.checked .box svg{opacity:1;}
.lb-docs-foot{margin-top:20px;display:flex;flex-wrap:wrap;align-items:center;gap:14px;justify-content:space-between;}
.lb-docs-foot p{margin:0;font-size:.86rem;color:var(--lb-muted);}

/* ── Related cards (upgrade from plain text chips) ── */
.lb-relcards{display:grid;gap:12px;margin-top:18px;}
.lb-relcard{display:flex;align-items:center;gap:14px;border:1px solid var(--lb-border);background:#fff;border-radius:1.25rem;padding:16px 18px;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;}
.lb-relcard:hover{transform:translateX(4px);border-color:rgba(26,110,255,.45);box-shadow:0 12px 28px rgba(0,35,102,.08);}
.lb-relcard .ic{width:42px;height:42px;border-radius:12px;background:var(--lb-soft);color:var(--lb-blue);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.lb-relcard .rt{font-family:var(--lb-display);font-weight:700;font-size:.95rem;color:var(--lb-navy);}
.lb-relcard .ra{margin-left:auto;color:var(--lb-blue);flex-shrink:0;}

/* ── Directory filter bar (category pills + live search) ── */
.lb-filterbar{margin-top:30px;display:flex;flex-wrap:wrap;gap:14px 18px;align-items:center;justify-content:space-between;}
.lb-fpills{display:flex;flex-wrap:wrap;gap:8px;}
.lb-fpill{cursor:pointer;font-family:var(--lb-display);font-weight:700;font-size:.82rem;color:var(--lb-navy);background:#fff;border:1px solid var(--lb-border);border-radius:999px;padding:9px 16px;transition:background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease;}
.lb-fpill:hover{border-color:rgba(26,110,255,.45);}
.lb-fpill.is-active{background:linear-gradient(135deg,var(--lb-blue),var(--lb-blue-dark));color:#fff;border-color:transparent;box-shadow:0 8px 20px rgba(26,110,255,.22);}
.lb-filter-search{position:relative;flex:1 1 220px;max-width:320px;}
.lb-filter-search svg{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--lb-muted);pointer-events:none;}
.lb-filter-search input{width:100%;border:1px solid var(--lb-border);background:#fff;border-radius:999px;padding:12px 16px 12px 44px;font-family:var(--lb-body);font-size:.9rem;color:var(--lb-navy);transition:border-color .2s ease,box-shadow .2s ease;}
.lb-filter-search input::placeholder{color:var(--lb-muted);}
.lb-filter-search input:focus{outline:none;border-color:rgba(26,110,255,.5);box-shadow:0 0 0 3px rgba(26,110,255,.12);}
.lb-filter-count{margin-top:14px;font-family:var(--lb-display);font-weight:600;font-size:.82rem;color:var(--lb-muted);}
.lb-svc.is-hidden,.lb-post.is-hidden,.lb-pr.is-hidden{display:none;}
.lb-filter-empty{display:none;margin-top:24px;border:1px dashed var(--lb-border);border-radius:1.25rem;padding:24px;text-align:center;color:var(--lb-muted);font-size:.95rem;}
.lb-filter-empty.show{display:block;}

/* ── Article table-of-contents scrollspy (single post) ── */
.lb-toc a{transition:color .2s ease;}
.lb-toc a.is-active{color:var(--lb-blue);font-weight:800;}
.lb-toc li.is-active{position:relative;}

/* ── Press release search (news room) ── */
.lb-pr-search{position:relative;margin-top:18px;max-width:380px;}
.lb-pr-search svg{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--lb-muted);pointer-events:none;}
.lb-pr-search input{width:100%;border:1px solid var(--lb-border);background:#fff;border-radius:999px;padding:12px 16px 12px 44px;font-family:var(--lb-body);font-size:.9rem;color:var(--lb-navy);transition:border-color .2s ease,box-shadow .2s ease;}
.lb-pr-search input::placeholder{color:var(--lb-muted);}
.lb-pr-search input:focus{outline:none;border-color:rgba(26,110,255,.5);box-shadow:0 0 0 3px rgba(26,110,255,.12);}

@media (prefers-reduced-motion: reduce){
  .lb-page-hero-inner > *{opacity:1;transform:none;animation:none;}
  .lb-brush-path{animation:none;stroke-dashoffset:0;}
  .lb-js .lb-reveal,.lb-js .lb-reveal-child > *{opacity:1;transform:none;transition:none;}
  .lb-svc,.lb-scope .lb-btn,.lb-metric,.lb-check{transition:none;}
  .lb-fstep{opacity:1;transform:none;transition:none;}
  .lb-flow-line .fill{height:100%;transition:none;}
  .lb-flow.in .lb-fnode{transition:none;}
  .lb-tchip,.lb-triage-panel,.lb-doc,.lb-doc .box,.lb-relcard,.lb-fpill,.lb-filter-search input{transition:none;}
  .lb-triage-panel.swap{opacity:1;transform:none;}
}

/* ============================================================
   BLOG LISTING + SINGLE POST (ported from previews 05 and 06,
   which carried these classes only as inline <style>). Without
   these the /blog/, single posts and archives render unstyled.
   ============================================================ */
/* blog archive tools */
.lb-blog-tools{margin-top:26px;display:grid;gap:14px;}
.lb-blog-search{display:flex;align-items:center;gap:10px;border:1px solid var(--lb-border);background:#fff;border-radius:16px;padding:4px 6px 4px 16px;max-width:440px;box-shadow:var(--lb-shadow-soft);}
.lb-blog-search input{border:none;outline:none;flex:1;min-height:42px;font-family:var(--lb-body);font-size:.9rem;color:var(--lb-ink);background:transparent;}
.lb-blog-search button{border:none;cursor:pointer;border-radius:12px;background:var(--lb-blue);color:#fff;min-height:42px;padding:0 18px;font-family:var(--lb-display);font-weight:700;font-size:.82rem;}
.lb-cat-pills{display:flex;flex-wrap:wrap;gap:8px;}
.lb-cat-pills a{border:1px solid var(--lb-border);background:#fff;border-radius:999px;padding:8px 16px;font-family:var(--lb-display);font-weight:700;font-size:.78rem;color:var(--lb-navy);transition:all .25s;}
.lb-cat-pills a.on,.lb-cat-pills a:hover{background:var(--lb-blue);color:#fff;border-color:var(--lb-blue);}
/* featured post */
.lb-feat{display:grid;gap:0;overflow:hidden;border-radius:var(--lb-radius-xl);border:1px solid var(--lb-border);background:#fff;box-shadow:var(--lb-shadow-card);}
.lb-feat .fimg{min-height:240px;border-radius:0;}
.lb-feat .fbody{padding:28px;}
.lb-feat .fbody .lb-tag{background:var(--lb-ice);}
.lb-feat .ftitle{font-family:var(--lb-display);font-weight:800;font-size:clamp(1.4rem,3vw,2rem);color:var(--lb-navy);letter-spacing:-.02em;line-height:1.15;margin-top:14px;}
.lb-feat .fex{margin-top:12px;font-size:.95rem;line-height:1.7;color:var(--lb-muted);}
.lb-feat .fmeta{margin-top:16px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-family:var(--lb-display);font-weight:600;font-size:.78rem;color:var(--lb-muted);}
@media(min-width:900px){.lb-feat{grid-template-columns:1.05fr 1fr;}.lb-feat .fimg{min-height:100%;}}
/* post cards */
.lb-post-grid{display:grid;gap:18px;margin-top:30px;}
.lb-post{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--lb-border);background:#fff;border-radius:1.75rem;transition:all .3s ease;}
.lb-post:hover{transform:translateY(-4px);box-shadow:0 24px 70px rgba(0,35,102,.12);}
.lb-post .pimg{height:170px;border-radius:0;}
.lb-post .pbody{padding:20px;display:flex;flex-direction:column;flex-grow:1;}
.lb-post .lb-tag{background:var(--lb-ice);align-self:flex-start;}
.lb-post .ptitle{font-family:var(--lb-display);font-weight:800;font-size:1.08rem;color:var(--lb-navy);line-height:1.25;margin-top:12px;}
.lb-post .pex{margin-top:10px;font-size:.85rem;line-height:1.6;color:var(--lb-muted);flex-grow:1;}
.lb-post .pmeta{margin-top:14px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-family:var(--lb-display);font-weight:600;font-size:.74rem;color:var(--lb-muted);}
.lb-post .pmeta .read{color:var(--lb-blue);font-weight:700;display:inline-flex;align-items:center;gap:5px;}
@media(min-width:640px){.lb-post-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.lb-post-grid{grid-template-columns:repeat(3,1fr);}}
/* single post head */
.lb-post-head{max-width:820px;margin:0 auto;text-align:center;}
.lb-post-head .lb-tag{background:var(--lb-ice);}
.lb-post-head h1{font-size:clamp(1.9rem,4.5vw,3rem);margin-top:16px;}
.lb-post-meta{margin-top:18px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;font-family:var(--lb-display);font-weight:600;font-size:.8rem;color:var(--lb-muted);}
.lb-post-meta .avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--lb-navy),var(--lb-blue));display:inline-flex;align-items:center;justify-content:center;color:#fff;font-family:var(--lb-display);font-weight:800;font-size:.78rem;}
.lb-post-cover{max-width:980px;margin:30px auto 0;}
.lb-post-cover .lb-imgph{min-height:300px;border-radius:var(--lb-radius-xl);}
/* table of contents (base; .is-active styled above) */
.lb-toc{border:1px solid var(--lb-border);background:var(--lb-soft);border-radius:1.5rem;padding:22px 24px;margin:0 0 28px;}
.lb-toc .t{font-family:var(--lb-display);font-weight:800;font-size:.92rem;color:var(--lb-navy);display:flex;align-items:center;gap:9px;}
.lb-toc ol{margin:12px 0 0;padding-left:20px;display:grid;gap:7px;font-size:.88rem;}
.lb-toc a{color:var(--lb-muted);font-weight:600;}
.lb-toc a:hover{color:var(--lb-blue);}
/* author box */
.lb-author{display:flex;gap:18px;align-items:flex-start;border:1px solid var(--lb-border);background:var(--lb-soft);border-radius:var(--lb-radius-lg);padding:24px;margin-top:38px;}
.lb-author .a-pic{width:72px;height:72px;border-radius:20px;flex-shrink:0;background:linear-gradient(135deg,var(--lb-navy),var(--lb-blue));display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--lb-display);font-weight:800;font-size:1.3rem;}
.lb-author .a-name{font-family:var(--lb-display);font-weight:800;font-size:1.05rem;color:var(--lb-navy);}
.lb-author .a-role{margin-top:3px;font-family:var(--lb-display);font-weight:700;font-size:.76rem;color:var(--lb-blue);}
.lb-author .a-bio{margin-top:9px;font-size:.86rem;line-height:1.65;color:var(--lb-muted);}
/* share row */
.lb-share{margin-top:26px;display:flex;align-items:center;flex-wrap:wrap;gap:10px;}
.lb-share .s-label{font-family:var(--lb-display);font-weight:700;font-size:.8rem;color:var(--lb-navy);}
.lb-share a{width:42px;height:42px;border-radius:12px;border:1px solid var(--lb-border);background:#fff;color:var(--lb-navy);display:flex;align-items:center;justify-content:center;transition:all .25s;}
.lb-share a:hover{background:var(--lb-blue);color:#fff;border-color:var(--lb-blue);}
/* soft inline CTA inside an article */
.lb-soft-cta{border:1px solid var(--lb-border);background:linear-gradient(135deg,var(--lb-ice),#fff);border-radius:var(--lb-radius-lg);padding:26px;margin:34px 0 0;display:grid;gap:14px;}
.lb-soft-cta .c-t{font-family:var(--lb-display);font-weight:800;font-size:1.1rem;color:var(--lb-navy);}
.lb-soft-cta .c-d{font-size:.9rem;color:var(--lb-muted);line-height:1.6;}
.lb-soft-cta .c-a{display:flex;flex-wrap:wrap;gap:10px;}

/* ============================================================
   PRESS RELEASE / NEWS ROOM (ported from preview 07 inline
   <style>; only .lb-pr-search shipped before, so the featured
   release, list, date badges and media card were unstyled).
   ============================================================ */
.lb-pr-feat{display:grid;gap:0;overflow:hidden;border-radius:var(--lb-radius-xl);border:1px solid var(--lb-border);background:var(--lb-navy);color:#fff;box-shadow:var(--lb-shadow-card);}
.lb-pr-feat .fbody{padding:30px;position:relative;}
.lb-pr-feat .fbody .glow{position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(26,110,255,.35),transparent 50%);pointer-events:none;}
.lb-pr-feat .fdate{display:inline-flex;align-items:center;gap:8px;border-radius:999px;background:rgba(255,255,255,.12);padding:7px 14px;font-family:var(--lb-display);font-weight:700;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:#9FC2FF;position:relative;}
.lb-pr-feat .ftitle{position:relative;font-family:var(--lb-display);font-weight:800;font-size:clamp(1.4rem,3vw,2rem);line-height:1.15;letter-spacing:-.02em;margin-top:16px;color:#fff;}
.lb-pr-feat .fex{position:relative;margin-top:14px;font-size:.95rem;line-height:1.7;color:#C7D8F5;}
.lb-pr-feat .fimg{min-height:220px;}
@media(min-width:900px){.lb-pr-feat{grid-template-columns:1.1fr 1fr;}.lb-pr-feat .fimg{min-height:100%;border-radius:0;}}
.lb-pr-list{display:grid;gap:14px;margin-top:30px;}
.lb-pr{display:grid;gap:14px;align-items:center;border:1px solid var(--lb-border);background:#fff;border-radius:1.5rem;padding:22px;transition:all .3s ease;}
.lb-pr:hover{transform:translateY(-3px);box-shadow:0 20px 60px rgba(0,35,102,.10);}
.lb-pr .pr-date{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:74px;height:74px;border-radius:18px;background:var(--lb-ice);color:var(--lb-navy);font-family:var(--lb-display);flex-shrink:0;}
.lb-pr .pr-date .d{font-weight:800;font-size:1.35rem;line-height:1;}
.lb-pr .pr-date .m{font-weight:700;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--lb-blue);margin-top:4px;}
.lb-pr .pr-title{font-family:var(--lb-display);font-weight:800;font-size:1.1rem;color:var(--lb-navy);line-height:1.25;}
.lb-pr .pr-ex{margin-top:8px;font-size:.86rem;line-height:1.6;color:var(--lb-muted);}
.lb-pr .pr-cta{display:inline-flex;align-items:center;gap:6px;font-family:var(--lb-display);font-weight:700;font-size:.82rem;color:var(--lb-blue);white-space:nowrap;}
@media(min-width:768px){.lb-pr{grid-template-columns:auto 1fr auto;}}
.lb-media-card{max-width:720px;margin:0 auto;text-align:center;padding:34px 28px;}
.lb-media-card .m-t{font-family:var(--lb-display);font-weight:800;font-size:1.25rem;color:var(--lb-navy);}
.lb-media-card .m-d{margin-top:10px;font-size:.92rem;line-height:1.7;color:var(--lb-muted);}
.lb-media-card .m-a{margin-top:18px;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;}
