/* Shared editorial curation on Home and Portfolio; canonical rails belong to .lp-shell. */
.lp-signature-work { position:relative; isolation:isolate; background:#000; padding:clamp(90px,9vw,150px) 0 0; scroll-margin-top:110px; }
.lp-signature-work__intro { margin-bottom:clamp(43.2px,5.4vw,86.4px); }
.lp-signature-work__eyebrow { display:flex; align-items:center; gap:16px; margin:0 0 26px; color:#c3beb8; font-size:12px; letter-spacing:.14em; }
.lp-signature-work__eyebrow::before { content:""; width:32px; height:1px; background:var(--color-primary); }
.lp-signature-work h2 { color:#f4f1ed; font-size:clamp(38px,4.3vw,66px); font-weight:600; line-height:1.08; letter-spacing:-.045em; margin:0 0 24px; }
.lp-signature-work h2 span { color:var(--color-primary); }
.lp-signature-work__summary { color:#aaa7a3; font-size:17px; line-height:1.75; max-width:610px; margin:0; }
.lp-signature-project { position:relative; border-top:1px solid #ffffff14; padding:clamp(50.4px,4.95vw,86.4px) 0; }
.lp-signature-project__link { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); grid-template-rows:1fr 1fr; column-gap:clamp(32px,4vw,80px); color:#f4f1ed; text-decoration:none; }
.lp-signature-project__heading { grid-column:2; grid-row:1; align-self:end; min-width:0; }
.lp-signature-project__number { display:block; color:#ffffff2b; font-size:clamp(38px,3.5vw,56px); font-weight:400; letter-spacing:-.06em; line-height:1; margin:0 0 28px; }
.lp-signature-project__category { color:#b7b4af; font-size:11px; letter-spacing:.16em; line-height:1.6; margin:0 0 16px; }
.lp-signature-project .lp-signature-project__title { color:#f4f1ed; font-size:clamp(42px,5vw,76px); font-weight:600; line-height:1.05; letter-spacing:-.045em; margin:0 0 24px; }
.lp-signature-project__summary { max-width:34ch; color:#c3beb8; font-size:clamp(17px,1.35vw,21px); line-height:1.65; margin:0; }
.lp-signature-project__visual { position:relative; display:flex; align-items:center; justify-content:center; min-width:0; grid-column:1; grid-row:1 / 3; height:clamp(480px,40vw,610px); }
.lp-signature-project__visual::before { content:""; position:absolute; inset:12% 5%; background:radial-gradient(ellipse,#5484bb0b,transparent 68%); pointer-events:none; transition:transform .55s cubic-bezier(.22,.61,.36,1); }
.lp-signature-project__visual img { position:relative; display:block; width:100%; height:100%; max-width:100%; object-fit:contain; transition:transform .55s cubic-bezier(.22,.61,.36,1),filter .55s cubic-bezier(.22,.61,.36,1); }
.lp-signature-project__content { grid-column:2; grid-row:2; align-self:start; min-width:0; padding-top:30px; }
.lp-signature-project__meta { color:#c3beb8; max-width:38ch; font-size:14px; line-height:1.7; margin:0 0 20px; }
.lp-signature-project__meta > span { display:block; color:#807e7a; font-size:10px; letter-spacing:.14em; margin-bottom:7px; }
.lp-signature-project__evidence { color:#888681; max-width:36ch; font-size:14px; line-height:1.7; margin:0 0 32px; }
.lp-signature-project__cta { display:inline-flex; align-items:center; gap:18px; color:var(--color-primary); font-size:11px; letter-spacing:.14em; min-height:44px; }
.lp-signature-project__cta > span { font-size:20px; transition:transform .55s cubic-bezier(.22,.61,.36,1); }
.lp-signature-project__link:focus-visible { outline:2px solid var(--color-primary); outline-offset:12px; }
.lp-signature-project--reverse .lp-signature-project__link { grid-template-columns:minmax(0,1fr) minmax(0,1.5fr); }
.lp-signature-project--reverse .lp-signature-project__heading,.lp-signature-project--reverse .lp-signature-project__content { grid-column:1; }
.lp-signature-project--reverse .lp-signature-project__visual { grid-column:2; }
.lp-signature-project--panorama .lp-signature-project__link { grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); grid-template-rows:auto auto; row-gap:43.2px; }
.lp-signature-project--panorama .lp-signature-project__visual { grid-column:1 / -1; grid-row:1; height:clamp(420px,34vw,560px); }
.lp-signature-project--panorama .lp-signature-project__visual img { max-width:1000px; }
.lp-signature-project--panorama .lp-signature-project__heading { grid-column:1; grid-row:2; align-self:start; }
.lp-signature-project--panorama .lp-signature-project__number { margin-bottom:20px; }
.lp-signature-project--panorama .lp-signature-project__content { grid-column:2; grid-row:2; padding-top:0; align-self:end; }
.lp-signature-project--panorama .lp-signature-project__visual::before { background:radial-gradient(ellipse,#7fbe5809,transparent 65%); }
.lp-signature-work__all { border-top:1px solid #ffffff14; padding:37.8px 0 0; }
.lp-signature-work__all a { display:inline-flex; align-items:center; gap:22px; min-height:44px; color:#c3beb8; font-size:11px; letter-spacing:.16em; text-decoration:none; }
.lp-signature-work__all a span { color:var(--color-primary); font-size:18px; }
.lp-signature-work--portfolio .lp-signature-project { padding-block:clamp(57.6px,5.85vw,100.8px); }
/* Grow the contained FluxCRM visual without moving its editorial grid or exceeding mobile rails. */
@media (min-width:992px) {
 .lp-signature-project--panorama .lp-signature-project__visual img { height:122%; max-width:1220px; flex:none; top:-24px; }
}
@media (hover:hover) and (pointer:fine) {
 .lp-signature-project__link:hover .lp-signature-project__visual img { transform:translateY(-5px); filter:brightness(1.035); }
 .lp-signature-project__link:hover .lp-signature-project__visual::before { transform:translateY(2px); }
 .lp-signature-project__link:hover .lp-signature-project__cta > span { transform:translateX(3px); }
}
@media (max-width:991px) {
 .lp-signature-project__link,.lp-signature-project--reverse .lp-signature-project__link,.lp-signature-project--panorama .lp-signature-project__link { display:flex; flex-direction:column; gap:0; }
 .lp-signature-project__heading { align-self:stretch; order:1; }
 .lp-signature-project__visual { order:2; width:100%; height:auto; aspect-ratio:1 / 1; margin:28.8px 0; }
 .lp-signature-project:first-of-type .lp-signature-project__visual { aspect-ratio:1122 / 1402; max-height:650px; }
 .lp-signature-project--reverse .lp-signature-project__visual,.lp-signature-project--panorama .lp-signature-project__visual { aspect-ratio:1448 / 1086; height:auto; }
 .lp-signature-project__content,.lp-signature-project--panorama .lp-signature-project__content { order:3; align-self:stretch; padding-top:0; }
 .lp-signature-project__visual img { position:absolute; inset:0; }
 .lp-signature-project__summary,.lp-signature-project__meta,.lp-signature-project__evidence { max-width:48ch; }
 .lp-signature-project__number { font-size:38px; margin-bottom:20px; }
 .lp-signature-project .lp-signature-project__title { font-size:clamp(42px,7vw,62px); }
 .lp-signature-work--portfolio .lp-signature-project { padding-block:57.6px; }
}
@media (max-width:575px) {
 .lp-signature-work { padding-top:88px; }
 .lp-signature-work__intro { margin-bottom:43.2px; }
 .lp-signature-work__summary { font-size:15px; }
 .lp-signature-project,.lp-signature-work--portfolio .lp-signature-project { padding-block:43.2px; }
 .lp-signature-project__summary { font-size:17px; }
 .lp-signature-project__evidence { margin-bottom:24px; }
}
@media (prefers-reduced-motion:reduce) {
 .lp-signature-work .lp-signature-project__visual img,.lp-signature-work .lp-signature-project__visual::before,.lp-signature-work .lp-signature-project__cta > span { transition:none; transform:none!important; filter:none!important; }
}

/* Art-directed product stages: mobile depth, dashboard clarity, panoramic systems. */
.lp-signature-project { padding-block:72px; }
.lp-signature-project__visual { overflow:hidden; border:1px solid #ffffff18; border-radius:16px; isolation:isolate; background:#0a0b0e; }
.lp-signature-project__visual::before { inset:0; z-index:0; background:radial-gradient(ellipse at 50% 42%,#2948af45,transparent 72%); }
.lp-signature-project__visual::after { content:""; position:absolute; inset:0; pointer-events:none; border-radius:inherit; box-shadow:inset 0 1px 0 #ffffff0d; }
.lp-work-visual-label { position:absolute; z-index:2; left:28px; top:24px; color:#d4dbeb; font-size:10px; letter-spacing:.16em; font-weight:500; }
.lp-signature-project--wallet .lp-signature-project__visual { height:650px; background:linear-gradient(145deg,#101b40,#090d1b 64%,#07080c); }
.lp-signature-project--wallet .lp-signature-project__visual img { width:100%; height:104%; object-fit:contain; margin-top:46px; filter:drop-shadow(0 24px 22px #0007); }
.lp-signature-project__number { font-size:14px; letter-spacing:.08em; margin-bottom:20px; color:#8f8b85; }
.lp-signature-project__category { color:#b9b6b1; }
.lp-signature-project__content { padding-top:26px; }
.lp-signature-project__evidence { max-width:40ch; color:#c3beb8; }
.lp-work-result { display:block; border-left:2px solid #ff9800; padding-left:18px; margin:24px 0 12px; }
.lp-work-result strong { display:block; font:600 clamp(26px,2.6vw,40px)/1.18 Poppins,Arial,sans-serif; letter-spacing:-.035em; color:#f4f1ed; margin-bottom:8px; }
.lp-work-result>span { display:block; font-size:15px; line-height:1.6; }
.lp-signature-project__evidence small { display:block; font-size:11px; line-height:1.65; color:#a4a19c; }
.lp-signature-project__cta { letter-spacing:.06em; font-size:12px; text-transform:none; color:#f4f1ed; border-bottom:1px solid #ffffff40; }
.lp-signature-project--security .lp-signature-project__link { grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-template-rows:auto auto; row-gap:40px; }
.lp-signature-project--security .lp-signature-project__visual { grid-column:1/-1; grid-row:1; height:600px; background:radial-gradient(ellipse at 50% 10%,#54452055,transparent 76%),#10100e; padding:72px 8% 0; align-items:flex-start; }
.lp-signature-project--security .lp-signature-project__visual::before { background:none; }
.lp-signature-project--security .lp-signature-project__visual img { width:100%; height:auto; max-width:1060px; object-fit:contain; object-position:top; border-radius:10px 10px 0 0; box-shadow:0 18px 70px #0007; }
.lp-signature-project--security .lp-signature-project__heading { grid-column:1; grid-row:2; align-self:start; }
.lp-signature-project--security .lp-signature-project__content { grid-column:2; grid-row:2; padding-top:0; }
.lp-signature-project--panorama .lp-signature-project__visual { height:600px; background:linear-gradient(145deg,#15201b,#0a100d 70%); }
.lp-signature-project--panorama .lp-signature-project__visual::before { background:radial-gradient(ellipse at 50% 50%,#93c93b24,transparent 70%); }
.lp-signature-project--panorama .lp-signature-project__visual img { width:100%; max-width:1150px; height:118%; top:24px; object-fit:contain; }
@media(max-width:991px) {
 .lp-signature-project { padding-block:48px; }
 .lp-signature-project--wallet .lp-signature-project__visual { height:auto; aspect-ratio:4/5; max-height:none; }
 .lp-signature-project--wallet .lp-signature-project__visual img { position:absolute; width:100%; height:100%; margin-top:24px; }
 .lp-signature-project--security .lp-signature-project__visual { height:auto; aspect-ratio:1.25; padding:52px 6% 0; margin-block:28px; }
 .lp-signature-project--security .lp-signature-project__visual img { position:relative; inset:auto; width:100%; height:auto; }
 .lp-signature-project--panorama .lp-signature-project__visual { height:auto; aspect-ratio:1.2; }
 .lp-signature-project--panorama .lp-signature-project__visual img { width:116%; max-width:none; height:110%; top:12%; left:-8%; }
 .lp-work-visual-label { left:20px; top:20px; font-size:9px; }
 .lp-signature-project--security .lp-signature-project__content { padding-top:0; }
 .lp-work-result strong { font-size:28px; }
}
@media(prefers-reduced-motion:reduce) { .lp-signature-project__visual img { transition:none !important; } }

.lp-signature-project { scroll-margin-top:150px; }

/* Norton: warm security amber with the same visual depth as the other stages. */
.lp-signature-project--security .lp-signature-project__visual {
 background:radial-gradient(ellipse at 50% 42%,#a879263d 0%,#60451c24 43%,transparent 76%),linear-gradient(135deg,#282314 0%,#19170f 48%,#10120f 100%);
 border-color:#d5b45a30;
}
.lp-signature-project--security .lp-signature-project__visual::before {
 background:radial-gradient(ellipse at 48% 0%,#f3cc5740,transparent 65%);
}
.lp-signature-project--security .lp-work-visual-label { color:#e1d4af; }

/* Homepage gallery: one editorial structure for all three featured projects. */
#signature-work .lp-gallery-project { border:0; padding:0; margin-bottom:clamp(64px,7vw,112px); }
#signature-work .lp-gallery-project .lp-signature-project__link { display:flex; flex-direction:column; gap:0; }
#signature-work .lp-gallery-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:24px; }
#signature-work .lp-gallery-project .lp-signature-project__title { margin:0; font-size:clamp(28px,3vw,42px); line-height:1.15; letter-spacing:-.035em; }
#signature-work .lp-gallery-heading__aside { display:flex; align-items:center; gap:32px; }
#signature-work .lp-gallery-project .lp-signature-project__category { margin:0; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:#a9a6a1; }
#signature-work .lp-gallery-project .lp-signature-project__cta { min-height:44px; border:0; font-size:14px; letter-spacing:0; gap:12px; }
#signature-work .lp-gallery-project .lp-signature-project__visual { order:0; width:100%; height:clamp(380px,42vw,640px); aspect-ratio:auto; max-height:none; margin:0; border-radius:14px; padding:28px; align-items:center; }
#signature-work .lp-gallery-project .lp-signature-project__visual img { position:relative; inset:auto; top:auto; left:auto; width:100%; height:100%; max-width:1100px; margin:0; object-fit:contain; }
#signature-work .lp-signature-project--wallet .lp-signature-project__visual { background:radial-gradient(ellipse at 50% 55%,#233b693d,transparent 72%),#0b1120; }
#signature-work .lp-signature-project--security .lp-signature-project__visual { background:radial-gradient(ellipse at 50% 40%,#a879262b,transparent 76%),#1b190f; border-color:#d5b45224; padding:40px 7% 0; align-items:flex-start; }
#signature-work .lp-signature-project--security .lp-signature-project__visual img { height:auto; max-width:853px; border-radius:8px 8px 0 0; }
#signature-work .lp-signature-project--panorama .lp-signature-project__visual { background:radial-gradient(ellipse at 50% 55%,#77a94a1c,transparent 74%),#0c1510; }
#signature-work .lp-gallery-caption { display:grid; grid-template-columns:1fr 1fr; gap:40px; margin-top:22px; }
#signature-work .lp-gallery-caption p { margin:0; color:#aaa7a3; font-size:15px; line-height:1.7; max-width:54ch; }
#signature-work .lp-gallery-caption p:last-child { justify-self:end; }
#signature-work .lp-gallery-caption strong { color:#e7e3dc; font-weight:500; }
#signature-work .lp-gallery-note { color:#92908b; }
#signature-work .lp-signature-work__all { border:0; padding:0; }
@media(max-width:767px) {
 #signature-work .lp-gallery-heading { align-items:flex-start; gap:12px; margin-bottom:18px; }
 #signature-work .lp-gallery-heading__aside { flex-direction:column; align-items:flex-end; gap:0; }
 #signature-work .lp-gallery-project .lp-signature-project__category { font-size:9px; letter-spacing:.06em; }
 #signature-work .lp-gallery-project .lp-signature-project__cta { font-size:12px; }
 #signature-work .lp-gallery-project .lp-signature-project__visual { height:auto; aspect-ratio:1/1; padding:16px; }
 #signature-work .lp-gallery-project .lp-signature-project__visual img { position:absolute; inset:16px; width:calc(100% - 32px); height:calc(100% - 32px); }
 #signature-work .lp-signature-project--security .lp-signature-project__visual { padding:24px 6% 0; }
 #signature-work .lp-signature-project--security .lp-signature-project__visual img { position:relative; inset:auto; width:100%; height:auto; }
 #signature-work .lp-gallery-caption { grid-template-columns:1fr; gap:8px; margin-top:18px; }
 #signature-work .lp-gallery-caption p { font-size:14px; }
 #signature-work .lp-gallery-caption p:last-child { justify-self:start; }
}

/* Home bento: curated feature tiles and a compact, browsable project library. */
.lp-bento-grid { display:grid; grid-template-columns:7fr 5fr; grid-template-rows:repeat(2,370px); gap:24px; margin-bottom:36px; }
.lp-bento-card { position:relative; min-width:0; overflow:hidden; border:1px solid #ffffff18; border-radius:20px; background:#0c1220; }
.lp-bento-card--wallet { grid-row:1/3; background:radial-gradient(ellipse at 60% 60%,#263c703d,transparent 76%),#0c1220; }
.lp-bento-card--security { background:radial-gradient(ellipse at 75% 80%,#a8792638,transparent 80%),#211d12; }
.lp-bento-card--panorama { background:radial-gradient(ellipse at 70% 70%,#80ad3324,transparent 76%),#101b14; }
.lp-bento-link { position:relative; display:flex; flex-direction:column; height:100%; padding:32px; color:#f4f1ed; text-decoration:none; }
.lp-bento-copy { position:relative; z-index:2; pointer-events:none; }
.lp-bento-category { margin:0 0 12px; color:#b7b7b2; font-size:10px; letter-spacing:.13em; text-transform:uppercase; }
.lp-bento-copy h3 { margin:0 0 12px; font-size:clamp(28px,2.6vw,40px); line-height:1.1; letter-spacing:-.035em; font-weight:600; color:#f4f1ed; }
.lp-bento-description { margin:0; max-width:32ch; font-size:14px; line-height:1.6; color:#bcbab5; }
.lp-bento-art { position:relative; flex:1; min-height:0; margin-top:14px; display:flex; align-items:center; justify-content:center; }
.lp-bento-art img { width:100%; height:100%; object-fit:contain; transition:transform .4s ease; }
.lp-bento-card--wallet .lp-bento-art { margin:16px -8px 12px; }
.lp-bento-card--wallet .lp-bento-art img { max-width:500px; }
.lp-bento-card--security .lp-bento-art { margin:20px 0 -100px 20%; }
.lp-bento-card--security .lp-bento-art img { height:auto; align-self:flex-start; border-radius:7px; box-shadow:0 12px 36px #0006; }
.lp-bento-card--panorama .lp-bento-art { margin:0 -18px -22px 12%; }
.lp-bento-arrow { position:absolute; top:28px; right:28px; font-size:25px; color:#e8e4dc; }
.lp-bento-action { position:absolute; bottom:24px; left:32px; z-index:3; font-size:11px; color:#e7e3da; }
.lp-bento-card--security .lp-bento-action,.lp-bento-card--panorama .lp-bento-action { display:none; }
.lp-bento-link:focus-visible { outline:2px solid #ffad45; outline-offset:-5px; border-radius:20px; }
#portfolio.lp-bento-library .selected-work-grid { grid-template-columns:repeat(12,minmax(0,1fr)); grid-auto-flow:row; gap:24px; }
#portfolio.lp-bento-library .selected-work-grid > .work-project { grid-column:span 5; height:330px; --card-padding:24px; box-shadow:none; }
#portfolio.lp-bento-library .selected-work-grid > .work-project:first-child { grid-column:span 7; grid-row:span 2; height:684px; }
#portfolio.lp-bento-library .selected-work-grid > .work-project:nth-child(4) { grid-column:1/-1; height:360px; }
#portfolio.lp-bento-library .selected-work-grid > .work-project:nth-child(n+5) { grid-column:span 6; height:480px; }
#portfolio.lp-bento-library .work-project .work-project-link { display:grid; grid-template-columns:1fr; grid-template-rows:90px minmax(0,1fr) 64px; gap:8px; }
#portfolio.lp-bento-library .work-project :is(.work-product,.work-project-foot) { grid-column:auto; grid-row:auto; }
#portfolio.lp-bento-library .work-project h3 { font-size:28px; margin-bottom:8px; }
#portfolio.lp-bento-library .work-story { font-size:13px; line-height:1.5; max-width:36ch; }
#portfolio.lp-bento-library .work-category { font-size:9px; }
#portfolio.lp-bento-library .work-impact { max-width:80%; }
#portfolio.lp-bento-library .work-impact strong { font-size:22px; }
#portfolio.lp-bento-library .work-impact > span { font-size:11px; }
#portfolio.lp-bento-library .work-link-cue { font-size:0; }
#portfolio.lp-bento-library .work-link-cue > span:last-child { font-size:23px; }
#portfolio.lp-bento-library .selected-work-grid > .work-project:nth-child(4) .work-project-link { grid-template-columns:1fr 1fr; grid-template-rows:1fr 64px; }
#portfolio.lp-bento-library .selected-work-grid > .work-project:nth-child(4) .work-product { grid-column:2; grid-row:1/3; }
#portfolio.lp-bento-library .selected-work-grid > .work-project:nth-child(4) .work-project-foot { grid-column:1; grid-row:2; }
#portfolio.lp-bento-library .selected-work-grid:has(> :last-child:nth-child(2)) > .work-project { grid-column:span 6; grid-row:auto; height:500px; }
@media(hover:hover) and (pointer:fine) {
 .lp-bento-card:hover { border-color:#ffffff35; }
 .lp-bento-link:hover .lp-bento-art img { transform:translateY(-4px); }
}
@media(max-width:991px) {
 .lp-bento-grid { grid-template-columns:1fr 1fr; grid-template-rows:repeat(2,340px); gap:16px; }
 .lp-bento-link { padding:24px; }
 .lp-bento-description { font-size:13px; }
 .lp-bento-arrow { right:20px; top:20px; }
}
@media(max-width:767px) {
 .lp-bento-grid { grid-template-columns:1fr; grid-template-rows:auto; gap:20px; }
 .lp-bento-card,.lp-bento-card--wallet { grid-column:auto; grid-row:auto; height:430px; }
 .lp-bento-card--wallet { height:560px; }
 .lp-bento-card--wallet .lp-bento-art { margin-bottom:16px; }
 .lp-bento-card--security .lp-bento-art { margin-left:0; margin-bottom:-70px; }
 .lp-bento-card--panorama .lp-bento-art { margin-left:0; }
 .lp-bento-action { left:24px; bottom:20px; }
 #portfolio.lp-bento-library .selected-work-grid { grid-template-columns:1fr; gap:20px; }
 #portfolio.lp-bento-library .selected-work-grid > .work-project:nth-child(n) { grid-column:1; grid-row:auto; height:480px; }
 #portfolio.lp-bento-library .selected-work-grid > .work-project:nth-child(n) .work-project-link { grid-template-columns:1fr; grid-template-rows:100px minmax(0,1fr) 64px; }
 #portfolio.lp-bento-library .selected-work-grid > .work-project:nth-child(n) :is(.work-product,.work-project-foot) { grid-column:auto; grid-row:auto; }
}
@media(prefers-reduced-motion:reduce) { .lp-bento-art img { transition:none; transform:none !important; } }

#portfolio.lp-bento-library .work-project { min-height:0; }
.lp-bento-card { scroll-margin-top:150px; }

@media(min-width:768px) {
 #portfolio.lp-bento-library .work-project:not(:first-child):not(:nth-child(4)) .work-project-link { grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-template-rows:1fr 64px; gap:14px; }
 #portfolio.lp-bento-library .work-project:not(:first-child):not(:nth-child(4)) .work-product { grid-column:2; grid-row:1/3; }
 #portfolio.lp-bento-library .work-project:not(:first-child):not(:nth-child(4)) .work-project-foot { grid-column:1; grid-row:2; }
 #portfolio.lp-bento-library .work-project:not(:first-child):not(:nth-child(4)) .work-impact { max-width:100%; }
 #portfolio.lp-bento-library .work-project:not(:first-child):not(:nth-child(4)) .work-link-cue { position:absolute; right:-24px; bottom:0; }
}

/* Fade only the reflected tail; retain the complete primary phone interfaces. */
.lp-bento-card--wallet .lp-bento-art img {
 -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 90%,rgba(0,0,0,.7) 94%,transparent 100%);
 mask-image:linear-gradient(to bottom,#000 0%,#000 90%,rgba(0,0,0,.7) 94%,transparent 100%);
}

.lp-bento-card--wallet .lp-bento-art { container-type:size; }
.lp-bento-card--wallet .lp-bento-art img { width:min(100cqw,calc(100cqh * .800285)); height:auto; max-height:100%; }

/* Refined bento composition: edge-to-edge art, controlled negative space. */
.lp-bento-grid { grid-template-columns:1.05fr 1fr; grid-template-rows:repeat(2,340px); gap:20px; }
.lp-bento-card { border-radius:24px; border-color:#ffffff16; box-shadow:inset 0 1px #ffffff08; }
.lp-bento-card--wallet { background:radial-gradient(ellipse at 75% 70%,#344c8859,transparent 75%),linear-gradient(145deg,#131b30,#0a0e18); }
.lp-bento-card--security { background:radial-gradient(ellipse at 80% 90%,#ad8b3745,transparent 80%),linear-gradient(135deg,#292515,#15140f); }
.lp-bento-card--panorama { background:radial-gradient(ellipse at 80% 70%,#5b853136,transparent 80%),linear-gradient(135deg,#18271d,#0d1711); }
.lp-bento-link { padding:34px; }
.lp-bento-copy h3 { font-size:clamp(30px,3vw,44px); font-weight:600; letter-spacing:-.04em; }
.lp-bento-category { font-size:11px; color:#c2c4c8; margin-bottom:14px; }
.lp-bento-description { color:#c3c4c6; font-size:15px; max-width:27ch; }
.lp-bento-arrow { top:auto; right:24px; bottom:24px; z-index:4; display:grid; place-items:center; width:44px; height:44px; border:1px solid #ffffff35; border-radius:50%; background:#0b0c0e66; font-size:23px; }
.lp-bento-card--wallet .lp-bento-art { position:absolute; inset:170px 6% 12px 12%; margin:0; }
.lp-bento-card--wallet .lp-bento-art img { max-width:none; }
.lp-bento-card--security .lp-bento-copy { max-width:43%; }
.lp-bento-card--security .lp-bento-art { position:absolute; top:88px; left:42%; right:-20%; bottom:-115px; margin:0; align-items:flex-start; }
.lp-bento-card--security .lp-bento-art img { width:100%; height:auto; max-width:none; box-shadow:none; border:0; border-radius:0; }
.lp-bento-card--panorama .lp-bento-copy { max-width:44%; }
.lp-bento-card--panorama .lp-bento-art { position:absolute; inset:75px -8% -18px 29%; margin:0; }
.lp-bento-link:focus-visible .lp-bento-arrow { border-color:#ffad45; color:#ffad45; }
#portfolio.lp-bento-library .work-project { background:linear-gradient(145deg,rgba(var(--world),.13),#0b1015 80%); border-radius:24px; border-color:#ffffff16; }
#portfolio.lp-bento-library .work-world::before { background-image:none; }
#portfolio.lp-bento-library .work-world::after { background:radial-gradient(ellipse at 80% 65%,rgba(var(--world),.18),transparent 78%); }
#portfolio.lp-bento-library .selected-work-grid { gap:20px; }
#portfolio.lp-bento-library .selected-work-grid > .work-project { height:360px; --card-padding:28px; }
#portfolio.lp-bento-library .selected-work-grid > .work-project:first-child { height:740px; }
#portfolio.lp-bento-library .work-project h3 { font-size:32px; }
#portfolio.lp-bento-library .work-category { font-size:10px; letter-spacing:.09em; }
#portfolio.lp-bento-library .work-category::before { display:none; }
#portfolio.lp-bento-library .work-story { font-size:14px; line-height:1.6; max-width:27ch; }
#portfolio.lp-bento-library .work-impact > span { font-size:12px; line-height:1.5; }
#portfolio.lp-bento-library .work-impact strong { font-size:24px; }
#portfolio.lp-bento-library .work-project .work-link-cue { display:grid; place-items:center; width:44px; height:44px; border:1px solid #ffffff35; background:#0b0c0e66; border-radius:50%; color:#e8e4dc; }
#portfolio.lp-bento-library .work-project .work-link-text { display:none; }
@media(min-width:768px) {
 #portfolio.lp-bento-library .work-project:not(:first-child):not(:nth-child(4)) .work-project-link { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); }
 #portfolio.lp-bento-library .work-project:not(:first-child):not(:nth-child(4)) .work-project-copy { width:120%; }
 #portfolio.lp-bento-library .work-project:not(:first-child):not(:nth-child(4)) .work-product { margin:65px -12px 12px -20px; }
 #portfolio.lp-bento-library .work-project:not(:first-child):not(:nth-child(4)) .work-link-cue { right:-4px; }
}
@media(hover:hover) and (pointer:fine) {
 .lp-bento-card:hover { border-color:#ffffff38; }
 .lp-bento-arrow { transition:background .25s,border-color .25s; }
 .lp-bento-link:hover .lp-bento-arrow { background:#ffffff14; border-color:#ffffff70; }
}
@media(max-width:991px) and (min-width:768px) {
 .lp-bento-grid { grid-template-rows:repeat(2,320px); }
 .lp-bento-link { padding:26px; }
 .lp-bento-card--security .lp-bento-copy,.lp-bento-card--panorama .lp-bento-copy { max-width:75%; }
 .lp-bento-card--security .lp-bento-art { top:160px; left:25%; }
 .lp-bento-card--panorama .lp-bento-art { top:155px; left:15%; }
}
@media(max-width:767px) {
 .lp-bento-grid { grid-template-columns:1fr; grid-template-rows:auto; gap:18px; }
 .lp-bento-link { padding:26px; }
 .lp-bento-card { height:400px; border-radius:20px; }
 .lp-bento-card--wallet { height:530px; }
 .lp-bento-copy h3 { font-size:32px; }
 .lp-bento-description { font-size:14px; }
 .lp-bento-card--wallet .lp-bento-art { inset:160px 8% 20px; }
 .lp-bento-card--security .lp-bento-copy,.lp-bento-card--panorama .lp-bento-copy { max-width:90%; }
 .lp-bento-card--security .lp-bento-art { top:170px; left:16%; right:-22%; bottom:-85px; }
 .lp-bento-card--panorama .lp-bento-art { inset:160px -8% 10px 4%; }
 .lp-bento-arrow { right:20px; bottom:20px; }
 #portfolio.lp-bento-library .selected-work-grid > .work-project:nth-child(n) { height:480px; --card-padding:24px; border-radius:20px; }
 #portfolio.lp-bento-library .selected-work-grid:has(> :last-child:nth-child(2)) > .work-project { height:480px; }
 #portfolio.lp-bento-library .work-project h3 { font-size:30px; }
}

/* One navigation position across every portfolio tile. */
#portfolio.lp-bento-library .work-project .work-project-foot { position:static; }
#portfolio.lp-bento-library .work-project .work-impact { position:relative; z-index:3; }
#portfolio.lp-bento-library .work-project .work-link-cue { position:absolute; right:24px !important; bottom:24px; z-index:4; }

/* Product-led tonal surfaces retain a common dark luminance. */
#portfolio.lp-bento-library .work-project--zappay { --world:54,88,158; background:radial-gradient(ellipse at 75% 70%,#253e713d,transparent 78%),linear-gradient(145deg,#101829,#0a101c); }
#portfolio.lp-bento-library .work-project--unipay { --world:119,70,123; background:radial-gradient(ellipse at 80% 60%,#703c6838,transparent 78%),linear-gradient(145deg,#211724,#120e18); }
#portfolio.lp-bento-library .work-project--smartfin { --world:98,83,142; background:radial-gradient(ellipse at 80% 65%,#55457138,transparent 78%),linear-gradient(145deg,#1a1b22,#101116); }
#portfolio.lp-bento-library .work-project--coverride { --world:101,117,55; background:radial-gradient(ellipse at 80% 65%,#5e6a3038,transparent 78%),linear-gradient(145deg,#1d2116,#10150e); }
/* The outer cue owns the single circle; the inner span is only the glyph. */
#portfolio.lp-bento-library .work-project .work-link-cue > span:last-child { width:100%; height:100%; border:0; border-radius:0; background:none; box-shadow:none; transform:none; color:inherit; }
#portfolio.lp-bento-library .work-project .work-link-cue { color:#e7e3dc; }

/* Centre the glyph independently of any hidden case-study label/grid row. */
.lp-bento-arrow { line-height:1; }
#portfolio.lp-bento-library .work-project .work-link-cue { display:flex; align-items:center; justify-content:center; gap:0; line-height:1; }
#portfolio.lp-bento-library .work-project .work-link-text { display:none; }
#portfolio.lp-bento-library .work-project .work-link-cue > span:last-child {
 position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
 line-height:1; margin:0; padding:0; transform:none;
}

/* Featured projects share the library's qualitative design-focus footer. */
.lp-bento-focus { position:absolute; left:34px; bottom:30px; z-index:3; max-width:calc(100% - 124px); padding:8px 14px 8px 0; background:none; pointer-events:none; }
.lp-bento-focus span { display:block; margin-bottom:6px; color:#b7b8bf; font-size:12px; line-height:1.4; }
.lp-bento-focus strong { display:block; color:#ffad45; font-size:18px; font-weight:600; line-height:1.3; letter-spacing:-.02em; }
.lp-bento-card--wallet .lp-bento-art { bottom:88px; }
@media(max-width:767px) { .lp-bento-focus { left:26px; bottom:22px; max-width:calc(100% - 110px); } .lp-bento-focus strong { font-size:17px; } }

/* Full-width bento finales use a larger art zone, without a vacant middle column. */
@media(min-width:768px) {
 #portfolio.lp-bento-library .selected-work-grid > .work-project:nth-child(4) { height:320px; }
 #portfolio.lp-bento-library .selected-work-grid > .work-project:nth-child(4) .work-project-link { grid-template-columns:minmax(0,1fr) minmax(0,2fr); grid-template-rows:1fr 64px; gap:16px; }
 #portfolio.lp-bento-library .selected-work-grid > .work-project:nth-child(4) .work-product { margin:-12px 35px -12px -35px; }
 #portfolio.lp-bento-library .selected-work-grid > .work-project:nth-child(4) .work-art-frame { --product-scale:1.1; }
}

/* Lead with the work: a short editorial introduction immediately after the hero. */
#signature-work.lp-signature-work { padding-top:clamp(40px,4vw,64px); }
#signature-work .lp-signature-work__intro { margin-bottom:32px; }
#signature-work .lp-signature-work__eyebrow { margin-bottom:16px; }
#signature-work h2 { font-size:clamp(36px,3.6vw,54px); margin-bottom:16px; }
#signature-work .lp-signature-work__summary { line-height:1.6; }
@media(max-width:767px) {
 #signature-work.lp-signature-work { padding-top:32px; }
 #signature-work .lp-signature-work__intro { margin-bottom:24px; }
 #signature-work .lp-signature-work__summary { font-size:15px; }
 #signature-work .lp-signature-work__summary br { display:none; }
}

/* A quiet credibility interlude between featured work and the wider library. */
.lp-work-first #impact { padding:48px 0 32px; }
.lp-work-first #impact .lp-credibility__intro { margin-bottom:24px; }
.lp-work-first #impact h2 { font-size:clamp(24px,2.2vw,32px); line-height:1.2; }
.lp-work-first #impact .lp-credibility__metrics { padding:24px 0; gap:24px; border-bottom:0; }
.lp-work-first #impact .lp-credibility__metrics strong { font-size:clamp(30px,2.8vw,40px); margin-bottom:8px; }
.lp-work-first #impact .lp-credibility__metrics li > span { font-size:12px; }
.lp-work-first #impact .logo-swiper { margin-top:24px; }
.lp-work-first #impact .lp-credibility__clients { margin-bottom:12px; font-size:10px; }
.lp-work-first #impact .support-company-logo { height:56px; }
.lp-work-first #impact .support-company-logo img { width:140px; max-width:140px; }
.lp-work-first #impact + #portfolio { padding-top:64px; }
@media(max-width:575px) {
 .lp-work-first #impact { padding:36px 0 20px; }
 .lp-work-first #impact .lp-credibility__metrics { gap:20px; padding-block:20px; }
 .lp-work-first #impact .lp-credibility__metrics li:first-child { grid-column:1/-1; display:flex; align-items:center; gap:16px; }
 .lp-work-first #impact .lp-credibility__metrics li:first-child strong { margin:0; }
 .lp-work-first #impact .lp-credibility__metrics li:first-child > span { max-width:23ch; }
 .lp-work-first #impact .logo-swiper { margin-top:20px; }
 .lp-work-first #impact + #portfolio { padding-top:44px; }
}

/* Signature and library cards share typography, accents and navigation cues. */
.lp-bento-copy h3 { font-size:clamp(28px,2.6vw,36px); }
.lp-bento-category { font-size:10px; letter-spacing:.1em; }
.lp-bento-description { font-size:14px; line-height:1.6; }
.lp-bento-arrow { color:var(--color-primary,#ff9800); border-color:#ff980052; }
.lp-bento-focus strong { color:var(--color-primary,#ff9800); }
#portfolio.lp-bento-library .work-impact strong { font-size:18px; font-weight:600; line-height:1.35; }
#portfolio.lp-bento-library .work-project .work-link-cue { color:var(--color-primary,#ff9800); border-color:#ff980052; }

/* P2: one curated entry, then a quieter archive handoff. */
.lp-work-archive {position:relative;background:#000;padding:clamp(64px,7vw,104px) 0;scroll-margin-top:110px;border-top:1px solid #ffffff20}
.lp-work-archive h2 {color:#f4f1ed;font-size:clamp(32px,3.2vw,48px);line-height:1.15;letter-spacing:-.035em;margin:0 0 20px}
.lp-work-archive p:not(.lp-signature-work__eyebrow) {color:#ceccc8;font-size:17px;line-height:1.8;max-width:58ch;margin:0 0 28px}
.selected-work--library .selected-work-intro {margin-bottom:32px}
.selected-work--library h2 {font-size:clamp(30px,3.2vw,46px)}
.lp-bento-work .lp-signature-work__intro {margin-bottom:36px}
