/* R4: continuous services, richer portfolio and clear answers. */
.ticker-track{gap:0;animation:services-flow 66s linear infinite;will-change:transform}
.ticker-group{display:flex;align-items:center;justify-content:space-around;flex-shrink:0;min-width:100vw;gap:42px;padding-right:42px}
.ticker-track .ticker-group>span{white-space:nowrap;flex-shrink:0;gap:42px;font-size:14px;letter-spacing:.035em}
.ticker-track .ticker-group>span:after{font-size:24px;opacity:.7}
@keyframes services-flow{to{transform:translateX(-50%)}}
.mirador-visual img{object-position:center 50%;filter:none}
.portfolio-hero .inner-grid{grid-template-columns:1fr;gap:48px}
.portfolio-hero .case-intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end}
.portfolio-hero h1{font-size:clamp(64px,7.3vw,112px);margin-bottom:0}
.portfolio-hero .lead{margin-top:0;max-width:570px}
.portfolio-hero .case-hero-visual{margin:0;position:relative;overflow:clip;background:var(--navy)}
.case-hero-visual img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;animation:portfolio-reveal 1.4s var(--ease) both}
.case-hero-visual figcaption{padding:17px 0 0;font-size:13px;line-height:1.6;color:var(--mist)}
.case-summary{display:flex;gap:45px;flex-wrap:wrap;padding:26px 0 0;border-top:1px solid #DCEAF333;color:var(--mist)}
.case-summary div{display:flex;flex-direction:column;gap:5px}.case-summary small{font-family:Manrope,Arial,sans-serif;font-size:10px;letter-spacing:.1em;text-transform:uppercase;opacity:.8}.case-summary span{font-size:17px}
.case-navigation{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin:0 0 34px;padding-bottom:25px;border-bottom:1px solid var(--line);font-size:15px}.case-navigation a{color:var(--blue)}
.portfolio-article .article-content section{padding-bottom:38px;margin-bottom:38px}.portfolio-article .article-content section:last-of-type{border-bottom:0}
.faq .faq-intro{max-width:420px;font-size:18px;color:var(--slate)}
.faq details summary{padding-right:35px}.faq details[open]{border-top-color:var(--blue)}
.faq details[open] summary{color:var(--blue)}.faq details[open] p{animation:answer-enter .4s ease both}
.faq details p{max-width:920px;line-height:1.65}
.faq-group-label{margin:35px 0 12px;font-family:Manrope,Arial,sans-serif;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--blue)}
.faq-end{margin-top:35px;font-size:18px}.faq-end a{color:var(--blue);text-decoration:underline;text-underline-offset:5px}
@keyframes portfolio-reveal{from{opacity:.25;clip-path:inset(10% 0 0 0);transform:scale(1.03)}to{opacity:1;clip-path:inset(0);transform:none}}
@keyframes answer-enter{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}
.motion-paused .case-hero-visual img,.motion-paused .faq details[open] p{animation:none}
@media(max-width:900px){.portfolio-hero .case-intro{gap:35px}.case-summary{gap:28px}.portfolio-hero h1{font-size:64px}}
@media(max-width:760px){.ticker-group{gap:28px;padding-right:28px}.ticker-track .ticker-group>span{font-size:12px;gap:28px}.portfolio-hero .case-intro{grid-template-columns:1fr;gap:28px}.portfolio-hero h1{font-size:54px}.portfolio-hero .inner-grid{gap:30px}.case-hero-visual img{aspect-ratio:4/3;object-fit:cover}.case-hero-visual figcaption{font-size:12px}.case-summary{gap:24px;padding-top:20px}.case-summary span{font-size:16px}.faq .faq-intro{font-size:17px}.faq details summary{font-size:18px}.faq details p{font-size:17px}.case-navigation{gap:18px;font-size:14px}}
@media print{.case-hero-visual img{animation:none}.portfolio-hero,.case-hero-visual{background:white;color:black}.case-hero-visual figcaption,.case-summary{color:black}}
.portfolio-hero .text-link{color:var(--mist);border-color:var(--mist)}
/* R5: project facts and access to the cooperative's public website. */
.case-intro-links{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.case-intro-links .text-link{max-width:100%;font-size:15px;line-height:1.5}
.case-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin:0}
.case-facts dt{font-size:10px;line-height:1.6;letter-spacing:.1em;text-transform:uppercase;opacity:.8}
.case-facts dd{margin:0;font-size:17px;line-height:1.5}
.portfolio-article .project-site-link{margin-top:16px;color:var(--blue);border-color:var(--blue);line-height:1.5;max-width:100%}
@media(max-width:900px){.case-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.case-facts{gap:24px 18px}.case-facts dd{font-size:15px}.case-intro-links .text-link{font-size:14px}}
