/* ============================================================================
   Light Bulb Ideas Studio — "Warm Filament" light theme
   Crisp warm-white base, amber glow accent, warm-ink text, soft layered
   shadows, deep-charcoal footer. Class-based; attach via Elementor CSS Classes.
   ========================================================================== */
:root{
  --font:'Manrope',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,'SFMono-Regular',Menlo,monospace;
  --bg-base:#FDFCFA; --bg-tint:#FAF3E9; --bg-card:#FFFFFF;
  --ink:#1C1917; --body:#57534E; --muted:#6F6862;
  --line:#ECE7E0; --line-strong:#E2DBD1; --card-line:#E4DBCC;
  --accent:#F59E0B; --accent-hi:#FBB03B; --accent-deep:#D97706;
  --accent-ink:#B45309; --accent-ink-strong:#92400E;
  --accent-tint:#FEF4E4; --accent-tint-2:#FDEBCF; --on-amber:#2A1B02;
  --wa:#25D366; --wa-deep:#1EBE5A; --wa-ink:#0B3D24;
  --ink-soft:#1C1917; --ink-soft-2:#241F1B; --on-ink:#FAFAF9; --on-ink-muted:#A8A29E; --on-ink-line:rgba(255,255,255,.10);
  --maxw:1200px; --gut:clamp(20px,5vw,40px);
  --section-y:clamp(76px,10vw,136px); --section-y-sm:clamp(48px,7vw,88px);
  --grid-gap:clamp(20px,2.5vw,32px);
  --r-xs:8px; --r-sm:12px; --r-md:16px; --r-lg:20px; --r-xl:26px; --r-btn:13px; --r-pill:999px;
  --sh-xs:0 1px 2px rgba(28,25,23,.05);
  --sh-sm:0 1px 2px rgba(28,25,23,.05),0 2px 5px rgba(28,25,23,.05);
  --sh-md:0 4px 12px -2px rgba(28,25,23,.08),0 2px 6px -2px rgba(28,25,23,.05);
  --sh-lg:0 16px 38px -10px rgba(28,25,23,.16),0 6px 14px -6px rgba(28,25,23,.08);
  --sh-glow:0 12px 34px -8px rgba(245,158,11,.42);
  --sh-glow-sm:0 6px 18px -6px rgba(245,158,11,.4);
  --ease:cubic-bezier(.22,.61,.36,1);
  --noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* Hide Astra chrome (replaced by LBI header/footer) */
#masthead,.site-header,.ast-mobile-header-wrap,.site-footer,#colophon{ display:none !important; }
body{ background:var(--bg-base); color:var(--body); font-family:var(--font); }

/* ---------- Base / rhythm ---------- */
.lbi-section{ padding-block:var(--section-y); position:relative; }
.lbi-section--sm{ padding-block:var(--section-y-sm); }
.lbi-container,.lbi-secwrap > .elementor-widget-container,.lbi-container{ }
.lbi-secwrap{ }
.lbi-container{ max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gut); width:100%; }
.lbi-light-sec{ background:var(--bg-base); color:var(--body); }
.lbi-section--tint{ background:var(--bg-tint); }
.lbi-dark{ background:var(--ink-soft); color:var(--on-ink); }
.lbi-dark-2{ background:var(--ink-soft-2); color:var(--on-ink); }
.lbi-section p,.lbi-section li{ font-size:1.0625rem; }

