/* Scoped public portfolio styling. Hero imagery stays managed by App Settings. */
.projects-portfolio{--portfolio-ink:#143342;--portfolio-teal:#146772;--portfolio-gold:#bb8a46;background:radial-gradient(ellipse at 95% 0, #e1efeb 0,transparent 45%),#f3f6f5;color:var(--portfolio-ink)}
.portfolio-intro{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin:0 0 2.5rem;padding-top:.5rem}
.portfolio-eyebrow{display:block;color:#876126;font-size:.75rem;font-weight:750;letter-spacing:.18em;margin-bottom:1rem}
.portfolio-intro h2{font-size:clamp(2rem,4vw,3.5rem);letter-spacing:-.045em;line-height:1.12;margin-bottom:1rem;max-width:650px}
.portfolio-intro p{color:#536b73;max-width:520px;margin:0;font-size:1.05rem}
.portfolio-jump{display:inline-flex;align-items:center;gap:1rem;white-space:nowrap;color:var(--portfolio-teal);font-weight:650;text-decoration:none;padding:.75rem 0;border-bottom:1px solid #bb8a46}
.projects-portfolio .toolbar{padding:clamp(1.25rem,3vw,2rem);border:1px solid #d7e4e1;border-radius:20px;background:#ffffffed;box-shadow:0 12px 36px #14334208}
.projects-portfolio .filter-card{margin:0}.projects-portfolio .form-control,.projects-portfolio .form-select{font-size:.95rem}
.projects-portfolio .form-control:focus,.projects-portfolio .form-select:focus{border-color:#146772;box-shadow:0 0 0 3px #14677222}
.projects-portfolio .project-link{display:block;height:100%;border-radius:20px;outline-offset:5px}
.projects-portfolio .project-link:focus-visible,.portfolio-jump:focus-visible{outline:3px solid #146772}
.projects-portfolio .project-card{border-radius:20px;overflow:hidden;box-shadow:0 4px 18px #1433420c!important;transition:transform .35s ease,box-shadow .35s ease;height:100%}
.projects-portfolio .project-cover{background:#e7eeec;isolation:isolate}
.projects-portfolio .project-cover img{transition:transform .65s cubic-bezier(.2,.7,.2,1);will-change:auto}
.projects-portfolio .project-cover:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#102f4022,transparent 45%,#102f4026);z-index:1}
.projects-portfolio .cover-badges{z-index:2;bottom:auto!important;height:auto!important;display:flex;flex-wrap:wrap;gap:.4rem;pointer-events:none}
.projects-portfolio .cover-badges .badge{font-size:.72rem;letter-spacing:.03em;padding:.6rem .8rem;border:1px solid #ffffff88;box-shadow:0 2px 10px #102f4014;background:#fff;color:#314d58}
.projects-portfolio .badge-soft-success{background:#e4f5e9!important;color:#215736!important}.projects-portfolio .badge-soft-info{background:#e0f1f5!important;color:#175569!important}.projects-portfolio .badge-soft-warning{background:#fff3d9!important;color:#775215!important}.projects-portfolio .badge-soft-danger{background:#fce8e8!important;color:#8b3131!important}
.projects-portfolio .project-title{font-size:1.17rem;line-height:1.45;letter-spacing:-.02em;overflow-wrap:anywhere}
.projects-portfolio .meta{line-height:1.65}.projects-portfolio .meta i{color:var(--portfolio-teal)}
.projects-portfolio .card-body{flex:1}.projects-portfolio .btn-view{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid #e6eeec;padding-top:1rem;color:var(--portfolio-teal);font-weight:650;font-size:.9rem}
.project-arrow{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#eaf3f0;transition:background .25s,color .25s,transform .3s}
.projects-portfolio .project-cover-art{background:radial-gradient(circle at 75% 30%,#376d7044,transparent 55%),repeating-radial-gradient(ellipse at 10% 120%,transparent 0 22px,#c4dcd42a 23px 24px),linear-gradient(125deg,#133440,#216665);color:#f3f2e9;padding-top:2rem}
.projects-portfolio .fallback-icon{font-size:2.2rem;color:#e2c38e}
.projects-portfolio .empty-state{background:#fff;border:1px solid #d7e4e1;border-radius:20px;padding:3rem;text-align:center}.projects-portfolio .empty-icon{color:#146772;font-size:2rem}
.project-detail .card{border-radius:20px;box-shadow:0 6px 28px #1433420b!important}.project-detail .card-body{padding:clamp(1.25rem,3vw,2rem)}
.project-detail [data-fancybox]{outline-offset:3px;transition:box-shadow .3s,transform .3s}.project-detail [data-fancybox] img{transition:transform .5s}
#project-results{scroll-margin-top:110px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.projects-portfolio .project-link:hover .project-card,.projects-portfolio .project-link:focus-visible .project-card{transform:translateY(-7px);box-shadow:0 20px 40px #14334219!important}.projects-portfolio .project-link:hover img{transform:scale(1.045)}.projects-portfolio .project-link:hover .project-arrow{background:#146772;color:white;transform:rotate(45deg)}.project-detail [data-fancybox]:hover img{transform:scale(1.07)}}
@keyframes project-arrive{from{opacity:.15;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){.project-arriving{animation:project-arrive .65s cubic-bezier(.2,.7,.2,1) both}}
@media(max-width:575.98px){.portfolio-intro{align-items:start;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.portfolio-intro h2{font-size:2.15rem}.projects-portfolio .toolbar{border-radius:16px}.project-detail .display-5{font-size:2rem;overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){.projects-portfolio *,.project-detail *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
