/* Shared project summaries, work discovery, and technology-audit tools. */
/* The video poster is assigned only after motion and data preferences are checked. */
[data-site-upgrades] .site-motion-loop { background-image: none !important; }
[data-site-upgrades] [hidden] { display: none !important; }
[data-site-upgrades] :is(.upgrade-shell,.project-summary-inner,.project-walkthrough-inner) { width: min(1180px, calc(100% - 3rem)); margin-inline: auto; }
[data-site-upgrades] :is(.upgrade-kicker,.project-summary dt) { font: 800 .72rem/1.5 system-ui,sans-serif; letter-spacing: .14em; text-transform: uppercase; }
[data-site-upgrades] .upgrade-kicker { color: #bce365; margin: 0 0 1rem; }
[data-site-upgrades] .upgrade-actions { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; margin-top: 1.5rem; align-items: center; }
[data-site-upgrades] .upgrade-link { display: inline-flex; align-items: center; min-height: 44px; padding-block: .5rem; color: inherit; font-weight: 750; text-decoration: underline; text-underline-offset: .3em; }
[data-site-upgrades] :is(a,button,input,select,summary):focus-visible { outline: 3px solid #9bca3b; outline-offset: 4px; }
[data-site-upgrades] .signal-bar { display: grid !important; grid-template-columns: repeat(4,minmax(0,1fr)); }
[data-site-upgrades] .signal-bar a { display: flex; align-items: center; justify-content: center; min-height: 60px; padding: 1rem; border-right: 1px solid #ffffff2e; color: #eee; font-size: .72rem; line-height: 1.5; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; text-align: center; text-decoration: none; }
[data-site-upgrades] .signal-bar a:last-child { border: 0; }
[data-site-upgrades] .signal-bar a:hover { background: #bce36518; color: #c9ee84; }
.project-summary { position: relative; padding: 3rem 0; background: #f4f2ed; color: #20262a; border-block: 1px solid #d7d9d0; }
.project-summary h2 { margin: 0 0 1.5rem; font: 750 clamp(1.6rem,3vw,2.4rem)/1.16 system-ui,sans-serif; letter-spacing: -.045em; }
.project-summary dl { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1.75rem; margin: 0; }
.project-summary dl>div { min-width: 0; border-top: 2px solid #99b45a; padding-top: 1rem; }
.project-summary dt { color: #4b5d32; margin-bottom: .65rem; }
.project-summary dd { margin: 0; font: 400 .98rem/1.65 system-ui,sans-serif; }
.project-tags { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; padding: 0; margin: 1.5rem 0 0; }
.project-tags li { padding: .35rem .7rem; border: 1px solid #cbd0c2; border-radius: 2rem; font: 650 .75rem/1.4 system-ui,sans-serif; }
.project-walkthrough { padding: clamp(3rem,6vw,5rem) 0; background: #e8eae4; color: #20262a; }
.project-walkthrough h2 { margin: 0 0 1rem; font-size: clamp(1.8rem,4vw,3rem); line-height: 1.1; letter-spacing: -.045em; }
.project-walkthrough-intro { max-width: 740px; margin-bottom: 1.75rem; line-height: 1.7; }
.project-step { background: #f9faf6; border: 1px solid #cbd0c2; margin: 0 0 .8rem; }
.project-step summary { display: list-item; cursor: pointer; padding: 1.1rem 1.4rem; min-height: 56px; font: 750 1rem/1.5 system-ui,sans-serif; overflow-wrap: anywhere; }
.project-step figure { margin: 0; padding: 0 1.4rem 1.4rem; }
.project-step img { display: block; width: 100%; max-height: 720px; object-fit: contain; background: #dee0db; height: auto; border: 1px solid #ced2c8; }
.project-step figcaption { position: static !important; display: block !important; margin-top: 1rem; padding: 0 !important; color: #37413a !important; background: none !important; font: 400 .92rem/1.6 system-ui,sans-serif; }
.project-step .upgrade-link { font-size: .88rem; }
.delivered-outcomes { padding: clamp(3rem,7vw,6rem) 0; color: #eef1ea; background: #17221e; }
.delivered-outcomes h2 { max-width: 850px; font-size: clamp(2rem,4vw,3.5rem); line-height: 1.1; letter-spacing: -.04em; margin: 0 0 2rem; }
.outcome-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.outcome-card { display: flex; flex-direction: column; padding: 1.5rem; background: #ffffff08; border: 1px solid #ffffff2b; min-width: 0; }
.outcome-card h3 { margin: .75rem 0; font-size: 1.45rem; line-height: 1.2; }
.outcome-card p { line-height: 1.65; color: #ced6cf; }
.outcome-client { font-size: .75rem; color: #bce365; font-weight: 800; }
.outcome-card .upgrade-link { margin-top: auto; align-self: flex-start; }
.work-directory { background: #f4f2ed; color: #222b29; padding: 3.5rem 0 5rem; }
.work-directory h2 { font-size: clamp(1.9rem,3.5vw,3rem); line-height: 1.1; letter-spacing: -.04em; margin: 0 0 1rem; }
.work-directory-intro { max-width: 740px; line-height: 1.7; margin-bottom: 2rem; }
[data-site-upgrades] .work-directory .upgrade-kicker { color: #506b2c; }
.work-filters { display: grid; grid-template-columns: 1.5fr repeat(3,minmax(0,1fr)); gap: .8rem; padding: 1.25rem; background: #e6e9df; border: 1px solid #c8d0bf; margin-bottom: 1.1rem; }
.work-filters label { display: grid; gap: .5rem; min-width: 0; font-size: .8rem; font-weight: 750; }
.work-filters input,.work-filters select { display: block; box-sizing: border-box; width: 100%; min-width: 0; min-height: 48px; border: 1px solid #aab69e; border-radius: 0; color: #18271e; background: #fff; padding: .7rem; font: 400 1rem/1.4 system-ui,sans-serif; }
.work-filter-meta { grid-column: 1/-1; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.work-filter-meta p { margin: 0; font-size: .9rem; }
.work-filter-meta button { min-height: 44px; padding: .5rem .9rem; border: 1px solid #79896c; background: transparent; font: 750 .85rem/1.4 system-ui,sans-serif; cursor: pointer; color: #263622; }
.work-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.work-project { display: flex; flex-direction: column; min-width: 0; padding: 1.5rem; border: 1px solid #c5cbbd; background: #fffefa; }
.work-project h3 { font-size: 1.4rem; line-height: 1.2; letter-spacing: -.025em; margin: .5rem 0 1rem; overflow-wrap: anywhere; }
.work-project h3 a { color: inherit; text-decoration: none; }
.work-project h3 a:hover { text-decoration: underline; text-underline-offset: .16em; }
.work-project .work-outcome { font-weight: 750; color: #365223; margin: 0 0 .8rem; line-height: 1.4; }
.work-project p { line-height: 1.65; margin: 0 0 1rem; }
.work-project .project-tags { margin: 0 0 1rem; }
.work-project .upgrade-link { margin-top: auto; align-self: flex-start; }
.work-empty { border: 1px solid #aab69e; padding: 2rem; }
.work-presentations { background: #1a212b; color: #eef2f7; padding: 3rem 0; }
.work-presentations h2 { font-size: clamp(1.8rem,3.5vw,2.8rem); margin: 0 0 1rem; line-height: 1.15; }
.work-presentations p { max-width: 720px; line-height: 1.7; }
.work-presentation-links { display: flex; flex-wrap: wrap; gap: 1rem 2rem; }
.audit-hero { background: #111c1a; color: #f4f5ef; padding: clamp(4rem,8vw,7rem) 0 4rem; }
.audit-hero-grid { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(0,.65fr); gap: clamp(2rem,6vw,5rem); align-items: end; }
.audit-hero h1 { margin: 0 0 1.5rem; max-width: 900px; font-size: clamp(2.6rem,6.5vw,5.5rem); line-height: 1.02; letter-spacing: -.065em; overflow-wrap: anywhere; }
.audit-hero .audit-lede { color: #cbd5ce; max-width: 740px; line-height: 1.75; font-size: 1.1rem; }
.audit-hero-note { padding: 1.5rem; border: 1px solid #72856a; background: #c2df6810; }
.audit-hero-note h2 { font-size: 1.15rem; line-height: 1.3; margin: 0 0 1rem; }
.audit-hero-note ul { padding-left: 1.2rem; margin: 0; }
.audit-hero-note li { padding: .5rem 0; line-height: 1.5; color: #d2dccc; }
.audit-section { padding: clamp(3rem,6vw,5.5rem) 0; background: #f4f2ed; color: #222c27; }
.audit-section--muted { background: #e5e9df; }
.audit-section .upgrade-kicker { color: #506b2c; }
.audit-section h2 { max-width: 880px; margin: 0 0 1.25rem; font-size: clamp(2rem,4vw,3.4rem); line-height: 1.12; letter-spacing: -.045em; }
.audit-section p { max-width: 800px; line-height: 1.75; }
.audit-scope { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; margin-top: 2rem; }
.audit-scope article { padding: 1.5rem; background: #ffffff78; border: 1px solid #bcc7b2; min-width: 0; }
.audit-scope h3 { margin: 0 0 .75rem; font-size: 1.3rem; line-height: 1.25; }
.audit-scope p { margin: 0; }
.audit-deliverables { counter-reset: audit-step; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.5rem; padding: 0; list-style: none; margin: 2rem 0 0; }
.audit-deliverables li { counter-increment: audit-step; padding-top: 1rem; border-top: 2px solid #6d8e37; min-width: 0; }
.audit-deliverables li::before { content: '0' counter(audit-step); font-size: .8rem; font-weight: 800; color: #506b2c; }
.audit-deliverables h3 { font-size: 1.2rem; line-height: 1.3; }
.audit-table-wrap { overflow-x: auto; margin: 2rem 0 1rem; }
.audit-table { width: 100%; border-collapse: collapse; font-size: .93rem; }
.audit-table caption { text-align: left; font-weight: 800; margin-bottom: 1rem; }
.audit-table :is(th,td) { text-align: left; vertical-align: top; padding: 1rem .8rem; border-bottom: 1px solid #b9c5ae; line-height: 1.6; }
.audit-table th { background: #d9dfd0; }
.audit-table td:last-child { white-space: nowrap; }
.audit-table tfoot { font-weight: 800; }
.audit-example-note { padding: 1rem 1.25rem; border-left: 3px solid #6a893c; background: #ffffff88; font-size: .92rem; }
.audit-calculator { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 2rem; margin-top: 2rem; }
.audit-calculator fieldset { border: 1px solid #aebda2; padding: 1.5rem; margin: 0; min-width: 0; }
.audit-calculator legend { font-weight: 800; padding: 0 .5rem; }
.audit-calculator label { display: grid; gap: .5rem; margin: 0 0 1.25rem; font-size: .9rem; font-weight: 750; }
.audit-calculator input { box-sizing: border-box; min-width: 0; width: 100%; min-height: 48px; padding: .7rem; color: #18271e; background: white; border: 1px solid #8d9e7e; font: 400 1.1rem/1.4 system-ui,sans-serif; }
.audit-calculator small { font-weight: 400; line-height: 1.5; }
.audit-calculator .audit-input-note { font-size: .85rem; margin: 0; }
.audit-results { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; margin: 0; padding: 1.5rem; background: #20352a; color: #edf5e2; align-content: start; align-self: start; }
.audit-results div { min-width: 0; border-top: 1px solid #9db58a; padding-top: .8rem; }
.audit-results dt { font-size: .78rem; line-height: 1.5; }
.audit-results dd { margin: .5rem 0 0; font-weight: 800; font-size: clamp(1.3rem,2.5vw,2rem); line-height: 1.3; overflow-wrap: anywhere; }
.audit-calc-error { color: #8b252b; font-weight: 750; }
.audit-formula { font-size: .88rem; }
.audit-next { background: #101c18; color: #eef5e7; padding: 4rem 0; }
.audit-next h2 { font-size: clamp(2rem,4vw,3rem); line-height: 1.12; max-width: 800px; margin: 0 0 1rem; }
.audit-next p { color: #d3ddcb; line-height: 1.75; max-width: 800px; }
.reply-expectation { font-size: .94rem; line-height: 1.65; padding: .9rem 1rem; border-left: 3px solid #8cae42; background: #a8ca5d12; }
.content-hero-copy .upgrade-link { color: #bce365; }
@media(max-width:1024px) {
 .project-summary dl { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .work-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .work-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .audit-hero-grid { grid-template-columns: 1fr; }
 .audit-hero-note { max-width: 650px; }
 [data-site-upgrades] .site-motion-loop { display: none !important; background: none !important; }
 [data-site-upgrades] :is([data-zyel-dot-field],.zyel-page-visual-layer,.zyel-page-visual-surface,.footer-signal-ticker) { display: none !important; }
 [data-site-upgrades] .hero-art { background-image: none !important; }
}
@media(max-width:700px) {
 [data-site-upgrades] :is(.upgrade-shell,.project-summary-inner,.project-walkthrough-inner) { width: calc(100% - 2rem); }
 [data-site-upgrades] .signal-bar { grid-template-columns: repeat(2,minmax(0,1fr)); width: calc(100% - 2rem); }
 [data-site-upgrades] .signal-bar a { font-size: .65rem; padding: .85rem .6rem; min-height: 56px; border-bottom: 1px solid #ffffff2e; }
 [data-site-upgrades] .signal-bar a:nth-child(2) { border-right: 0; }
 .project-summary dl,.work-grid,.outcome-grid,.audit-scope,.audit-deliverables,.audit-calculator { grid-template-columns: minmax(0,1fr); }
 .project-summary dl { gap: 1.25rem; }
 .project-step summary { padding: 1rem; }
 .project-step figure { padding: 0 1rem 1rem; }
 .work-project,.outcome-card { padding: 1.25rem; }
 .work-filters { grid-template-columns: minmax(0,1fr); padding: 1rem; }
 .work-filter-meta { flex-wrap: wrap; }
 .audit-table { min-width: 570px; }
 .audit-calculator fieldset,.audit-results { padding: 1rem; }
 .audit-hero h1 { font-size: clamp(2.6rem,10vw,4.4rem); }
}
@media(prefers-reduced-motion:reduce) {
 [data-site-upgrades] .site-motion-loop { display: none !important; background: none !important; }
 [data-site-upgrades] :is([data-zyel-dot-field],.zyel-page-visual-layer,.zyel-page-visual-surface,.footer-signal-ticker) { display: none !important; }
 [data-site-upgrades] .hero-art { background-image: none !important; }
}
.zyel-lite [data-site-upgrades] .site-motion-loop { display: none !important; background: none !important; }
.zyel-lite [data-site-upgrades] :is([data-zyel-dot-field],.zyel-page-visual-layer,.zyel-page-visual-surface,.footer-signal-ticker) { display: none !important; }
.zyel-lite [data-site-upgrades] .hero-art { background-image: none !important; }
