.llfg-work,.llfg-work *,.llfg-gallery,.llfg-gallery * { box-sizing:border-box; }
.llfg-work { --llfg-orange:#ff7900; width:100%; padding:70px 24px; background:#f5f6f8; color:#171717; font-family:Arial,Helvetica,sans-serif; scroll-margin-top:140px; }
.llfg-work-container { width:100%; max-width:1180px; margin:0 auto; }
.llfg-work-heading { max-width:850px; margin:0 auto 38px; text-align:center; }
.llfg-work .llfg-work-eyebrow { margin:0 0 12px; color:#a34500; font-size:11px; font-weight:700; letter-spacing:2px; line-height:1.5; }
.llfg-work .llfg-work-title { margin:0 0 18px; padding:0; color:#171717; font:800 clamp(30px,3.5vw,42px)/1.15 Arial,Helvetica,sans-serif; letter-spacing:-1px; }
.llfg-work .llfg-work-description { margin:0; color:#5a6068; font-size:16px; line-height:1.8; }
.llfg-work .llfg-group-title,.llfg-gallery .llfg-group-title { margin:0 0 22px; color:#171717; font:700 26px/1.25 Arial,Helvetica,sans-serif; padding-left:14px; border-left:4px solid #ff7900; }
.llfg-project-group + .llfg-project-group,.llfg-work-group + .llfg-work-group { margin-top:44px; }
.llfg-gallery { color:#171717; font-family:Arial,Helvetica,sans-serif; }
.llfg-gallery .llfg-project-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.llfg-gallery .llfg-project-card { min-width:0; overflow:hidden; background:#fff; border:1px solid #e1e3e7; border-radius:12px; box-shadow:0 8px 24px #00000005; }
.llfg-gallery .llfg-project-photo { position:relative; display:block; width:100%; aspect-ratio:3/2; overflow:hidden; background:#e3e5e8; text-decoration:none; color:#fff; }
.llfg-gallery .llfg-project-photo img { display:block; width:100%; height:100%; object-fit:cover; margin:0; border:0; border-radius:0; transition:transform .3s ease; }
.llfg-gallery .llfg-project-photo:hover img { transform:scale(1.035); }
.llfg-gallery .llfg-project-badge { position:absolute; left:14px; bottom:14px; padding:6px 10px; background:#111d; color:#fff; border-radius:4px; font-size:12px; font-weight:700; line-height:1.5; }
.llfg-gallery .llfg-project-enlarge { position:absolute; top:12px; right:12px; display:grid; place-items:center; width:32px; height:32px; background:#111c; color:#fff; border-radius:50%; font-size:22px; line-height:1; }
.llfg-gallery .llfg-project-body { padding:20px; }
.llfg-gallery .llfg-stage-controls { display:flex; gap:6px; margin-bottom:18px; }
.llfg-gallery .llfg-stage-button { flex:1; min-width:0; min-height:42px; padding:8px 4px; border:1px solid #d9dce1; border-radius:4px; background:#fff; color:#444; font:600 11px/1.4 Arial,Helvetica,sans-serif; text-transform:none; letter-spacing:0; box-shadow:none; cursor:pointer; }
.llfg-gallery .llfg-stage-button[aria-pressed="true"],.llfg-gallery .llfg-stage-button:not(:disabled):hover { background:#ff7900; border-color:#ff7900; color:#111; }
.llfg-gallery .llfg-stage-button:disabled { color:#777; background:#f0f1f3; cursor:not-allowed; opacity:.65; }
.llfg-gallery .llfg-project-title { margin:0 0 7px; padding:0; color:#171717; font:700 19px/1.35 Arial,Helvetica,sans-serif; }
.llfg-gallery .llfg-project-location { margin:0; color:#626872; font-size:13px; line-height:1.6; }
.llfg-gallery .llfg-gallery-empty,.llfg-gallery .llfg-gallery-message { margin:0; padding:28px; background:#fff; border:1px solid #e1e3e7; border-radius:8px; color:#626872; font-size:14px; line-height:1.8; text-align:center; }
.llfg-gallery .llfg-gallery-retry { display:block; margin:14px auto 0; padding:10px 18px; border:0; border-radius:4px; background:#ff7900; color:#111; font-weight:700; cursor:pointer; }
.llfg-gallery a:focus-visible,.llfg-gallery button:focus-visible { outline:3px solid #b94e00; outline-offset:3px; }
.llfg-sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
dialog.llfg-lightbox { position:fixed; inset:0; width:min(1100px,94vw); max-width:94vw; max-height:94vh; padding:52px 18px 18px; border:1px solid #444; border-radius:10px; background:#111; color:#fff; font-family:Arial,Helvetica,sans-serif; }
dialog.llfg-lightbox::backdrop { background:#000d; }
.llfg-lightbox .llfg-lightbox-image { display:block; max-width:100%; max-height:72vh; width:auto; height:auto; margin:auto; object-fit:contain; }
.llfg-lightbox .llfg-lightbox-caption { margin:15px 0 0; color:#fff; text-align:center; font-size:14px; line-height:1.6; }
.llfg-lightbox .llfg-lightbox-close { position:absolute; top:9px; right:12px; width:36px; height:36px; padding:0; border:1px solid #555; border-radius:5px; background:#222; color:#fff; font-size:24px; line-height:1; cursor:pointer; }
.llfg-lightbox .llfg-lightbox-close:focus-visible { outline:3px solid #ff7900; outline-offset:2px; }
@media(max-width:1024px) { .llfg-work { padding:56px 24px; } .llfg-gallery .llfg-project-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; } }
@media(max-width:700px) { .llfg-work { padding:46px 18px; } .llfg-work-heading { margin-bottom:30px; } .llfg-work .llfg-work-description { font-size:15px; } .llfg-gallery .llfg-project-grid { grid-template-columns:minmax(0,1fr); gap:22px; } .llfg-work .llfg-group-title,.llfg-gallery .llfg-group-title { font-size:24px; } .llfg-gallery .llfg-project-title,.llfg-gallery .llfg-project-location { text-align:center; } .llfg-gallery .llfg-stage-button { font-size:12px; min-height:44px; } }
@media(prefers-reduced-motion:reduce) { .llfg-gallery * { transition:none!important; } .llfg-gallery .llfg-project-photo:hover img { transform:none; } }

.llfg-gallery .llfg-project-video video{width:100%;height:100%;object-fit:contain;background:#111;display:block}.llfg-gallery .llfg-project-body{padding:16px 20px}.llfg-gallery .llfg-project-photo:hover video{transform:none}

/* Horizontal carousels: independently scrollable within Roofing and Siding. */
.llfg-gallery .llfg-carousel { position:relative; padding:0 40px; min-width:0; }
.llfg-gallery .llfg-carousel .llfg-project-grid { display:flex; gap:24px; overflow-x:auto; scroll-snap-type:x mandatory; overscroll-behavior-inline:contain; scrollbar-width:none; scroll-behavior:smooth; padding:2px 1px 18px; }
.llfg-gallery .llfg-carousel .llfg-project-grid::-webkit-scrollbar { display:none; }
.llfg-gallery .llfg-carousel .llfg-project-card { flex:0 0 calc((100% - 48px)/3); scroll-snap-align:start; }
.llfg-gallery .llfg-carousel-arrow { position:absolute; z-index:2; top:35%; transform:translateY(-50%); width:36px; height:48px; padding:0; display:grid; place-items:center; border:0; border-radius:5px; background:#ff7900; color:#151515; font:700 34px/1 Arial,sans-serif; cursor:pointer; box-shadow:0 2px 8px #0002; }
.llfg-gallery .llfg-carousel-prev { left:0; }
.llfg-gallery .llfg-carousel-next { right:0; }
.llfg-gallery .llfg-carousel-arrow:disabled { opacity:.3; cursor:default; }
.llfg-gallery .llfg-project-video { cursor:zoom-in; }
.llfg-gallery .llfg-project-video video { pointer-events:none; object-fit:cover; }
.llfg-lightbox .llfg-lightbox-viewer { display:flex; align-items:center; justify-content:center; min-height:100px; }
.llfg-lightbox .llfg-lightbox-video { display:block; max-width:100%; width:auto; height:auto; max-height:75vh; background:#000; }
dialog.llfg-lightbox { width:min(1300px,96vw); max-width:96vw; max-height:96vh; padding:46px 56px 18px; }
.llfg-lightbox .llfg-lightbox-image { max-height:78vh; }
.llfg-lightbox .llfg-lightbox-prev,.llfg-lightbox .llfg-lightbox-next { position:absolute; top:50%; transform:translateY(-50%); width:40px; height:54px; padding:0; border:0; border-radius:5px; background:#333e; color:#fff; font:36px/1 Arial,sans-serif; cursor:pointer; }
.llfg-lightbox .llfg-lightbox-prev { left:7px; }
.llfg-lightbox .llfg-lightbox-next { right:7px; }
.llfg-lightbox [hidden] { display:none!important; }
@media(max-width:1024px) { .llfg-gallery .llfg-carousel .llfg-project-card { flex-basis:calc((100% - 24px)/2); } }
@media(max-width:700px) { .llfg-gallery .llfg-carousel { padding:0 30px; } .llfg-gallery .llfg-carousel .llfg-project-card { flex-basis:100%; } .llfg-gallery .llfg-carousel .llfg-project-grid { gap:16px; } .llfg-gallery .llfg-carousel-arrow { width:27px; height:42px; font-size:28px; } dialog.llfg-lightbox { padding:46px 35px 18px; } .llfg-lightbox .llfg-lightbox-prev,.llfg-lightbox .llfg-lightbox-next { width:29px; } }
@media(prefers-reduced-motion:reduce) { .llfg-gallery .llfg-carousel .llfg-project-grid { scroll-behavior:auto; } }

/* La Lider brand states: orange #ff7900, black #111, white #fff. */
.llfg-gallery .llfg-project-card { transition:border-color .2s ease,box-shadow .2s ease; }
.llfg-gallery .llfg-project-card:hover,
.llfg-gallery .llfg-project-card:focus-within { border-color:#ff7900; box-shadow:0 8px 24px #00000017; }
.llfg-gallery .llfg-project-photo:hover .llfg-project-enlarge,
.llfg-gallery .llfg-project-photo:focus-visible .llfg-project-enlarge { background:#ff7900; color:#111; }
.llfg-gallery .llfg-project-photo:active .llfg-project-enlarge { background:#111; color:#ff7900; }
.llfg-gallery .llfg-project-badge { background:#111; color:#fff; }
.llfg-gallery .llfg-project-photo:hover .llfg-project-badge,
.llfg-gallery .llfg-project-photo:focus-visible .llfg-project-badge { background:#ff7900; color:#111; }
.llfg-gallery .llfg-carousel-arrow:not(:disabled):is(:hover,:focus-visible),
.llfg-gallery .llfg-gallery-retry:is(:hover,:focus-visible) { background:#111; border-color:#ff7900; color:#ff7900; }
.llfg-gallery .llfg-carousel-arrow:not(:disabled):active,
.llfg-gallery .llfg-gallery-retry:active { background:#ff7900; color:#111; }
.llfg-gallery .llfg-stage-button:not(:disabled):is(:hover,:focus-visible),
.llfg-gallery .llfg-stage-button[aria-pressed="true"] { background:#ff7900; border-color:#ff7900; color:#111; }
.llfg-gallery :is(a,button):focus-visible { outline:3px solid #ff7900; outline-offset:3px; }
.llfg-lightbox :is(.llfg-lightbox-close,.llfg-lightbox-prev,.llfg-lightbox-next):is(:hover,:focus-visible) { background:#ff7900; border-color:#ff7900; color:#111; }
.llfg-lightbox :is(.llfg-lightbox-close,.llfg-lightbox-prev,.llfg-lightbox-next):active { background:#fff; border-color:#ff7900; color:#111; }
.llfg-lightbox :is(.llfg-lightbox-close,.llfg-lightbox-prev,.llfg-lightbox-next):focus-visible { outline:3px solid #ff7900; outline-offset:3px; }
@media(prefers-reduced-motion:reduce) { .llfg-gallery .llfg-project-card { transition:none; } }


/* ================================================
   v1.3.0 - PROJECTS CAROUSEL 1:1 / NO EMPTY AREAS
   Images/videos fill square previews; originals
   retain their proportions inside the lightbox.
   ================================================ */
.llfg-work { background:#080808; color:#fff; }
.llfg-work .llfg-work-title,.llfg-work .llfg-group-title,
.llfg-gallery .llfg-group-title { color:#fff; }
.llfg-work .llfg-work-eyebrow { color:#ff7900; }
.llfg-work .llfg-work-description { color:#c4c4c4; }
.llfg-gallery { background:#080808; color:#fff; }
.llfg-gallery .llfg-carousel { padding:0 45px; }
.llfg-gallery .llfg-carousel .llfg-project-grid {
  gap:24px; padding:2px 1px 4px; align-items:stretch;
}
.llfg-gallery .llfg-carousel .llfg-project-card {
  flex:0 0 calc((100% - 48px)/3);
  width:calc((100% - 48px)/3);
  aspect-ratio:1 / 1;
  display:block; position:relative; min-height:0;
  margin:0; padding:0; border:1px solid #272727;
  border-radius:9px; background:#080808;
  overflow:hidden; box-shadow:none;
}
.llfg-gallery .llfg-project-photo,
.llfg-gallery .llfg-project-video {
  position:absolute; inset:0; display:block;
  width:100%; height:100%; min-height:0;
  margin:0; padding:0; aspect-ratio:1 / 1;
  border:0; border-radius:0; overflow:hidden;
  background:#080808;
}
.llfg-gallery .llfg-project-photo img,
.llfg-gallery .llfg-project-video video {
  display:block; position:absolute; inset:0;
  width:100% !important; height:100% !important;
  max-width:none !important; max-height:none !important;
  min-height:0; margin:0 !important; padding:0 !important;
  border:0; border-radius:0; object-fit:cover !important;
  object-position:center center; background:#080808;
}
.llfg-gallery .llfg-project-body { display:none !important; }
.llfg-gallery .llfg-project-card:hover,
.llfg-gallery .llfg-project-card:focus-within {
  border-color:#ff7900; box-shadow:none;
}
.llfg-gallery .llfg-carousel-arrow { top:50%; background:#ff7900; color:#111; }
.llfg-gallery .llfg-project-enlarge { z-index:1; top:14px; right:14px; }
.llfg-gallery .llfg-gallery-empty,
.llfg-gallery .llfg-gallery-message {
  background:#141414; color:#ddd; border-color:#333;
}
dialog.llfg-lightbox { background:#101010; color:#fff; }
.llfg-lightbox .llfg-lightbox-viewer { max-width:100%; max-height:calc(96vh - 90px); }
.llfg-lightbox .llfg-lightbox-image,
.llfg-lightbox .llfg-lightbox-video {
  object-fit:contain !important; width:auto !important;
  height:auto !important; max-width:100% !important;
  max-height:calc(96vh - 100px) !important;
}
@media(max-width:1024px) {
  .llfg-gallery .llfg-carousel .llfg-project-card {
    flex-basis:calc((100% - 24px)/2);
    width:calc((100% - 24px)/2);
  }
}
@media(max-width:700px) {
  .llfg-gallery .llfg-carousel { padding:0 34px; }
  .llfg-gallery .llfg-carousel .llfg-project-card {
    flex-basis:100%; width:100%;
  }
  .llfg-gallery .llfg-carousel .llfg-project-grid { gap:16px; }
}
