/* Project-specific editorial system. Hero and spatial reel are intentionally untouched. */
.portfolio-home .case-collection{padding-top:112px;padding-bottom:120px;--case-line:#e9e2f212;--case-muted:#a59eae}
.case-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:64px}
.case-section-heading h2{font-size:var(--type-step-36-56);font-weight:450;line-height:1.08;letter-spacing:-.055em}
.case-section-heading>span{font-size:0.75rem;color:#81788e;letter-spacing:.04em;font-variant-numeric:tabular-nums}
.case-feature-link,.case-row-link{display:block;color:inherit;text-decoration:none;outline-offset:12px}
.case-feature-intro{display:grid;grid-template-columns:1fr 360px;gap:56px;align-items:end;margin-bottom:32px}
.case-collection .case-kicker{display:flex;align-items:center;gap:16px;font-size:0.75rem;line-height:1.6;letter-spacing:.01em;color:var(--case-muted);margin:0 0 18px}
.case-kicker>span{color:#746b80;font-variant-numeric:tabular-nums}
.case-feature-intro h3{font-size:var(--type-step-32-48);font-weight:450;letter-spacing:-.045em;line-height:1.12}
.case-feature-summary>p,.case-description{font-size:1rem;line-height:1.65;letter-spacing:-.015em;color:var(--case-muted);margin:0}
.case-cta{display:inline-block;font-size:0.75rem;line-height:1.5;color:#c9c0d6;margin-top:20px;padding-bottom:3px;border-bottom:1px solid #c4afd63b;transition:color 220ms,border-color 220ms}
.case-art{position:relative;isolation:isolate;border:1px solid #ffffff12;border-radius:12px;overflow:hidden;background:#201b26;transform:translateY(var(--case-lift,0px)) scale(var(--case-scale,1));transform-origin:center;transition:border-color 250ms,box-shadow 350ms}
.case-art>img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;transform:none}
.case-art-feature{border-radius:16px;background:#211d19}.case-art-feature>img{aspect-ratio:2/1}
.case-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding:32px 0 0;margin:0}
.case-results>div{display:flex;flex-direction:column-reverse;padding-left:28px;border-left:1px solid var(--case-line)}
.case-results>div:first-child{padding-left:0;border-left:0}
.case-results dd{font-size:var(--type-step-36-60);font-weight:450;line-height:1.1;letter-spacing:-.065em;color:#ede8f3;margin:0 0 10px;font-variant-numeric:tabular-nums}
.case-results dd>span{font-size:var(--type-label);margin-left:2px;letter-spacing:-.04em;color:#aaa0b8}
.case-results dt{font-size:0.75rem;line-height:1.5;letter-spacing:0;color:var(--case-muted)}
.case-collection>.case-index{font-size:inherit;line-height:inherit;color:inherit;margin-top:112px;scroll-margin-top:120px}
.case-list-heading{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:40px;padding-top:36px;border-top:1px solid var(--case-line)}
.case-list-heading h2{font-size:1.75rem;line-height:1.2;letter-spacing:-.04em;font-weight:450}
.case-list-heading>span{font-size:0.75rem;line-height:1.5;color:#81788e}
.case-row+.case-row{margin-top:56px;padding-top:56px;border-top:1px solid var(--case-line)}
.case-row-link{display:grid;grid-template-columns:minmax(210px,.75fr) minmax(0,1.65fr);gap:64px;align-items:center}
.case-row-copy{padding-block:16px}
.case-row-copy h3{font-size:var(--type-step-28-40);line-height:1.14;letter-spacing:-.045em;font-weight:450;margin:0 0 18px;transition:color 220ms}
.case-description{max-width:28ch}.case-row-copy .case-cta{margin-top:28px}
.case-feature-link:hover .case-cta,.case-row-link:hover .case-cta{color:#ddc7f6;border-color:#b69af5}
.case-feature-link:hover .case-art,.case-row-link:hover .case-art{border-color:#d5c1ec36;box-shadow:0 18px 40px -24px #0009}
.case-row-link:hover h3{color:#cdb6ef}
@media(max-width:1000px){.case-feature-intro{grid-template-columns:1fr 300px;gap:32px}.case-row-link{grid-template-columns:minmax(190px,.8fr) minmax(0,1.4fr);gap:36px}.case-results{gap:24px}.case-results>div{padding-left:24px}.case-list-heading>span{display:none}}
@media(max-width:700px){
 .portfolio-home .case-collection{padding-top:64px;padding-bottom:72px}.case-section-heading{margin-bottom:40px}.case-section-heading h2{font-size:2.25rem}
 .case-feature-intro{grid-template-columns:1fr;gap:18px;margin-bottom:24px}.case-feature-intro h3{font-size:2.25rem}.case-feature-summary{max-width:38ch}.case-feature-summary>p{font-size:0.875rem}.case-feature-summary .case-cta{margin-top:14px}.case-collection .case-kicker{font-size:0.75rem;margin-bottom:12px}
 .case-art,.case-art-feature{border-radius:10px}.case-results{gap:12px;padding-top:24px}.case-results>div{padding-left:12px}.case-results dd{font-size:var(--type-step-28-44);margin-bottom:8px}.case-results dt{font-size:0.75rem;line-height:1.5;max-width:12ch}
 .case-collection>.case-index{margin-top:72px}.case-list-heading{padding-top:28px;margin-bottom:32px}.case-list-heading h2{font-size:1.75rem}
 .case-row-link{display:flex;flex-direction:column;gap:22px;align-items:stretch}.case-row-copy{padding:0}.case-row-copy h3{font-size:2rem;margin-bottom:12px}.case-description{font-size:0.875rem;max-width:36ch}.case-row-copy .case-cta{margin-top:16px}.case-row+.case-row{margin-top:40px;padding-top:32px}
}
@media(prefers-reduced-motion:reduce){.case-collection .case-art{transform:none;transition:none}html.motion .case-motion-ready [data-case-reveal] .case-row-copy,html.motion .case-motion-ready [data-case-reveal] .case-feature-intro,html.motion .case-motion-ready [data-case-reveal] .case-results{opacity:1;transform:none;transition:none}}
html.no-motion .case-art{transform:none}

/* All four projects share the same rank and layout. */
.portfolio-home .case-collection>.case-index{margin-top:0}
.case-impact{font-size:0.75rem;line-height:1.7;color:#c3afd9;margin:16px 0 0}
.case-freeman-art{background:#eae7df}

/* Shared camera easing: the reel gives way to quiet, readable project surfaces. */
.case-art{transform:translate3d(var(--case-x,0px),calc(var(--case-lift,0px) + var(--case-y,0px)),0) scale(var(--case-scale,1));transition:border-color 700ms ease,box-shadow 900ms cubic-bezier(.16,1,.3,1)}
.case-art::after{content:"";position:absolute;inset:-30%;pointer-events:none;background:radial-gradient(ellipse at center,#fff7 0%,#ffffff16 28%,transparent 62%);opacity:var(--case-light,0);transform:translate3d(var(--case-glow-x,0px),var(--case-glow-y,0px),0);mix-blend-mode:soft-light}
.case-row-link:hover .case-art{box-shadow:0 24px 60px -32px #0009;border-color:#d5c1ec40}
.case-row-link:focus-visible{outline:2px solid #c5adf4;border-radius:12px}
.case-row-copy h3{transition:color 650ms ease}
.case-cta{position:relative;border-bottom-color:transparent;transition:color 500ms ease}
.case-cta::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;opacity:.45;transform:scaleX(.3);transform-origin:left;transition:transform 800ms cubic-bezier(.16,1,.3,1),opacity 600ms}
.case-row-link:is(:hover,:focus-visible) .case-cta::after{transform:scaleX(1);opacity:.85}
html.motion .case-motion-ready .case-row-copy>*,html.motion .case-motion-ready .case-section-heading{opacity:0;transform:translate3d(0,22px,0);transition:opacity 1000ms ease,transform 1200ms cubic-bezier(.16,1,.3,1)}
html.motion .case-motion-ready .case-entered .case-row-copy>*,html.motion .case-motion-ready .case-section-heading.case-entered{opacity:1;transform:none}
.case-row-copy>:nth-child(2){transition-delay:60ms!important}.case-row-copy>:nth-child(3){transition-delay:120ms!important}.case-row-copy>:nth-child(4){transition-delay:170ms!important}.case-row-copy>:nth-child(5){transition-delay:210ms!important}
html.no-motion .case-art::after{display:none}
@media(prefers-reduced-motion:reduce){html.motion .case-motion-ready .case-row-copy>*,html.motion .case-motion-ready .case-section-heading{opacity:1;transform:none;transition:none}.case-art::after{display:none}.case-cta::after{transition:none}}

/* Project interaction colors follow each brand, scoped to homepage cards. */
.portfolio-home .case-row-link[data-brand="freeman"]{--project-accent:#ffac57;--project-rgb:255,172,87}
.portfolio-home .case-row-link[data-brand="fbn"]{--project-accent:#8bd6a6;--project-rgb:139,214,166}
.portfolio-home .case-row-link[data-brand="aitou"]{--project-accent:#8bbcff;--project-rgb:139,188,255}
.portfolio-home .case-row-link[data-brand="next"]{--project-accent:#ffd45c;--project-rgb:255,212,92}
.portfolio-home .case-row-link[data-brand]:is(:hover,:focus-visible) h3,
.portfolio-home .case-row-link[data-brand]:is(:hover,:focus-visible) .case-cta,
.portfolio-home .case-row-link[data-brand]:is(:hover,:focus-visible) .case-impact{color:var(--project-accent)}
.portfolio-home .case-row-link[data-brand]:is(:hover,:focus-visible) .case-cta{border-bottom-color:transparent}
.portfolio-home .case-row-link[data-brand]:is(:hover,:focus-visible) .case-art{border-color:rgba(var(--project-rgb),.35)}
.portfolio-home .case-row-link[data-brand]:focus-visible{outline-color:var(--project-accent)}
.portfolio-home .case-row-link[data-brand] .case-impact{transition:color 500ms ease}
