/* 1.04: a browsable room reel; titles are reading anchors, imagery carries motion. */
.llp-collection-showcase{padding:0 0 35px;background:#090a0b}.llp-site .llp-showcase-heading{display:grid;grid-template-columns:1.4fr 1fr;gap:7vw;align-items:end;padding:58px 0 32px}.llp-site .llp-showcase-heading h1{font-size:clamp(58px,6.4vw,112px);line-height:.96;letter-spacing:-.055em!important;font-weight:950;text-transform:uppercase;margin:22px 0 0;max-width:12ch;text-wrap:balance}.llp-showcase-intro{max-width:33ch;justify-self:end;padding-bottom:5px}.llp-showcase-intro>p{font-size:17px;color:#bdc3c7;line-height:1.65}.llp-showcase-intro .llp-line-link{margin-top:15px;min-width:170px}
.llp-project-reel{--reel-open:1;position:relative}.llp-reel-track{display:flex;gap:20px;overflow-x:auto;overflow-y:hidden;padding:0 5%;scroll-padding-inline:5%;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;cursor:grab;outline-offset:-3px}.llp-reel-track::-webkit-scrollbar{display:none}.llp-reel-track:focus-visible{outline:2px solid #c9d7df}.llp-reel-track.is-dragging{cursor:grabbing;scroll-snap-type:none}.llp-reel-track.is-dragging a{pointer-events:none}.llp-reel-item{position:relative;flex:0 0 calc((100% - 20px)/2);min-width:0;container-type:inline-size;scroll-snap-align:start;height:clamp(420px,55svh,680px);background:#15191c;isolation:isolate}.llp-project-reel[data-project-count="1"] .llp-reel-item{flex-basis:100%}.llp-reel-project{display:block;position:relative;height:100%;color:#fff!important;overflow:hidden;isolation:isolate;user-select:none}.llp-reel-project picture{display:block;position:absolute;inset:0;overflow:hidden;clip-path:inset(calc((1 - var(--reel-open)) * 3%) 0);transform:scale(var(--reel-image-scale,1.035));transition:filter .3s}.llp-reel-project .llp-room-image{width:100%;height:100%;object-fit:cover;object-position:var(--focal-x,50%) var(--focal-y,50%);transform:scale(1);transition:transform .7s cubic-bezier(.2,.65,.2,1)}.llp-reel-project:hover .llp-room-image{transform:scale(1.035)}.llp-reel-project:focus-visible{outline:2px solid white;outline-offset:-4px}.llp-reel-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#000d 0%,#0003 47%,#0005 100%)}.llp-reel-category{position:absolute;top:27px;left:28px;right:28px;color:#f0f1f2!important}.llp-reel-copy{position:absolute;bottom:27px;left:28px;right:28px;pointer-events:none}.llp-site .llp-reel-copy h2{font-size:clamp(30px,9cqw,86px);font-weight:950;line-height:1.02;letter-spacing:-.045em!important;text-transform:uppercase;max-width:100%;margin:0 0 24px;color:#fff!important;opacity:1;text-wrap:balance;text-shadow:0 2px 24px #0004}.llp-reel-entry{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff70;padding-top:14px;font-size:10px;text-transform:uppercase;letter-spacing:.07em}.llp-reel-entry b{font-weight:400;font-size:25px;line-height:1}
.llp-site .llp-reel-toolbar{display:grid;grid-template-columns:80px 1fr 110px;gap:25px;align-items:center;padding:23px 0}.llp-reel-status{font-size:10px;letter-spacing:.1em;color:#a9b3bb;white-space:nowrap;font-variant-numeric:tabular-nums}.llp-reel-picker{display:flex;gap:10px;justify-content:center;overflow:auto;scrollbar-width:none}.llp-reel-picker button{flex:0 0 104px;border:0;border-bottom:1px solid transparent;padding:9px 5px 12px;background:transparent;color:#9ca7b0;min-height:75px;cursor:pointer;transition:color .2s,border-color .2s}.llp-reel-picker button.is-in-view{color:#fff;border-color:#e5e9ee}.llp-reel-picker img{display:block;object-fit:contain;width:48px;height:30px;margin:0 auto 8px;filter:drop-shadow(0 1px 1px #0005)}.llp-reel-picker img.is-room{object-fit:cover;filter:none}.llp-reel-picker span{font-size:9px;line-height:1.4;display:block;max-width:100%}.llp-reel-picker button:focus-visible,.llp-reel-arrows button:focus-visible{outline:2px solid white;outline-offset:2px}.llp-reel-arrows{display:flex;gap:8px;justify-content:flex-end}.llp-reel-arrows button{display:grid;place-items:center;width:44px;height:44px;border:1px solid #68717a;border-radius:50%!important;background:transparent;color:#fff;font-size:22px;line-height:1;padding:0;cursor:pointer;transition:background .2s,color .2s}.llp-reel-arrows button:hover:not(:disabled){background:white;color:#151b21}.llp-reel-arrows button:disabled{opacity:.28;cursor:default}.llp-project-reel[data-project-count="1"] .llp-reel-picker,.llp-project-reel[data-project-count="1"] .llp-reel-arrows{visibility:hidden}
.llp-site .llp-craft-statement{padding-top:75px;padding-bottom:95px}.llp-site .llp-craft-statement h2{font-size:clamp(55px,7vw,118px);line-height:.99}.llp-site .llp-craft-aside p{font-size:16px}.llp-site .llp-engineering{min-height:580px}.llp-site .llp-engineering-copy h2{line-height:1.02}
/* Every mark is a real project link; the editor can replace each logo. */
.llp-logo-directory{background:#f0f1ef;color:#151a1e;padding:75px 0 85px}.llp-logo-directory>.llp-shell{width:90%;max-width:1740px}.llp-logo-directory header{display:flex;justify-content:space-between;align-items:end;gap:25px;padding-bottom:45px;border-bottom:1px solid #bfc5c5}.llp-site .llp-logo-directory .llp-eyebrow{color:#535f68}.llp-site .llp-logo-directory h2{font-size:clamp(35px,5.2vw,80px);line-height:1;letter-spacing:-.045em!important;color:#141a1f!important}.llp-logo-wall{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px 5%;margin-top:30px}.llp-logo-project{display:flex;flex-direction:column;position:relative;align-items:center;justify-content:center;gap:20px;min-width:0;min-height:174px;padding:24px 10px;color:#26323b!important;transition:background .25s}.llp-logo-project:focus-visible{outline:2px solid #202e3b;outline-offset:3px}.llp-logo-mark{display:grid;place-items:center;width:100%;height:78px}.llp-logo-mark>img{display:block;max-width:145px;max-height:78px;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;transition:transform .35s cubic-bezier(.2,.65,.2,1)}.llp-logo-mark>img.is-room{width:116px;height:74px;object-fit:cover;mix-blend-mode:normal}.llp-logo-name{font-size:10px;font-weight:600;letter-spacing:.015em;text-align:center;line-height:1.4}.llp-logo-arrow{position:absolute;right:7px;top:17px;opacity:0;transform:translate(-3px,3px);transition:opacity .25s,transform .25s;font-size:20px}.llp-logo-project:hover .llp-logo-mark>img{transform:translateY(-4px) scale(1.04)}.llp-logo-project:hover .llp-logo-arrow,.llp-logo-project:focus-visible .llp-logo-arrow{opacity:1;transform:none}.llp-logo-project:hover{background:#ffffff70}
/* Readability does not depend on a scroll phase. */
.llp-site .llp-project-hero{display:grid;align-items:end;height:auto;min-height:calc(100svh - var(--llp-host-top));overflow:hidden}.llp-site .llp-project-hero-copy{position:relative!important;inset:auto!important;left:auto!important;right:auto!important;bottom:auto!important;width:90%;margin:0 auto;padding:120px 0 55px;transform:none!important;opacity:1!important}.llp-site .llp-project-hero h1{font-size:clamp(56px,10.7vw,174px);line-height:.99;max-width:100%;letter-spacing:-.045em!important;overflow-wrap:normal;word-break:normal;text-wrap:balance;color:white!important}.llp-site .llp-project-hero-bottom{gap:35px;margin-top:30px}.llp-site .llp-project-hero-bottom>p{font-size:16px;line-height:1.65;max-width:39ch}.llp-site .llp-entry-actions{align-self:end;flex-wrap:wrap}.llp-site .llp-scene-type{transform:none!important}.llp-site .llp-stage-copy{opacity:1!important;transform:none!important}.llp-site .llp-tour-stage.inspecting .llp-stage-copy{opacity:0!important;pointer-events:none}.llp-site .llp-stage-copy h2{line-height:1.06;letter-spacing:-.04em!important}.llp-site.llp-motion-enabled [data-motion=reveal]:not(.llp-in-view){opacity:1;transform:none}
/* The loading photo leaves when the first model frame is ready, never after a scroll ritual. */
.llp-site .model-ready .llp-arrival-plate{opacity:0;visibility:hidden;clip-path:none;transition:opacity .25s}.llp-site .llp-tour-stage.model-ready .llp-model-wrap{opacity:1!important}.llp-site .llp-tour-stage.model-ready .llp-tour-photos{opacity:0!important}.llp-site .llp-graphics-failed .llp-tour-photos{opacity:1!important}.llp-site .llp-graphics-failed .llp-model-wrap{opacity:0!important}
@media(max-width:1100px){.llp-reel-toolbar{column-gap:15px!important}.llp-reel-picker button{flex-basis:88px}.llp-reel-picker span{font-size:8px}.llp-logo-wall{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px 4%}.llp-site .llp-showcase-heading{grid-template-columns:1.25fr 1fr;gap:5vw}.llp-showcase-intro>p{font-size:15px}}
@media(max-width:700px){.llp-site .llp-showcase-heading{display:block;padding:42px 0 30px}.llp-site .llp-showcase-heading h1{font-size:16vw;line-height:.97;margin-top:24px}.llp-showcase-intro{max-width:33ch;margin-top:24px}.llp-showcase-intro>p{font-size:14px;line-height:1.6}.llp-showcase-intro .llp-line-link{font-size:10px;min-width:150px;margin-top:7px}.llp-reel-track{gap:12px;padding-inline:5%;scroll-padding-inline:5%}.llp-reel-item{flex-basis:88%;height:clamp(380px,50svh,560px)}.llp-site .llp-reel-copy h2{font-size:clamp(29px,10cqw,66px);line-height:1.06;margin-bottom:20px}.llp-reel-category{top:22px;left:22px;right:22px;font-size:8px!important}.llp-reel-copy{left:22px;right:22px;bottom:23px}.llp-reel-entry{font-size:8px}.llp-site .llp-reel-toolbar{grid-template-columns:1fr auto;gap:12px;padding-top:18px}.llp-reel-picker{grid-row:2;grid-column:1/-1;justify-content:flex-start;margin-top:0;padding-bottom:8px}.llp-reel-picker button{flex-basis:91px;min-height:70px}.llp-reel-picker span{font-size:8px}.llp-reel-status{font-size:9px}.llp-reel-arrows button{height:44px;width:44px}.llp-site .llp-craft-statement{padding-top:45px;padding-bottom:60px;display:block}.llp-site .llp-craft-statement h2{font-size:14vw;line-height:1.02;margin:25px 0 30px}.llp-site .llp-craft-rule{margin-bottom:24px}.llp-site .llp-craft-aside p{font-size:14px}.llp-logo-directory{padding:50px 0 55px}.llp-logo-directory header{display:block;padding-bottom:25px}.llp-site .llp-logo-directory h2{font-size:12vw;margin-top:22px}.llp-logo-wall{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 3%;margin-top:20px}.llp-logo-project{min-height:132px;padding:20px 4px;gap:14px}.llp-logo-mark{height:52px}.llp-logo-mark>img{max-height:52px;max-width:86px}.llp-logo-name{font-size:8px}.llp-logo-arrow{display:none}.llp-site .llp-project-hero-copy{width:calc(100% - 40px);padding:105px 0 40px}.llp-site .llp-project-hero h1{font-size:min(17vw,calc(130vw / var(--title-length,8)));line-height:1.03}.llp-site .llp-project-hero-bottom>p{font-size:14px;max-width:38ch}.llp-site .llp-project-hero-bottom{margin-top:27px}.llp-site .llp-project-hero .llp-breadcrumb{margin-bottom:25px}}
@media(prefers-reduced-motion:reduce){.llp-reel-project picture,.llp-reel-project .llp-room-image,.llp-logo-mark>img{transform:none!important;transition:none!important;clip-path:none!important}}
.llp-less-motion .llp-reel-project picture,.llp-less-motion .llp-reel-project .llp-room-image,.llp-less-motion .llp-logo-mark>img{transform:none!important;transition:none!important;clip-path:none!important}

/* Script-dependent controls appear only after enhancement; ordinary project links always work. */
.llp-reel-picker,.llp-reel-arrows{visibility:hidden}.llp-reel-controls-ready .llp-reel-picker,.llp-reel-controls-ready .llp-reel-arrows{visibility:visible}
.llp-site:not(.llp-script-ready) .llp-studio-entry,.llp-site:not(.llp-script-ready) .llp-tour-controls button{display:none}
.llp-site:not(.llp-tour-script-ready) .llp-tour-track{height:auto}.llp-site:not(.llp-tour-script-ready) .llp-tour-stage{position:relative;top:0;height:85svh;min-height:600px}

.llp-site:not(.llp-tour-script-ready) .llp-model-wrap,.llp-site .llp-graphics-failed .llp-model-wrap{display:none}
