.portfolio{max-width:1200px;margin-inline:auto;overflow-wrap:anywhere}.portfolio-heading{max-width:850px;margin-bottom:2.5rem}.portfolio-heading h1{margin:.6rem 0 1rem;font-size:clamp(2rem,4vw,3.5rem);line-height:1.12;letter-spacing:-.035em}.portfolio-heading>p:not(.portfolio-eyebrow){font-size:1.15rem;line-height:1.7;color:var(--muted,#587184)}.portfolio-eyebrow{color:var(--accent,#0787a3);font-size:.85rem;font-weight:700;letter-spacing:.04em}.portfolio-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.portfolio-categories{display:flex;flex-wrap:wrap;gap:.6rem}.portfolio-categories a{padding:.6rem .9rem;border:1px solid var(--line,#dbe6ee);border-radius:2rem;text-decoration:none}.portfolio-categories a[aria-current]{color:var(--accent,#0787a3);background:var(--soft,#ecf7fa);border-color:currentColor}.portfolio-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.portfolio-card{min-width:0;border:1px solid var(--line,#dbe6ee);border-radius:1.25rem;overflow:hidden;background:var(--surface,#fff)}.portfolio-card__media{display:block;background:var(--soft,#edf6f9);aspect-ratio:8/5;overflow:hidden}.portfolio-card__media img{width:100%;height:100%;object-fit:cover;object-position:top}.portfolio-card__placeholder{height:100%;display:grid;place-items:center;color:var(--accent,#0787a3);background:linear-gradient(140deg,#e0f2f6,#f0f5fc)}.portfolio-card__placeholder svg{width:4rem;height:4rem}.portfolio-card__body{padding:1.5rem}.portfolio-card h2{margin:.4rem 0 1rem;font-size:1.5rem;line-height:1.3}.portfolio-card p{line-height:1.6}.portfolio-card h2 a{text-decoration:none;color:inherit}.portfolio-technologies{color:var(--muted,#587184);font-size:.9rem}.portfolio-read{display:inline-flex;align-items:center;gap:.5rem;font-weight:700}.portfolio-read svg{width:1.2rem;height:1.2rem}.portfolio-cards--list{grid-template-columns:minmax(0,1fr)}.portfolio-cards--list .portfolio-card{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr)}.portfolio-cards--list .portfolio-card__media{aspect-ratio:auto;min-height:16rem}.portfolio-showcase{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:2rem;align-items:start;margin-bottom:3rem}.portfolio-showcase:not(:has(.portfolio-gallery)){grid-template-columns:minmax(0,1fr)}.portfolio-gallery{min-width:0}.portfolio-slide{margin:0;border:1px solid var(--line,#dbe6ee);border-radius:1rem;overflow:hidden;background:var(--soft,#edf6f9)}.portfolio-slide a{display:block}.portfolio-slide img{width:100%;height:auto;aspect-ratio:8/5;object-fit:contain;object-position:top}.portfolio-slide figcaption{padding:1rem;line-height:1.6}.portfolio-summary{padding:1.75rem;border:1px solid var(--line,#dbe6ee);border-radius:1.25rem;background:var(--soft,#f0f7fa)}.portfolio-summary h2{margin-top:0}.portfolio-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.5rem 0}.portfolio-metrics>div{display:flex;flex-direction:column-reverse;gap:.4rem}.portfolio-metrics dt{color:var(--muted,#587184);font-size:.82rem}.portfolio-metrics dd{margin:0;font-size:1.6rem;font-weight:750;color:var(--accent,#0787a3)}.portfolio-facts{display:grid;gap:1rem}.portfolio-facts dt{font-size:.85rem;color:var(--muted,#587184);margin-bottom:.3rem}.portfolio-facts dd{margin:0}.portfolio-story{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;margin-bottom:2rem}.portfolio-lines{white-space:pre-line;line-height:1.75}.portfolio-body{margin-block:2rem}.portfolio-showcase:not(:has(.portfolio-summary)){grid-template-columns:minmax(0,1fr)}.portfolio-hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.75rem}.portfolio-hero-actions .btn{white-space:normal;text-align:center}.portfolio-case [id]{scroll-margin-top:2rem}.portfolio-case--expanded .portfolio-heading{max-width:960px;padding-block:2rem 3rem}.portfolio-case--expanded .portfolio-heading h1{font-size:clamp(2rem,4.5vw,3.6rem)}.portfolio-case--expanded .portfolio-showcase{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}.portfolio-case--expanded .portfolio-showcase:not(:has(.portfolio-gallery)),.portfolio-case--expanded .portfolio-showcase:not(:has(.portfolio-summary)){grid-template-columns:minmax(0,1fr)}.portfolio-case--expanded .portfolio-summary h2{font-size:clamp(1.5rem,3vw,2.3rem);line-height:1.2}.portfolio-case--expanded .portfolio-metrics{grid-template-columns:repeat(auto-fit,minmax(min(100%,145px),1fr))}.portfolio-section{padding:clamp(1.4rem,4vw,3.5rem);margin-block:2rem;border-radius:1.5rem}.portfolio-section--soft{background:var(--soft,#f0f7fa)}.portfolio-section-heading{text-align:center;margin-bottom:2rem}.portfolio-section h2{font-size:clamp(1.6rem,3.2vw,2.6rem);line-height:1.2;margin:.7rem 0 1.5rem}.portfolio-section h3{font-size:1.2rem;line-height:1.4;margin-top:0}.portfolio-section p,.portfolio-section li{line-height:1.8}.portfolio-section-label{color:var(--accent,#0787a3);font-weight:700;font-size:.85rem}.portfolio-section-lead{text-align:center;margin-bottom:2rem}.portfolio-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.portfolio-section-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.portfolio-section-card{padding:1.6rem;border:1px solid var(--line,#dbe6ee);border-radius:1.25rem;background:var(--surface,#fff);min-width:0}.portfolio-section-card ul{padding-left:1.2rem}.portfolio-section-card li+li{margin-top:.65rem}.portfolio-section-note{text-align:center;margin-top:2rem}.portfolio-section-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-block:1.5rem}.portfolio-section-tag{display:inline-block;padding:.55rem 1rem;border:1px solid var(--line,#dbe6ee);border-radius:2rem;background:var(--surface,#fff)}.portfolio-section-actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem}.portfolio-section-actions a{white-space:normal}@media(max-width:760px){.portfolio-case--expanded .portfolio-showcase,.portfolio-section-grid,.portfolio-section-grid--three{grid-template-columns:minmax(0,1fr)}.portfolio-section{padding:1.25rem;margin-inline:-.25rem}.portfolio-section-card{padding:1.2rem}}.portfolio-placement{margin-block:3rem}@media(max-width:760px){.portfolio-cards,.portfolio-showcase,.portfolio-story,.portfolio-cards--list .portfolio-card{grid-template-columns:minmax(0,1fr)}.portfolio-card__body,.portfolio-summary{padding:1.1rem}.portfolio-cards--list .portfolio-card__media{aspect-ratio:8/5;min-height:0}}
