/* Project stories stay in the page and inherit the site palette. */
.inline-project,.momentum-project{scroll-margin-top:24px}
.inline-project:focus{outline:none}
.inline-project:focus-visible{outline:2px solid var(--accent);outline-offset:10px}
.project-detail-body{margin-top:36px}
.project-context{font-size:16px;line-height:1.8;color:var(--muted);max-width:660px;margin-bottom:32px}
.project-scope-label{color:var(--muted);font-size:11px;margin-bottom:16px;letter-spacing:.12em}
.project-scope{border-top:1px solid var(--line)}
.project-scope>section{display:grid;grid-template-columns:32px 1fr;gap:15px;padding:24px 0;border-bottom:1px solid var(--line)}
.scope-index{font-size:11px;color:var(--accent);padding-top:5px;letter-spacing:.08em}
.project-scope h4{font-size:20px;font-weight:550;line-height:1.4;letter-spacing:-.025em;margin-bottom:8px}
.project-scope p{font-size:15px;line-height:1.8;color:var(--muted);max-width:630px}
.project-next{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px 30px;padding:28px 0 0}
.project-next .text-link{color:var(--accent);font-size:14px;min-height:44px;text-align:left}
.project-next .text-link span{margin-left:10px}
.project-client-site{font-size:12px;color:var(--muted);min-height:44px;display:inline-flex;align-items:center;gap:8px;text-decoration:underline;text-underline-offset:5px}
.project-client-site:hover{color:var(--ink)}
.signal .signal-project-tabs button:hover{color:var(--ink);background:#63f4cc06}
.signal .project-feature-copy .eyebrow{font-size:11px;letter-spacing:.08em}
.client-names .client-project-link{text-decoration-thickness:1px}
.client-names .client-project-link>span{font-size:15px;font-weight:400}
.perspective .project-detail-body{margin-left:calc(36% + 4vw);margin-top:24px}
.perspective .scope-index,.perspective .project-next .text-link{color:#234cda}
.momentum-project{border-top:1px solid #354232}
.momentum-project:last-child{border-bottom:1px solid #354232}
.momentum-project .project-row{border:0;cursor:pointer;list-style:none}
.momentum-project .project-row::-webkit-details-marker{display:none}
.momentum-project[open] .project-row{color:#d0fa4a}
.momentum-project[open] .project-open>span{font-size:0}
.momentum-project[open] .project-open>span:after{content:'−';font-size:18px}
.momentum-project .project-row:focus-visible{outline:2px solid #d0fa4a;outline-offset:5px}
.momentum-project-body{padding:0 0 36px;max-width:850px;margin-left:auto}
.momentum-project-body .project-detail-body{margin-top:0}
.momentum-project-body .scope-index,.momentum-project-body .text-link{color:#d0fa4a}
.momentum-project-body .project-scope{border-color:#354232}
.momentum-project-body .project-scope>section{border-color:#354232}
@media(min-width:751px){.signal .signal-project-tabs{top:85px}.signal .signal-project-layout{gap:6vw}}
@media(max-width:750px){.inline-project,.momentum-project{scroll-margin-top:76px}.signal-project-tabs{position:static}.project-detail-body{margin-top:28px}.project-scope>section{padding:22px 0;gap:9px;grid-template-columns:26px 1fr}.project-scope h4{font-size:20px}.project-scope p{font-size:15px}.project-next{gap:8px;align-items:flex-start;flex-direction:column;padding-top:20px}.perspective .project-detail-body{margin-left:0}.momentum-project-body{padding-bottom:30px}}
@media(prefers-reduced-motion:reduce){.inline-project *{animation:none!important}}

/* Use the selected project's space for its story rather than decorative artwork. */
.signal .project-content-panel{border-top:1px solid var(--line);padding-top:24px}
.signal .project-content-panel .project-feature-copy{padding-top:0;animation:none}
.signal .project-content-panel .project-feature-copy .eyebrow{font-size:12px;margin:0 0 20px}
.signal .project-content-panel .project-feature-copy h3{font-size:clamp(32px,3.1vw,52px);line-height:1.13;max-width:24ch;margin:0 0 22px}
.signal .project-content-panel .project-feature-copy>p:not(.eyebrow){font-size:17px;line-height:1.75;max-width:850px}
.signal .project-content-panel .project-detail-body{margin-top:32px}
.signal .project-content-panel .project-scope-label{margin-bottom:14px}
.signal .project-content-panel .project-next{border-top:0}
@media(min-width:1100px){.signal .signal-project-layout{grid-template-columns:.55fr 1.45fr;gap:6vw}.signal .project-content-panel .project-scope{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:42px}.signal .project-content-panel .project-scope>section{grid-template-columns:28px 1fr;gap:12px;padding:26px 0}.signal .project-content-panel .project-scope h4{font-size:22px}.signal .project-content-panel .project-next{padding-top:26px}}
@media(max-width:750px){.signal .project-content-panel{padding-top:24px}.signal .project-content-panel .project-feature-copy h3{font-size:34px}.signal .project-content-panel .project-feature-copy>p:not(.eyebrow){font-size:16px}.signal .project-content-panel .project-detail-body{margin-top:28px}}

/* The original orbital panel now frames the project story itself. */
.signal .project-content-panel{position:relative;isolation:isolate;overflow:hidden;border:1px solid #365057;background:#07181c;padding:clamp(28px,3vw,48px)}
.project-panel-art{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1;opacity:.24;mask-image:linear-gradient(130deg,transparent 15%,#000 100%)}
.project-panel-art .project-orbits{inset:-15% -25% -15% 5%;transform:rotate(-28deg) translate(20%,12%)}
.signal .project-content-panel .project-scope{border-color:#365057a0}
.signal .project-content-panel .project-scope>section{border-color:#365057a0}
.signal .project-content-panel .project-feature-copy>p:not(.eyebrow),.signal .project-content-panel .project-scope p{color:#b2c6c8}
@media(max-width:750px){.signal .project-content-panel{padding:25px 22px}.signal .project-content-panel .project-feature-copy h3{font-size:clamp(27px,7vw,34px)}.signal .project-content-panel .project-feature-copy .eyebrow{font-size:11px;line-height:1.7}.signal .project-content-panel .project-scope>section{grid-template-columns:21px 1fr;gap:7px}.project-panel-art{opacity:.15}}

/* Each project has its own abstract landscape; the content remains the foreground. */
.signal .project-panel-art{opacity:.72;mask-image:linear-gradient(115deg,#0002,#0008 45%,#000 100%)}
.project-panel-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#07181c80,transparent 75%);pointer-events:none}
.project-background{width:100%;height:100%;display:block;color:#63f4cc;stroke:currentColor;stroke-width:1.15;stroke-opacity:.3;overflow:visible}
.project-background .bg-fine{opacity:.4}
.project-background .bg-node{fill:currentColor;stroke:none;animation:project-node-glow 7s ease-in-out infinite;animation-delay:var(--delay,0s)}
.project-background .bg-flow{stroke-opacity:.7;stroke-dasharray:9 75;animation:project-flow 20s linear infinite}
.project-background .bg-drift{animation:project-landscape-drift 24s ease-in-out infinite alternate}
.project-background .bg-pulse{stroke-opacity:.6;transform-box:fill-box;transform-origin:center;animation:project-signal-pulse 8s ease-out infinite}
.project-background .bg-bars path{stroke-width:11;stroke-opacity:.16;transform-box:fill-box;transform-origin:bottom;animation:project-market-bars 16s ease-in-out infinite alternate}
.project-background .bg-bars path:nth-child(3n){animation-delay:-6s}
.project-background .bg-frames{stroke-opacity:.45}
.signal.motion-paused .project-panel-art *{animation-play-state:paused!important}
@keyframes project-node-glow{0%,100%{opacity:.25}50%{opacity:.85}}
@keyframes project-flow{to{stroke-dashoffset:-252}}
@keyframes project-landscape-drift{from{transform:translate(-6px,5px)}to{transform:translate(8px,-7px)}}
@keyframes project-signal-pulse{from{opacity:.6;scale:.8}to{opacity:0;scale:2.8}}
@keyframes project-market-bars{from{scale:1 .87}to{scale:1 1}}
@media(max-width:750px){.signal .project-panel-art{opacity:.5;mask-image:linear-gradient(115deg,#0002,#000 100%)}.project-background{stroke-width:1.4}}
@media(prefers-reduced-motion:reduce){.project-panel-art *{animation:none!important}}

/* Full-width project directory with a section-scale heading. */
.trusted.project-directory{display:block;padding-top:clamp(36px,4vw,60px);padding-bottom:clamp(32px,4vw,52px)}
.project-directory-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:28px}
.project-directory-heading h2{font-size:clamp(34px,3.5vw,50px);line-height:1.15;letter-spacing:-.05em}
.project-directory-heading p{display:flex;align-items:center;gap:18px;font-size:clamp(18px,1.65vw,24px);line-height:1.4;letter-spacing:-.025em;color:var(--muted)}
.project-directory-heading p span{color:var(--accent)}
.trusted.project-directory .client-names{max-width:none;width:100%;display:flex;flex-wrap:nowrap;justify-content:space-between;gap:clamp(20px,2.2vw,36px);overflow-x:auto;padding:5px 5px 14px;margin:0 -5px;scrollbar-width:thin;scrollbar-color:var(--muted) transparent;font-size:clamp(17px,1.7vw,26px);font-weight:650;letter-spacing:-.04em}
.project-directory .client-names .client-project-link{flex:0 0 auto;white-space:nowrap;gap:8px}
@media(max-width:650px){.project-directory-heading{align-items:flex-start;flex-direction:column;gap:10px;margin-bottom:24px}.project-directory-heading p{font-size:20px}.trusted.project-directory .client-names{gap:28px;font-size:22px;scroll-snap-type:x proximity}.project-directory .client-project-link{scroll-snap-align:start}}
