/* Styles limited to portfolio pages. */
.portfolio-hero{background:#f7f5f6;padding:28px 0 52px}.portfolio-hero h1{font-size:clamp(2.1rem,4.3vw,3.7rem);line-height:1.13;letter-spacing:-.055em;max-width:900px;margin-bottom:22px;overflow-wrap:break-word}.portfolio-intro{font-size:1.1rem;line-height:1.85;max-width:760px;color:var(--muted)}.portfolio-actions{display:flex;align-items:center;flex-wrap:wrap;gap:26px;margin-top:28px}.portfolio-section-nav{display:flex;align-items:center;flex-wrap:wrap;gap:12px 22px;padding:28px 0;border-bottom:1px solid var(--line)}.portfolio-section-nav>span{font-size:.6875rem;letter-spacing:.09em;color:var(--muted);font-weight:600}.portfolio-section-nav a{font-size:.8125rem;line-height:1.6;text-decoration:none;color:var(--brand)}.portfolio-section-nav a:hover{text-decoration:underline}.portfolio-case{padding:48px 0;border-bottom:1px solid var(--line);scroll-margin-top:110px}.portfolio-case h2{font-size:clamp(1.6rem,2.9vw,2.2rem);line-height:1.25;letter-spacing:-.035em;max-width:850px;margin-bottom:28px}.portfolio-case-details{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:28px;margin:0 0 30px;padding:26px 28px;background:#f7f5f6;border:1px solid var(--line);border-radius:16px}.portfolio-case-details dt{font-size:.75rem;font-weight:600;color:var(--brand);margin-bottom:12px}.portfolio-case-details dd{font-size:.9375rem;line-height:1.8;color:var(--muted);margin:0}.portfolio-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.portfolio-gallery figure{margin:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;min-width:0;background:white}.portfolio-gallery .content-image-link{display:flex;align-items:center;justify-content:center;padding:18px;background:#faf9fa;min-height:220px}.portfolio-gallery img{display:block;width:100%;height:320px;object-fit:contain;border-radius:5px}.portfolio-gallery figure:only-child{grid-column:1/-1;width:100%;max-width:900px}.portfolio-gallery figure:only-child img{height:auto;max-height:560px}.portfolio-gallery figcaption{padding:16px 20px;border-top:1px solid var(--line);font-size:.8125rem;line-height:1.7;color:var(--muted)}.portfolio-gallery figcaption>span:first-child{display:block;font-weight:600;color:var(--ink);margin-bottom:5px}.portfolio-image-hint{display:block;font-size:.75rem;margin-top:7px}.portfolio-next{display:grid;grid-template-columns:1.6fr 1fr;align-items:center;gap:48px;background:var(--rose);border:1px solid #e8d7df;border-radius:18px;padding:36px 40px;margin:48px 0 64px}.portfolio-next h2{font-size:1.9rem;line-height:1.25;letter-spacing:-.035em;margin-bottom:18px}.portfolio-next p:not(.eyebrow){font-size:1rem;line-height:1.85;color:var(--muted)}.portfolio-next-actions{display:flex;flex-direction:column;align-items:flex-start;gap:22px}.portfolio-detail-page a:focus-visible{outline:3px solid var(--brand);outline-offset:5px}.portfolio-directory-page .page-intro{background:#f7f5f6;padding-inline:32px;border-radius:0 0 18px 18px}.portfolio-directory-page .content-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.portfolio-directory-page .content-card h2{font-size:1.25rem}.portfolio-directory-page .content-card p{font-size:.9375rem}.portfolio-directory-page .content-card>a>img{aspect-ratio:1.8;object-fit:contain}
@media(max-width:900px){.portfolio-case-details{grid-template-columns:1fr;gap:20px}.portfolio-next{gap:28px;padding:30px}.portfolio-gallery img{height:270px}}
@media(max-width:680px){.portfolio-hero{padding:23px 0 36px}.portfolio-hero h1{font-size:2.3rem}.portfolio-intro{font-size:1rem}.portfolio-actions{gap:20px}.portfolio-section-nav{display:block;padding:22px 0}.portfolio-section-nav>span{display:block;margin-bottom:12px}.portfolio-section-nav a{display:block;margin:9px 0}.portfolio-case{padding:34px 0}.portfolio-case-details{padding:24px;gap:20px}.portfolio-gallery,.portfolio-directory-page .content-cards,.portfolio-next{grid-template-columns:1fr;gap:22px}.portfolio-gallery .content-image-link{min-height:0;padding:13px}.portfolio-gallery img{height:auto;max-height:430px}.portfolio-gallery figcaption{padding:16px 18px}.portfolio-next{padding:28px 25px;margin:36px 0 48px}.portfolio-next h2{font-size:1.65rem}.portfolio-directory-page .page-intro{padding-inline:24px}}
