/* Ample Project Showcase — isolated styles */
.ample-project-showcase{--ample-teal:#07685f;--ample-ink:#142e2b;--ample-muted:#6d8280;--ample-line:#dcece8;--ample-soft:#e0f5ef;color:var(--ample-ink);font-family:inherit;width:100%;margin:0 auto}
.ample-project-showcase *{box-sizing:border-box}
.ample-project-header{text-align:center;max-width:760px;margin:0 auto 32px}
.ample-project-kicker{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--ample-line);background:#fff;border-radius:999px;padding:6px 12px;color:var(--ample-teal);font-size:10px;font-weight:800;letter-spacing:1.1px;text-transform:uppercase;margin-bottom:15px}
.ample-project-kicker i{width:8px;height:8px;background:#f6c45b;border-radius:50%;box-shadow:0 0 0 4px #fff5d9}
.ample-project-header h2{color:var(--ample-ink);font-size:clamp(29px,4vw,42px);line-height:1.12;letter-spacing:-1.5px;font-weight:800;margin:0 auto 15px;max-width:650px}
.ample-project-header h2 strong,.ample-project-header h2 em{color:var(--ample-teal)}
.ample-project-header p{font-size:14px;line-height:1.8;color:var(--ample-muted);max-width:650px;margin:0 auto}
.ample-project-filters{display:flex;justify-content:center;align-items:center;gap:7px;flex-wrap:wrap;margin:0 auto 24px}
.ample-project-filters button{appearance:none;border:1px solid var(--ample-line);background:#fff;color:#526b68;border-radius:999px;padding:8px 15px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.ample-project-filters button:hover,.ample-project-filters button:focus-visible{border-color:var(--ample-teal);outline:none}
.ample-project-filters button.is-active{background:var(--ample-teal);border-color:var(--ample-teal);color:#fff}
.ample-project-grid{display:grid;grid-template-columns:repeat(var(--ample-columns,2),minmax(0,1fr));gap:20px}
.ample-project-card{min-width:0;overflow:hidden;background:#fff;border:1px solid #e1eeeb;border-radius:19px;box-shadow:0 7px 24px rgba(20,74,66,.035);display:flex;flex-direction:column;transition:transform .22s ease,box-shadow .22s ease}
.ample-project-card:hover{transform:translateY(-3px);box-shadow:0 14px 35px rgba(20,74,66,.09)}
.ample-project-card[hidden]{display:none!important}
.ample-project-visual{position:relative;aspect-ratio:var(--ample-image-ratio,16/9);background:linear-gradient(145deg,#d8f3eb,#a7c7bf);display:flex;align-items:center;justify-content:center;overflow:hidden;padding:clamp(12px,2vw,24px)}
.ample-project-image{display:block;width:100%;height:100%;object-fit:contain;object-position:center;border-radius:5px;filter:drop-shadow(0 7px 8px rgba(12,42,38,.16))}
.ample-project-placeholder{font-weight:800;font-size:22px;text-align:center;color:#fff;text-shadow:0 2px 12px #164b43}
.ample-project-badge{position:absolute;left:13px;top:13px;max-width:calc(100% - 26px);background:rgba(255,255,255,.97);color:var(--ample-teal);border-radius:999px;padding:6px 10px;font-size:9px;line-height:1.25;letter-spacing:.55px;font-weight:800;text-transform:uppercase;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.ample-project-content{padding:20px;display:flex;align-items:flex-start;flex-direction:column;flex:1}
.ample-project-eyebrow{color:var(--ample-teal);font-size:9px;line-height:1.4;font-weight:800;letter-spacing:1px;text-transform:uppercase;margin-bottom:8px}
.ample-project-content h3{font-size:19px;line-height:1.3;letter-spacing:-.45px;color:var(--ample-ink);font-weight:800;margin:0 0 8px}
.ample-project-description{font-size:12px;line-height:1.8;color:var(--ample-muted);margin:0 0 12px}
.ample-project-tags{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0 0 15px;padding:0}
.ample-project-tags li{border:1px solid #e0eeea;border-radius:5px;padding:4px 7px;color:#56716d;font-size:9px;line-height:1.2;font-weight:700}
.ample-project-link{display:inline-flex;align-items:center;gap:10px;margin-top:auto;color:var(--ample-teal);font-size:11px;font-weight:800;text-decoration:none}
.ample-project-link span,.ample-project-cta a span{font-size:17px;transition:transform .2s}
.ample-project-link:hover,.ample-project-link:focus-visible{color:#034a43;text-decoration:underline}
.ample-project-link:hover span,.ample-project-cta a:hover span{transform:translateX(3px)}
.ample-project-cta{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:28px;padding:22px 24px;border:1px solid #d8f0e9;border-radius:18px;background:linear-gradient(110deg,#e9faf5,#fff)}
.ample-project-cta h3{font-size:17px;line-height:1.4;color:var(--ample-ink);margin:0 0 5px;font-weight:800}
.ample-project-cta p{font-size:11px;line-height:1.7;color:var(--ample-muted);margin:0}
.ample-project-cta a{flex-shrink:0;display:inline-flex;align-items:center;gap:12px;background:var(--ample-teal);color:#fff;text-decoration:none;border-radius:999px;padding:12px 17px;font-size:10px;font-weight:800;transition:background .2s}
.ample-project-cta a:hover{background:#064e49;color:#fff}
.ample-project-empty{grid-column:1/-1;padding:20px;background:#fff;border-radius:12px;color:var(--ample-muted)}
@media(max-width:850px){.ample-project-grid{grid-template-columns:repeat(min(var(--ample-columns,2),2),minmax(0,1fr))}.ample-project-content{padding:17px}.ample-project-content h3{font-size:17px}}
@media(max-width:600px){.ample-project-grid{grid-template-columns:1fr;gap:16px}.ample-project-header{margin-bottom:24px}.ample-project-header h2{letter-spacing:-.8px}.ample-project-content{padding:18px}.ample-project-cta{align-items:flex-start;flex-direction:column;padding:20px;gap:15px}.ample-project-cta a{align-self:flex-start}.ample-project-filters{margin-bottom:18px}}
@media(prefers-reduced-motion:reduce){.ample-project-card,.ample-project-link span,.ample-project-cta a span{transition:none}}
