/* Native Gutenberg project stories. Shared LeonLab Blue & Porcelain tokens. */
.ll-project-case .is-layout-flow>:where(.wp-block-group,.wp-block-columns,.wp-block-column,.wp-block-image){margin-block:0}
.ll-project-case{width:100%;max-width:none!important;margin:0!important;background:var(--surface-card);color:var(--text-primary);box-sizing:border-box;scroll-margin-top:96px}
.ll-project-case .ll-lw-shell{width:min(1190px,calc(100% - 64px));max-width:1190px!important;margin-inline:auto!important}
.ll-project-case .wp-block-columns{gap:var(--space-12);margin:0;align-items:center}
.ll-project-case .wp-block-column{min-width:0}
.ll-project-case p{margin:0;font-size:16px;line-height:1.8;color:var(--text-secondary)}
.ll-project-case p+p{margin-top:var(--space-4)}
.ll-project-case :is(h1,h2,h3){margin:0;color:inherit;letter-spacing:-.045em;line-height:1.14;font-weight:750}
.ll-project-case h1{font-size:clamp(2.75rem,4.1vw,4.125rem);letter-spacing:-.055em;line-height:1.06}
.ll-project-case h2{font-size:clamp(2rem,3.4vw,3.125rem)}
.ll-project-case h3{font-size:22px;letter-spacing:-.025em;line-height:1.25}
.ll-project-case h2 em{font-family:Georgia,serif;font-weight:400;color:var(--brand-primary)}
.ll-project-case .ll-lw-eyebrow{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:750;letter-spacing:.13em;text-transform:uppercase;color:var(--brand-primary);margin:0 0 var(--space-5)}
.ll-project-case .ll-lw-eyebrow:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.ll-project-case .ll-lw-text-link a{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:var(--brand-primary);font-size:14px;font-weight:650;text-decoration:none}
.ll-project-case .ll-lw-text-link a:hover{text-decoration:underline;text-underline-offset:4px}
.ll-project-case :is(a,summary):focus-visible{outline:3px solid var(--focus-light);outline-offset:5px}
.ll-project-case .wp-block-buttons{gap:12px;margin-top:var(--space-6)}
.ll-project-case .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;min-height:49px;border:1px solid transparent;border-radius:var(--radius-md);background:var(--brand-primary);color:var(--text-on-primary);font-size:14px;line-height:1.4;font-weight:650;text-decoration:none;padding:13px 18px;transition:background var(--motion-standard)}
.ll-project-case .wp-block-button__link:hover{background:var(--brand-hover)}
.ll-project-case .is-style-outline>.wp-block-button__link{border:var(--border-strong);background:transparent;color:var(--brand-primary)}
.ll-project-case .is-style-outline>.wp-block-button__link:hover{background:var(--brand-tint)}
.ll-project-case.ll-lw-section{padding-block:var(--space-24)}
.ll-project-case.ll-lw-surface{background:var(--surface-page);border-block:var(--border-subtle)}
.ll-project-case .ll-lw-section-title{max-width:780px;margin-bottom:var(--space-12)}
.ll-project-case .ll-lw-section-title>p:last-child:not(.ll-lw-eyebrow){font-size:18px;max-width:690px;margin-top:var(--space-5)}
.ll-project-case .ll-lw-footnote{font-size:12px;line-height:1.75;margin-top:var(--space-6)}
.ll-project-case.ll-lw-dark,.ll-project-case .ll-lw-dark{background:var(--surface-dark);color:var(--text-on-dark)}
.ll-project-case.ll-lw-dark p,.ll-project-case .ll-lw-dark p{color:var(--text-secondary-on-dark)}
.ll-project-case.ll-lw-dark .ll-lw-eyebrow,.ll-project-case .ll-lw-dark .ll-lw-eyebrow{color:var(--brand-accent)}
.ll-project-case .ll-lw-dark .wp-block-button__link,.ll-project-case.ll-lw-hero .wp-block-button__link{background:var(--action-on-dark);color:var(--action-on-dark-text)}
.ll-project-case .ll-lw-dark .wp-block-button__link:hover,.ll-project-case.ll-lw-hero .wp-block-button__link:hover{background:var(--action-on-dark-hover)}
.ll-project-case .ll-lw-dark .is-style-outline>.wp-block-button__link,.ll-project-case.ll-lw-hero .is-style-outline>.wp-block-button__link{background:transparent;border-color:var(--border-on-dark);color:var(--text-on-dark)}
.ll-project-case .ll-lw-dark .is-style-outline>.wp-block-button__link:hover,.ll-project-case.ll-lw-hero .is-style-outline>.wp-block-button__link:hover{background:var(--surface-dark-raised)}
.ll-project-case .ll-lw-dark a:focus-visible,.ll-project-case.ll-lw-hero a:focus-visible{outline-color:var(--focus-dark)}
/* Full-width page Hero, current site navigation and native breadcrumb. */
.ll-project-case.ll-lw-hero{position:relative;overflow:hidden;background:var(--surface-dark);color:var(--text-on-dark);padding-block:var(--space-10) var(--space-20)}
.ll-project-case.ll-lw-hero:before{content:"";position:absolute;right:-240px;top:-310px;width:800px;height:800px;border-radius:50%;border:1px solid color-mix(in srgb,var(--brand-accent) 15%,transparent);box-shadow:0 0 0 85px color-mix(in srgb,var(--brand-accent) 3%,transparent),0 0 0 170px color-mix(in srgb,var(--brand-accent) 2%,transparent);pointer-events:none}
.ll-project-case.ll-lw-hero .ll-lw-shell{position:relative}
.ll-project-case.ll-lw-hero .breadcrumbs{color:var(--text-secondary-on-dark);font-size:14px;margin:0 0 var(--space-12)}
.ll-project-case.ll-lw-hero .breadcrumbs a{display:inline-block;min-height:32px;padding-block:5px;text-decoration-color:color-mix(in srgb,currentColor 55%,transparent)}
.ll-project-case.ll-lw-hero .breadcrumbs [aria-current]{color:var(--text-on-dark)}
.ll-project-case.ll-lw-hero .ll-lw-eyebrow{color:var(--brand-accent)}
.ll-project-case.ll-lw-hero h1{margin:0 0 var(--space-6);overflow-wrap:anywhere}
.ll-project-case.ll-lw-hero h1 em{font-style:normal;color:var(--brand-accent)}
.ll-project-case.ll-lw-hero p{color:var(--text-secondary-on-dark)}
.ll-project-case.ll-lw-hero .ll-lw-hero-summary{font-size:17px;line-height:1.8;max-width:54ch}
.ll-project-case.ll-lw-hero .ll-lw-hero-summary strong{color:var(--text-on-dark)}
.ll-project-case .ll-lw-hero-notes{display:flex;gap:16px;flex-wrap:wrap;margin-top:var(--space-6)}
.ll-project-case .ll-lw-hero-notes p{font-size:11px;line-height:1.6;display:flex;gap:7px;align-items:center;margin:0}
.ll-project-case .ll-lw-hero-notes p:before{content:"";width:4px;height:4px;border-radius:50%;background:var(--brand-accent)}
.ll-project-case .ll-lw-project-image{margin:0;overflow:hidden;border-radius:var(--radius-lg);border:1px solid var(--border-on-dark);background:var(--surface-page);box-shadow:var(--shadow-dialog);transform:perspective(1100px) rotateY(-2deg) rotateX(1deg)}
.ll-project-case .ll-lw-project-image img{width:100%;height:auto;display:block;aspect-ratio:4/3;object-fit:contain;margin:0}
.ll-project-case .ll-lw-image-caption{font-size:12px;line-height:1.6;text-align:center;margin:var(--space-3) 0 0}
/* Proof ribbon and open editorial introduction. */
.ll-project-case.ll-lw-proof{background:var(--brand-tint);border-bottom:var(--border-subtle);padding-block:var(--space-6)}
.ll-project-case .ll-lw-proof-grid{display:grid;grid-template-columns:1.15fr repeat(4,1fr);align-items:center;gap:var(--space-4)}
.ll-project-case .ll-lw-proof-label{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.ll-project-case .ll-lw-proof-item{display:flex;align-items:center;gap:10px;border-left:var(--border-subtle);padding-left:var(--space-4);color:var(--brand-primary)}
.ll-project-case .ll-lw-proof-item p{font-size:12px;font-weight:600;color:var(--brand-primary)}
.ll-project-case .ll-lw-statement-copy{border-left:2px solid var(--brand-selected);padding-left:var(--space-8)}
.ll-project-case .ll-lw-statement-copy p{font-size:17px}
.ll-project-case .ll-lw-statement-copy strong{color:var(--text-primary)}
/* Native Groups as feature cards. */
.ll-project-case .ll-lw-feature-grid,.ll-project-case .ll-lw-use-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5)}
.ll-project-case .ll-lw-feature,.ll-project-case .ll-lw-use-card{background:var(--surface-card);border:var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-8);transition:translate var(--motion-standard),box-shadow var(--motion-standard),border-color var(--motion-standard)}
.ll-project-case .ll-lw-feature:hover,.ll-project-case .ll-lw-use-card:hover{translate:0 -3px;box-shadow:var(--shadow-raised);border-color:var(--brand-secondary)}
.ll-project-case .ll-lw-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6)}
.ll-project-case .ll-lw-icon{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:var(--radius-md);background:var(--brand-tint);color:var(--brand-primary)}
.ll-project-case .ll-lw-number{font-size:12px;font-weight:650;color:var(--text-secondary)}
.ll-project-case .ll-lw-feature h3,.ll-project-case .ll-lw-use-card h3{margin-bottom:var(--space-3)}
.ll-project-case .ll-lw-feature p:not(.ll-lw-number),.ll-project-case .ll-lw-use-card>p{font-size:15px;line-height:1.8}
/* Editable illustrative review workflow, not a product dashboard. */
.ll-project-case .ll-lw-story>.wp-block-column:first-child>p:not(.ll-lw-eyebrow){font-size:17px;margin-top:var(--space-6)}
.ll-project-case .ll-lw-story-bullets{display:grid;gap:var(--space-3);margin-top:var(--space-6)}
.ll-project-case .ll-lw-story-bullets p{font-size:14px;color:var(--brand-primary);font-weight:550;margin:0}
.ll-project-case .ll-lw-story-visual{position:relative;background:var(--brand-tint);border-radius:var(--radius-xl);padding:var(--space-8);overflow:hidden}
.ll-project-case .ll-lw-human-label{text-align:right;font-size:12px;font-weight:650;color:var(--brand-primary);margin-bottom:var(--space-4)}
.ll-project-case .ll-lw-workflow-card{background:var(--surface-card);border:var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-raised);padding:var(--space-6)}
.ll-project-case .ll-lw-workflow-head{display:flex;align-items:center;gap:var(--space-3);padding-bottom:var(--space-4);border-bottom:var(--border-subtle)}
.ll-project-case .ll-lw-workflow-name p{font-size:13px;line-height:1.5}
.ll-project-case .ll-lw-workflow-name p+p{font-size:11px;margin-top:4px}
.ll-project-case .ll-lw-task-row{display:flex;align-items:flex-start;gap:var(--space-3);padding-block:var(--space-4);border-bottom:var(--border-subtle)}
.ll-project-case .ll-lw-task-number{font-size:11px;font-weight:700;color:var(--brand-primary);background:var(--brand-tint);border-radius:var(--radius-sm);padding:6px;flex:none;margin:0}
.ll-project-case .ll-lw-task-copy{flex:1;min-width:0}
.ll-project-case .ll-lw-task-copy p{font-size:12px;line-height:1.5;color:var(--text-primary)}
.ll-project-case .ll-lw-task-copy p+p{font-size:11px;margin-top:4px;color:var(--text-secondary)}
.ll-project-case .ll-lw-task-state{font-size:11px;color:var(--brand-primary);font-weight:600;flex:none;padding-top:4px;margin:0}
.ll-project-case .ll-lw-workflow-foot{display:flex;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-4)}
.ll-project-case .ll-lw-workflow-foot p{font-size:11px;line-height:1.5;margin:0}
/* Dark process strip. */
.ll-project-case .ll-lw-process-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-3)}
.ll-project-case .ll-lw-process-item{padding:var(--space-6) var(--space-5);border:1px solid var(--border-on-dark);border-radius:var(--radius-lg);background:var(--surface-dark-raised)}
.ll-project-case .ll-lw-process-item .ll-lw-step{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-accent);font-weight:700;margin-bottom:var(--space-8)}
.ll-project-case .ll-lw-process-item h3{font-size:18px;margin-bottom:var(--space-3)}
.ll-project-case .ll-lw-process-item>p:last-child{font-size:14px;line-height:1.75}
/* Architecture: native Code block, internally scrollable. */
.ll-project-case .ll-lw-technical>.wp-block-column:first-child>p:not(.ll-lw-eyebrow){margin-top:var(--space-5)}
.ll-project-case .ll-lw-tech-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:var(--space-6)}
.ll-project-case .ll-lw-tech-tags p{border:var(--border-subtle);background:var(--brand-tint);color:var(--brand-primary);font-size:11px;font-weight:600;padding:6px 10px;border-radius:var(--radius-sm);margin:0}
.ll-project-case .ll-lw-code-frame{background:var(--surface-dark);color:var(--text-on-dark);border:1px solid var(--border-on-dark);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-raised)}
.ll-project-case .ll-lw-code-bar,.ll-project-case .ll-lw-code-bottom{background:var(--surface-dark-raised);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5)}
.ll-project-case .ll-lw-code-bar{border-bottom:1px solid var(--border-on-dark)}
.ll-project-case .ll-lw-code-bottom{border-top:1px solid var(--border-on-dark)}
.ll-project-case .ll-lw-code-frame p{font-size:11px;color:var(--text-secondary-on-dark);margin:0}
.ll-project-case .ll-lw-code-frame .wp-block-code{padding:var(--space-6);margin:0;border:none;border-radius:0;box-shadow:none;background:transparent;color:var(--brand-accent);font:12px/2 var(--font-mono);overflow:auto}
.ll-project-case .ll-lw-code-frame code{font:inherit;color:inherit;white-space:pre;background:transparent;padding:0}
.ll-project-case .ll-lw-use-label{display:flex;gap:var(--space-3);align-items:center;margin-bottom:var(--space-8)}
.ll-project-case .ll-lw-use-label .ll-lw-eyebrow{font-size:10px;margin:0}
.ll-project-case .ll-lw-use-label .ll-lw-eyebrow:before{display:none}
/* Engineering evidence, two audience panels and native Details. */
.ll-project-case .ll-lw-results{align-items:flex-start}
.ll-project-case .ll-lw-results>.wp-block-column:first-child>p:not(.ll-lw-eyebrow){font-size:17px;margin-top:var(--space-6)}
.ll-project-case .ll-lw-result-list{border-top:var(--border-subtle)}
.ll-project-case .ll-lw-result-item{display:grid;grid-template-columns:30px 1fr;gap:var(--space-4);padding-block:var(--space-6);border-bottom:var(--border-subtle)}
.ll-project-case .ll-lw-result-item h3{font-size:18px;margin-bottom:var(--space-2)}
.ll-project-case .ll-lw-result-item .ll-lw-result-copy p{font-size:15px}
.ll-project-case.ll-lw-tight{padding-top:0;padding-bottom:var(--space-20)}
.ll-project-case .ll-lw-audience{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5)}
.ll-project-case .ll-lw-audience-box{border:var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-8);background:var(--surface-card)}
.ll-project-case .ll-lw-audience-box:nth-child(2){background:var(--brand-tint)}
.ll-project-case .ll-lw-audience-box h3{font-size:24px;margin-bottom:var(--space-4)}
.ll-project-case .ll-lw-audience-box>p:not(.ll-lw-eyebrow){font-size:15px}
.ll-project-case .ll-lw-audience-points{display:grid;gap:var(--space-2);margin-top:var(--space-5)}
.ll-project-case .ll-lw-audience-points p{margin:0;color:var(--brand-primary);font-size:13px;font-weight:550}
.ll-project-case .ll-lw-faq{align-items:flex-start}
.ll-project-case .ll-lw-faq>.wp-block-column:first-child>p:last-child{margin-top:var(--space-5)}
.ll-project-case .ll-lw-faq-list{border-top:var(--border-subtle)}
.ll-project-case .wp-block-details{margin:0;border-bottom:var(--border-subtle)}
.ll-project-case summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:20px 0;list-style:none;cursor:pointer;font-size:15px;font-weight:650;line-height:1.6;color:var(--text-primary)}
.ll-project-case summary::-webkit-details-marker{display:none}
.ll-project-case summary:after{content:"+";display:grid;place-items:center;background:var(--brand-tint);color:var(--brand-primary);border-radius:50%;width:28px;height:28px;flex:none;font-size:20px;font-weight:400}
.ll-project-case details[open] summary:after{content:"−"}
.ll-project-case details>p{font-size:15px;line-height:1.85;padding:0 36px 24px 0;margin:0}
/* Page ending: actual contact route and external product URL. */
.ll-project-case.ll-lw-final-wrap{padding-top:0}
.ll-project-case .ll-lw-final{position:relative;overflow:hidden;padding:var(--space-16);border-radius:var(--radius-xl)}
.ll-project-case .ll-lw-final:before{content:"";position:absolute;right:-140px;bottom:-280px;width:600px;height:600px;border-radius:50%;border:1px solid color-mix(in srgb,var(--brand-accent) 20%,transparent);box-shadow:0 0 0 70px color-mix(in srgb,var(--brand-accent) 4%,transparent);pointer-events:none}
.ll-project-case .ll-lw-final-columns{position:relative;gap:var(--space-10)}
.ll-project-case .ll-lw-final-columns>.wp-block-column:first-child>p:last-child{font-size:16px;margin-top:var(--space-5)}
.ll-project-case .ll-lw-final .wp-block-buttons{display:flex;flex-direction:column;align-items:stretch;margin:0}
.ll-project-case .ll-lw-final .wp-block-button__link{width:100%;justify-content:space-between}
.ll-project-case .ll-lw-final .ll-lw-footnote{font-size:11px}
@media(max-width:1100px){.ll-project-case .wp-block-columns{gap:var(--space-8)}.ll-project-case .ll-lw-feature,.ll-project-case .ll-lw-use-card{padding:var(--space-6)}.ll-project-case .ll-lw-process-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ll-project-case .ll-lw-proof-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.ll-project-case .ll-lw-proof-label{grid-column:1/-1}.ll-project-case .ll-lw-proof-item{padding-left:0;border:0}.ll-project-case .ll-lw-final{padding:var(--space-10)}}
@media(max-width:900px){.ll-project-case .ll-lw-shell{width:calc(100% - 42px)}.ll-project-case.ll-lw-hero .ll-lw-hero-columns{flex-wrap:wrap!important;gap:var(--space-10)}.ll-project-case.ll-lw-hero .ll-lw-hero-columns>.wp-block-column{flex-basis:100%!important}.ll-project-case .ll-lw-project-image{max-width:670px;margin-inline:auto;transform:none}.ll-project-case .ll-lw-feature-grid,.ll-project-case .ll-lw-use-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ll-project-case .ll-lw-use-card:last-child{grid-column:1/-1}.ll-project-case .ll-lw-story-visual{padding:var(--space-5)}.ll-project-case .ll-lw-workflow-card{padding:var(--space-4)}.ll-project-case .ll-lw-final{padding:var(--space-8)}}
@media(max-width:781px){.ll-project-case .ll-lw-shell{width:calc(100% - 36px)}.ll-project-case.ll-lw-section{padding-block:var(--space-16)}.ll-project-case.ll-lw-hero{padding-block:var(--space-8) var(--space-12)}.ll-project-case .wp-block-columns{gap:var(--space-8)}.ll-project-case h1{font-size:clamp(2.5rem,7vw,3.5rem)}.ll-project-case h2{font-size:clamp(2rem,5vw,2.5rem)}.ll-project-case .ll-lw-statement-copy{border-left:none;border-top:2px solid var(--brand-selected);padding:var(--space-6) 0 0}.ll-project-case .ll-lw-section-title{margin-bottom:var(--space-8)}.ll-project-case .ll-lw-section-title>p:last-child:not(.ll-lw-eyebrow){font-size:16px}.ll-project-case .ll-lw-final .wp-block-buttons{align-items:flex-start}.ll-project-case .ll-lw-final .wp-block-button{width:100%;max-width:340px}.ll-project-case.ll-lw-tight{padding-top:0}.ll-project-case.ll-lw-final-wrap{padding-top:0}}
@media(max-width:600px){.ll-project-case .ll-lw-feature-grid,.ll-project-case .ll-lw-use-grid,.ll-project-case .ll-lw-audience,.ll-project-case .ll-lw-process-grid{grid-template-columns:1fr}.ll-project-case .ll-lw-use-card:last-child{grid-column:auto}.ll-project-case .ll-lw-proof-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5)}.ll-project-case .ll-lw-proof-item{align-items:flex-start}.ll-project-case .ll-lw-hero-summary{font-size:16px!important}.ll-project-case .ll-lw-hero-notes{gap:10px}.ll-project-case .ll-lw-statement-copy p{font-size:16px}.ll-project-case .ll-lw-process-item .ll-lw-step{margin-bottom:var(--space-5)}.ll-project-case .ll-lw-code-bar,.ll-project-case .ll-lw-code-bottom{flex-wrap:wrap}.ll-project-case .ll-lw-code-frame .wp-block-code{padding:var(--space-4);font-size:11px}.ll-project-case .ll-lw-story-visual{padding:var(--space-4)}.ll-project-case .ll-lw-task-row{gap:8px}.ll-project-case .ll-lw-task-state{font-size:10px}.ll-project-case .ll-lw-workflow-foot{flex-wrap:wrap}.ll-project-case .ll-lw-final{padding:var(--space-8) var(--space-6)}.ll-project-case .ll-lw-final .wp-block-button{max-width:none}.ll-project-case .ll-lw-audience-box{padding:var(--space-6)}}
@media(prefers-reduced-motion:reduce){.ll-project-case .ll-lw-feature,.ll-project-case .ll-lw-use-card,.ll-project-case .wp-block-button__link{transition:none}.ll-project-case .ll-lw-feature:hover,.ll-project-case .ll-lw-use-card:hover{translate:none}.ll-project-case .ll-lw-project-image{transform:none}}