/* Typography */
.lbi-light-sec :is(h1,h2,h3,h4),.lbi-section--tint :is(h1,h2,h3,h4){ color:var(--ink); }
.lbi-light-sec :is(p,li),.lbi-section--tint :is(p,li){ color:var(--body); }
.lbi-dark :is(h1,h2,h3,h4),.lbi-dark-2 :is(h1,h2,h3,h4){ color:#fff; }
.lbi-dark :is(p,li),.lbi-dark-2 :is(p,li){ color:var(--on-ink-muted); }
.lbi-h1{ font-weight:800; line-height:1.06; letter-spacing:-.03em; color:var(--ink);
  font-size:clamp(2.1rem,1.55rem+2.5vw,3.5rem); }
.lbi-h2{ font-weight:800; line-height:1.08; letter-spacing:-.025em; color:var(--ink);
  font-size:clamp(1.95rem,1.4rem+2.3vw,2.95rem); margin:0 0 .45em; }
.lbi-h3{ font-weight:600; font-size:1.2rem; letter-spacing:-.01em; color:var(--ink); }
.lbi-lead{ font-size:clamp(1.06rem,1rem+.4vw,1.22rem); line-height:1.68; color:var(--body); }
.lbi-narrow{ max-width:680px; }
.lbi-sec-head{ max-width:660px; margin:0 auto clamp(40px,5vw,64px); text-align:center; }
.lbi-sec-head .lbi-h2{ margin-bottom:.4em; }
.lbi-sec-head .lbi-lead{ margin-top:14px; }

/* ---------- Eyebrow (mono accent label, Azuris style) ---------- */
.lbi-eyebrow{ display:inline-flex; align-items:center; gap:9px; margin-bottom:18px;
  padding:6px 14px 6px 12px; border-radius:var(--r-pill); background:var(--accent-tint);
  border:1px solid var(--accent-tint-2); color:var(--accent-ink);
  font-family:var(--font-mono); font-weight:500; font-size:.75rem; letter-spacing:.06em; text-transform:uppercase; }
.lbi-eyebrow::before{ content:""; width:7px; height:7px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 3px rgba(245,158,11,.2); }
.lbi-dark .lbi-eyebrow,.lbi-band-amber .lbi-eyebrow{ background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.16); color:#fff; }
/* mono meta labels (tags, dates, categories) */
.lbi-mono{ font-family:var(--font-mono); font-weight:500; letter-spacing:.02em; }

/* ---------- Azuris: featured-work rail (horizontal snap carousel) ---------- */
.lbi-workrail{ display:flex; gap:clamp(18px,2.4vw,28px); overflow-x:auto; scroll-snap-type:x mandatory; padding:6px 2px 22px; scrollbar-width:thin; }
.lbi-workrail::-webkit-scrollbar{ height:8px; } .lbi-workrail::-webkit-scrollbar-thumb{ background:var(--card-line); border-radius:8px; }
.lbi-workcard{ scroll-snap-align:start; flex:0 0 min(560px,84%); display:block; text-decoration:none; background:#fff; border:1px solid var(--card-line); border-radius:var(--r-xl); overflow:hidden; box-shadow:var(--sh-sm); transition:transform .25s var(--ease),box-shadow .25s,border-color .25s; }
.lbi-workcard:hover{ transform:translateY(-6px); box-shadow:var(--sh-lg); border-color:var(--accent); }
.lbi-workcard__frame{ aspect-ratio:16/9; overflow:hidden; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,var(--accent-tint),#fff); }
.lbi-workcard__frame img{ max-width:62%; max-height:62%; object-fit:contain; transition:transform .4s var(--ease); }
.lbi-workcard:hover .lbi-workcard__frame img{ transform:scale(1.05); }
.lbi-workcard__body{ padding:clamp(22px,2.6vw,30px); }
.lbi-workcard__meta{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:14px; }
.lbi-workcard__name{ font-size:clamp(1.4rem,1.1rem+1vw,1.85rem); font-weight:700; color:var(--ink); letter-spacing:-.02em; margin:0 0 8px; }
.lbi-workcard__desc{ color:var(--body); font-size:1.02rem; line-height:1.6; margin:0 0 16px; }
.lbi-workcard__go{ display:inline-flex; align-items:center; gap:.5em; color:var(--accent-ink); font-weight:600; font-size:.92rem; }
.lbi-workcard__go::after{ content:"→"; transition:transform .2s; } .lbi-workcard:hover .lbi-workcard__go::after{ transform:translateX(4px); }
.lbi-rail-hint{ font-family:var(--font-mono); font-size:.72rem; color:var(--muted); letter-spacing:.04em; }

/* meta tag chip */
.lbi-tag{ font-family:var(--font-mono); font-size:.68rem; text-transform:uppercase; letter-spacing:.06em; font-weight:500;
  padding:5px 10px; border-radius:var(--r-pill); background:var(--bg-tint); border:1px solid var(--card-line); color:var(--body); }
.lbi-tag--accent{ background:var(--accent-tint); border-color:var(--accent-tint-2); color:var(--accent-ink); }

/* ---------- Azuris: disciplines strip ---------- */
.lbi-disc{ display:flex; flex-wrap:wrap; gap:12px 14px; justify-content:center; }
.lbi-disc__item{ display:inline-flex; align-items:center; gap:10px; padding:12px 20px; border:1px solid var(--card-line); border-radius:var(--r-pill); background:#fff; box-shadow:var(--sh-xs); font-weight:600; color:var(--ink); font-size:1.02rem; transition:border-color .2s,transform .2s,box-shadow .2s; }
.lbi-disc__item:hover{ border-color:var(--accent); transform:translateY(-2px); box-shadow:var(--sh-sm); }
.lbi-disc__item span{ font-family:var(--font-mono); font-size:.72rem; color:var(--accent-ink); }

/* ---------- Azuris: process timeline ---------- */
.lbi-timeline{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(20px,2.5vw,30px); position:relative; }
.lbi-tstep{ position:relative; padding-top:34px; }
.lbi-tstep::before{ content:""; position:absolute; top:11px; left:0; right:0; height:2px; background:var(--card-line); }
.lbi-tstep::after{ content:""; position:absolute; top:5px; left:0; width:14px; height:14px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 4px var(--accent-tint); }
.lbi-tstep__no{ font-family:var(--font-mono); font-size:.72rem; color:var(--accent-ink); letter-spacing:.08em; }
.lbi-tstep__title{ font-size:1.16rem; font-weight:700; color:var(--ink); margin:6px 0 8px; letter-spacing:-.01em; }
.lbi-tstep__blurb{ color:var(--body); font-size:.98rem; line-height:1.6; margin:0; }
@media(max-width:900px){ .lbi-timeline{ grid-template-columns:1fr 1fr; } }
@media(max-width:560px){ .lbi-timeline{ grid-template-columns:1fr; } .lbi-tstep::before{ display:none; } }

/* ---------- Buttons ---------- */
.lbi-btn{ display:inline-flex; align-items:center; justify-content:center; gap:.5em; font-family:var(--font);
  font-weight:600; font-size:.975rem; line-height:1; padding:.92em 1.6em; border-radius:var(--r-btn);
  border:1px solid transparent; cursor:pointer; text-decoration:none;
  transition:transform .18s var(--ease),box-shadow .2s,background .2s,color .2s,border-color .2s; }
.lbi-btn--amber{ background:var(--accent); color:var(--on-amber); box-shadow:var(--sh-glow-sm); }
.lbi-btn--amber:hover{ background:var(--accent-hi); transform:translateY(-2px); box-shadow:var(--sh-glow); }
.lbi-btn--ghost{ background:#fff; color:var(--ink); border-color:var(--line-strong); box-shadow:var(--sh-xs); }
.lbi-btn--ghost:hover{ border-color:var(--accent); color:var(--accent-ink); transform:translateY(-2px); box-shadow:var(--sh-sm); }
.lbi-dark .lbi-btn--ghost,.lbi-band-amber .lbi-btn--ghost,.lbi-cta-band .lbi-btn--ghost{ background:transparent; color:#fff; border-color:rgba(255,255,255,.4); }
.lbi-dark .lbi-btn--ghost:hover,.lbi-cta-band .lbi-btn--ghost:hover{ background:rgba(255,255,255,.08); border-color:#fff; color:#fff; }
.lbi-btn--wa{ background:var(--wa); color:var(--wa-ink); box-shadow:0 6px 18px -6px rgba(37,211,102,.45); font-weight:700; }
.lbi-btn--wa:hover{ background:var(--wa-deep); color:#04240f; transform:translateY(-2px); }
.lbi-btn-row{ display:flex; flex-wrap:wrap; gap:14px; margin-top:30px; }

/* ---------- Header (light, sticky, glass) ---------- */
.lbi-header{ position:sticky; top:0; z-index:900; background:rgba(253,252,250,.72);
  -webkit-backdrop-filter:saturate(150%) blur(14px); backdrop-filter:saturate(150%) blur(14px);
  border-bottom:1px solid transparent; transition:background .25s,box-shadow .25s,border-color .25s; }
.lbi-header.is-sc{ background:rgba(253,252,250,.93); border-bottom-color:var(--line); box-shadow:var(--sh-sm); }
.lbi-header__bar{ height:72px; display:flex; align-items:center; gap:22px; max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gut); }
.lbi-header__logo{ display:inline-flex; align-items:center; flex:none; }
.lbi-header__logo img{ height:30px; width:auto; }
.lbi-nav{ display:flex; align-items:center; gap:30px; margin-left:auto; }
.lbi-nav-link{ position:relative; color:var(--ink); font-weight:500; font-size:.95rem; text-decoration:none; padding:6px 0; }
.lbi-nav-link::after{ content:""; position:absolute; left:0; bottom:0; height:2px; width:0; background:var(--accent); transition:width .25s var(--ease); }
.lbi-nav-link:hover{ color:var(--accent-ink); } .lbi-nav-link:hover::after,.lbi-nav-link[aria-current="page"]::after{ width:100%; }
.lbi-header__cta{ flex:none; padding:.72em 1.35em; }
.lbi-burger{ display:none; flex:none; width:44px; height:44px; margin-left:auto; border:1px solid var(--line-strong); border-radius:12px; background:#fff; color:var(--ink); align-items:center; justify-content:center; cursor:pointer; }
.lbi-only-mobile{ display:none; }
@media(max-width:900px){
  .lbi-nav{ position:absolute; top:100%; left:0; right:0; margin:0; flex-direction:column; align-items:flex-start; gap:2px;
    background:#fff; border-bottom:1px solid var(--line); padding:12px var(--gut) 20px; display:none; box-shadow:var(--sh-md); }
  .lbi-header.is-menu-open .lbi-nav{ display:flex; }
  .lbi-nav-link{ width:100%; padding:13px 0; border-bottom:1px solid var(--line); }
  .lbi-nav-link.lbi-only-mobile{ display:block; color:var(--accent-ink); font-weight:700; }
  .lbi-burger{ display:inline-flex; } .lbi-header__cta{ display:none; }
}

/* ---------- Hero (light + amber glow + grain) ---------- */
.lbi-hero{ position:relative; overflow:hidden; padding-block:clamp(52px,7vw,96px) clamp(56px,8vw,104px);
  background:radial-gradient(52% 68% at 88% 16%, rgba(245,158,11,.16), transparent 62%),
             radial-gradient(40% 54% at 4% 100%, rgba(245,158,11,.07), transparent 60%), var(--bg-base); }
.lbi-hero::before{ content:""; position:absolute; inset:0; pointer-events:none; z-index:0;
  background-image:radial-gradient(rgba(28,25,23,.045) 1px, transparent 1px); background-size:28px 28px;
  -webkit-mask-image:radial-gradient(60% 55% at 82% 24%, #000, transparent 72%); mask-image:radial-gradient(60% 55% at 82% 24%, #000, transparent 72%); }
.lbi-hero > *{ position:relative; z-index:1; }
.lbi-hero__grid{ display:grid; grid-template-columns:1.06fr .94fr; gap:clamp(32px,5vw,60px); align-items:center; }
.lbi-hero .lbi-lead{ max-width:48ch; margin-top:6px; }
.lbi-hero__art img{ border-radius:var(--r-xl); }
.lbi-hero__glow{ animation:lbi-breathe 6s ease-in-out infinite; }
@keyframes lbi-breathe{ 0%,100%{opacity:.85} 50%{opacity:1} }

.lbi-pagehero{ position:relative; overflow:hidden; text-align:center; border-bottom:1px solid var(--line);
  padding-block:clamp(96px,10vw,124px) clamp(44px,5vw,68px);
  background:radial-gradient(60% 120% at 50% -12%, rgba(245,158,11,.16), transparent 60%), var(--bg-tint); }
.lbi-pagehero .lbi-h1{ font-size:clamp(2.2rem,1.6rem+2.6vw,3.4rem); }
.lbi-pagehero .lbi-lead{ margin:16px auto 0; max-width:58ch; }
.lbi-pagehero .lbi-btn-row{ justify-content:center; }

/* ---------- Marquee (tint band) ---------- */
.lbi-marquee{ background:var(--bg-tint); border-block:1px solid var(--line); padding-block:22px; overflow:hidden; position:relative;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); }
.lbi-marquee__track{ display:flex; align-items:center; gap:56px; width:max-content; animation:lbi-scroll 34s linear infinite; }
.lbi-marquee:hover .lbi-marquee__track{ animation-play-state:paused; }
.lbi-marquee__item span{ color:var(--muted); font-weight:700; font-size:1.05rem; white-space:nowrap; letter-spacing:-.01em; transition:color .3s; }
.lbi-marquee__item:hover span{ color:var(--accent-ink); }
@keyframes lbi-scroll{ to{ transform:translateX(-50%); } }

/* ---------- Grids ---------- */
.lbi-grid-1{ display:grid; grid-template-columns:1fr; gap:var(--grid-gap); }
.lbi-grid-2{ display:grid; grid-template-columns:repeat(2,1fr); gap:var(--grid-gap); }
.lbi-grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--grid-gap); }
.lbi-grid-4{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(16px,2vw,24px); }
.lbi-grid-55{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(32px,5vw,64px); align-items:center; }

/* ---------- Card ---------- */
.lbi-card{ background:var(--bg-card); border:1px solid var(--card-line); border-radius:var(--r-lg);
  padding:clamp(22px,3vw,30px); box-shadow:var(--sh-sm); transition:transform .22s var(--ease),box-shadow .22s,border-color .22s; }
.lbi-card:hover{ transform:translateY(-5px); box-shadow:var(--sh-lg); border-color:var(--accent); }

/* ---------- Services ---------- */
.lbi-service{ position:relative; overflow:hidden; }
.lbi-service::after{ content:""; position:absolute; top:0; left:0; right:0; height:4px; background:linear-gradient(90deg,var(--accent-hi),var(--accent)); transform:scaleX(1); transform-origin:left; opacity:.55; transition:opacity .3s var(--ease); }
.lbi-service:hover::after{ opacity:1; }
.lbi-service__chip{ width:54px; height:54px; border-radius:15px; display:flex; align-items:center; justify-content:center;
  background:var(--accent-tint); color:var(--accent-ink); box-shadow:inset 0 0 0 1px var(--accent-tint-2); margin-bottom:20px; }
.lbi-service__title{ font-size:1.18rem; font-weight:600; color:var(--ink); margin:0 0 8px; }
.lbi-service__desc{ color:var(--body); font-size:1rem; line-height:1.62; margin:0; }
.lbi-service__link{ display:inline-flex; align-items:center; gap:.4em; margin-top:18px; color:var(--accent-ink); font-weight:600; font-size:.9rem; text-decoration:none; }
.lbi-service__link::after{ content:"→"; transition:transform .2s; } .lbi-service__link:hover::after{ transform:translateX(4px); }

/* ---------- Stats (amber band) ---------- */
.lbi-band-amber{ position:relative; overflow:hidden; color:var(--on-amber);
  background:linear-gradient(135deg,#FCBB54 0%,var(--accent) 46%,var(--accent-deep) 100%); }
.lbi-band-amber::before{ content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(60% 120% at 16% 0%, rgba(255,255,255,.35), transparent 55%); }
.lbi-band-amber::after{ content:""; position:absolute; inset:0; pointer-events:none; background-image:var(--noise); background-size:140px; opacity:.05; mix-blend-mode:overlay; }
.lbi-band-amber > *{ position:relative; }
.lbi-stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(20px,3vw,40px); text-align:center; }
.lbi-stat__num{ display:block; font-size:clamp(2.4rem,1.8rem+2.2vw,3.4rem); font-weight:700; color:var(--on-amber); line-height:1; letter-spacing:-.02em; }
.lbi-stat__rule{ display:block; width:32px; height:3px; background:rgba(42,27,2,.35); border-radius:3px; margin:16px auto 12px; }
.lbi-stat__label{ color:var(--on-amber); font-weight:600; font-size:.98rem; }
.lbi-stat__note{ display:block; color:#4a2f06; font-size:.76rem; margin-top:6px; letter-spacing:.04em; text-transform:uppercase; }

/* ---------- Process ---------- */
.lbi-process{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(20px,3vw,32px); position:relative; }
.lbi-step{ position:relative; }
.lbi-step__num{ width:48px; height:48px; border-radius:50%; display:grid; place-items:center; font-weight:700; font-size:1.05rem;
  color:var(--on-amber); background:linear-gradient(180deg,var(--accent-hi),var(--accent)); box-shadow:var(--sh-glow-sm); margin-bottom:18px; position:relative; z-index:1; }
.lbi-step__title{ font-size:1.14rem; font-weight:600; color:var(--ink); margin:0 0 8px; }
.lbi-step__blurb{ color:var(--body); font-size:.98rem; line-height:1.6; margin:0; }
.lbi-process .lbi-step:not(:last-child)::after{ content:""; position:absolute; top:24px; left:60px; right:-16px; height:2px;
  background-image:linear-gradient(90deg,var(--accent-tint-2) 55%,transparent 0); background-size:9px 2px; }

/* ---------- Ventures ---------- */
.lbi-venture{ display:block; background:#fff; border:1px solid var(--card-line); border-radius:var(--r-xl); overflow:hidden; text-decoration:none; box-shadow:var(--sh-sm); transition:transform .22s var(--ease),box-shadow .22s,border-color .22s; }
.lbi-venture:hover{ transform:translateY(-6px); box-shadow:var(--sh-lg); border-color:rgba(245,158,11,.4); }
.lbi-venture__frame{ aspect-ratio:16/10; overflow:hidden; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,var(--accent-tint),#fff); }
.lbi-venture__frame img{ width:100%; height:100%; object-fit:cover; transition:transform .4s var(--ease); }
.lbi-venture--logo .lbi-venture__frame img{ width:auto; height:56%; object-fit:contain; }
.lbi-venture:hover .lbi-venture__frame img{ transform:scale(1.05); }
.lbi-venture__body{ padding:clamp(20px,2.4vw,26px); display:flex; align-items:flex-end; justify-content:space-between; gap:12px; }
.lbi-venture__cat{ display:block; color:var(--accent-ink); font-size:.76rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; margin-bottom:8px; }
.lbi-venture__name{ color:var(--ink); font-size:1.24rem; font-weight:600; margin:0 0 5px; }
.lbi-venture__desc{ color:var(--body); font-size:.96rem; margin:0; }
.lbi-venture__go{ flex:none; width:40px; height:40px; border-radius:50%; border:1px solid var(--line-strong); color:var(--ink); display:flex; align-items:center; justify-content:center; transition:.2s; }
.lbi-venture:hover .lbi-venture__go{ background:var(--accent); color:var(--on-amber); border-color:var(--accent); }
.lbi-logocard{ width:100%; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; background:linear-gradient(135deg,var(--accent-tint),#fff); }
.lbi-logocard__name{ font-size:1.55rem; font-weight:700; color:var(--ink); letter-spacing:-.015em; }
.lbi-logocard__dot{ width:26px; height:4px; border-radius:3px; background:var(--accent); }

/* ---------- Why-us ---------- */
.lbi-feature{ display:grid; grid-template-columns:auto 1fr; gap:16px; align-items:start; }
.lbi-feature__ico{ flex:none; width:48px; height:48px; border-radius:13px; display:grid; place-items:center; background:var(--accent-tint); color:var(--accent-ink); box-shadow:inset 0 0 0 1px var(--accent-tint-2); }
.lbi-feature__title{ font-size:1.1rem; font-weight:600; color:var(--ink); margin:2px 0 6px; }
.lbi-feature__blurb{ color:var(--body); font-size:.97rem; line-height:1.6; margin:0; }

/* ---------- Testimonials ---------- */
.lbi-empty{ text-align:center; color:var(--body); font-size:1.08rem; max-width:52ch; margin-inline:auto; }

/* ---------- CTA band (amber rounded card) ---------- */
.lbi-cta-band{ position:relative; overflow:hidden; border-radius:var(--r-xl); text-align:center; padding:clamp(44px,6vw,76px);
  color:var(--on-amber); background:linear-gradient(135deg,#FCBB54 0%,var(--accent) 50%,var(--accent-deep) 100%); box-shadow:var(--sh-glow); }
.lbi-cta-band::before{ content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(70% 130% at 50% 0%, rgba(255,255,255,.35), transparent 55%); }
.lbi-cta-band::after{ content:""; position:absolute; inset:0; pointer-events:none; background-image:var(--noise); background-size:140px; opacity:.05; mix-blend-mode:overlay; }
.lbi-cta-band > *{ position:relative; }
.lbi-cta-band .lbi-h2{ color:var(--on-amber); max-width:18ch; margin-inline:auto; }
.lbi-cta-band .lbi-lead{ color:#3A2606; max-width:54ch; margin:14px auto 0; }
.lbi-cta-band .lbi-btn-row{ justify-content:center; }
.lbi-cta-band .lbi-btn--wa{ background:var(--on-amber); color:#fff; box-shadow:var(--sh-md); }
.lbi-cta-band .lbi-btn--wa:hover{ background:#000; color:#fff; }

/* ---------- Footer (deep charcoal) ---------- */
.lbi-footer{ background:var(--ink-soft); color:var(--on-ink-muted); padding-block:clamp(60px,7vw,88px) 0; box-shadow:inset 0 1px 0 rgba(245,158,11,.28); }
.lbi-footer__grid{ display:grid; grid-template-columns:1.5fr 1fr 1fr 1.3fr; gap:clamp(28px,4vw,52px); max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gut); padding-bottom:48px; }
.lbi-footer .lbi-fcol-title{ color:#fff; font-size:.8rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; margin:0 0 16px; }
.lbi-footer :is(a,li,p){ color:var(--on-ink-muted); font-size:.95rem; line-height:2; text-decoration:none; }
.lbi-footer a:hover{ color:var(--accent-hi); }
.lbi-footer .lbi-wa-link:hover{ color:var(--wa); }
.lbi-footer__brand p{ max-width:34ch; line-height:1.7; }
.lbi-footer__brand img{ height:34px; width:auto; margin-bottom:18px; }
.lbi-social{ display:flex; gap:12px; margin-top:18px; }
.lbi-social a{ width:40px; height:40px; border-radius:50%; border:1px solid var(--on-ink-line); display:flex; align-items:center; justify-content:center; color:#fff; }
.lbi-social a:hover{ background:var(--accent); color:var(--on-amber); border-color:var(--accent); }
.lbi-footer__bottom{ border-top:1px solid var(--on-ink-line); padding:22px var(--gut); text-align:center; color:var(--on-ink-muted); font-size:.86rem; max-width:var(--maxw); margin-inline:auto; }

/* ---------- Contact ---------- */
.lbi-contact-grid{ display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(28px,4vw,56px); align-items:start; }
.lbi-chan{ display:grid; grid-template-columns:auto 1fr; gap:16px; align-items:center; background:#fff; border:1px solid var(--card-line); border-radius:var(--r-md); padding:16px 18px; box-shadow:var(--sh-xs); margin-bottom:14px; transition:box-shadow .2s,border-color .2s,transform .2s; }
.lbi-chan:hover{ box-shadow:var(--sh-md); border-color:rgba(245,158,11,.35); transform:translateY(-2px); }
.lbi-chan__ico{ width:46px; height:46px; border-radius:12px; display:grid; place-items:center; background:var(--accent-tint); color:var(--accent-ink); box-shadow:inset 0 0 0 1px var(--accent-tint-2); }
.lbi-chan--wa .lbi-chan__ico{ background:rgba(37,211,102,.14); color:var(--wa-ink); box-shadow:inset 0 0 0 1px rgba(37,211,102,.25); }
.lbi-chan__label{ font-size:.72rem; text-transform:uppercase; letter-spacing:.12em; color:var(--muted); font-weight:600; }
.lbi-chan__val{ font-size:1.1rem; font-weight:600; color:var(--ink); text-decoration:none; display:block; margin-top:3px; }
.lbi-chan__val:hover{ color:var(--accent-ink); }
.lbi-formcard{ background:#fff; border:1px solid var(--card-line); border-radius:var(--r-xl); padding:clamp(24px,3vw,36px); box-shadow:var(--sh-lg); max-width:640px; margin-inline:auto; }
.lbi-formcard .wpforms-field-label{ color:var(--ink); font-weight:600; }
.lbi-formcard input[type=text],.lbi-formcard input[type=email],.lbi-formcard textarea{ border:1px solid var(--line-strong) !important; border-radius:12px !important; background:#fff !important; }
.lbi-formcard .wpforms-submit{ background:var(--accent) !important; color:var(--on-amber) !important; border:0 !important; border-radius:var(--r-btn) !important; font-weight:700 !important; padding:14px 28px !important; box-shadow:var(--sh-glow-sm) !important; }

/* ---------- Scroll reveals (gated on .lbi-js) ---------- */
.lbi-js .lbi-reveal{ opacity:0; transform:translateY(20px); transition:opacity .7s var(--ease),transform .7s var(--ease); will-change:opacity,transform; }
.lbi-js .lbi-reveal.is-visible{ opacity:1; transform:none; }
.lbi-js .lbi-stagger.is-visible > *{ animation:lbi-rise .6s var(--ease) both; }
.lbi-js .lbi-stagger.is-visible > *:nth-child(2){ animation-delay:.07s; }
.lbi-js .lbi-stagger.is-visible > *:nth-child(3){ animation-delay:.14s; }
.lbi-js .lbi-stagger.is-visible > *:nth-child(4){ animation-delay:.21s; }
.lbi-js .lbi-stagger.is-visible > *:nth-child(5){ animation-delay:.28s; }
.lbi-js .lbi-stagger.is-visible > *:nth-child(6){ animation-delay:.35s; }
@keyframes lbi-rise{ from{opacity:0;transform:translateY(18px)} to{opacity:1;transform:none} }

/* ---------- Focus ---------- */
a:focus-visible,.lbi-btn:focus-visible,button:focus-visible{ outline:2px solid var(--accent-ink); outline-offset:2px; border-radius:6px; }
.lbi-dark a:focus-visible,.lbi-band-amber a:focus-visible,.lbi-cta-band a:focus-visible,.lbi-footer a:focus-visible{ outline-color:#fff; }

/* ---------- Responsive ---------- */
@media(max-width:980px){
  .lbi-stats,.lbi-process{ grid-template-columns:repeat(2,1fr); gap:32px 24px; }
  .lbi-process .lbi-step::after{ display:none; }
}
@media(max-width:900px){
  .lbi-hero__grid,.lbi-grid-55{ grid-template-columns:1fr; gap:36px; }
  .lbi-grid-3,.lbi-grid-4{ grid-template-columns:repeat(2,1fr); }
  .lbi-footer__grid{ grid-template-columns:1fr 1fr; }
}
@media(max-width:640px){
  .lbi-grid-2,.lbi-grid-3,.lbi-grid-4{ grid-template-columns:1fr; }
  .lbi-stats{ grid-template-columns:1fr 1fr; }
  .lbi-contact-grid{ grid-template-columns:1fr; }
  .lbi-footer__grid{ grid-template-columns:1fr; gap:26px; }
  .lbi-btn{ width:100%; } .lbi-btn-row{ gap:10px; }
}

/* ---------- Reduced motion ---------- */
@media(prefers-reduced-motion:reduce){
  .lbi-js .lbi-reveal{ opacity:1 !important; transform:none !important; transition:none !important; }
  .lbi-js .lbi-stagger.is-visible > *{ animation:none !important; }
  .lbi-marquee__track,.lbi-hero__glow{ animation:none !important; }
  *{ scroll-behavior:auto !important; }
}
