.portfolio-page{--folio-ease:cubic-bezier(.16, 1, .3, 1);padding-bottom:10px}.portfolio-hero{border-top:1px solid var(--border);border-bottom:1px solid var(--border);animation:portfolio-arrive .62s var(--folio-ease) both;grid-template-columns:minmax(0,1fr) minmax(220px,.7fr);align-items:end;column-gap:clamp(28px,6vw,64px);margin-bottom:clamp(34px,7vw,58px);padding:20px 0 24px;display:grid;position:relative}.portfolio-hero__registry{color:var(--muted);letter-spacing:.15em;justify-content:space-between;font-size:9px;line-height:1;display:flex;position:absolute;top:-25px;left:0;right:0}.portfolio-hero__kicker{color:var(--accent);letter-spacing:.18em;text-transform:uppercase;grid-column:1/-1;margin:0 0 12px;font-size:10px;font-weight:700;line-height:1.2}.portfolio-hero h1{color:var(--fg);font-family:var(--font-display);letter-spacing:.02em;margin:0;font-size:clamp(48px,10vw,76px);font-weight:400;line-height:.97}.portfolio-hero h1 em{color:var(--accent);font-style:normal}.portfolio-hero__intro{color:var(--muted);margin:0 0 4px;font-size:13px;line-height:1.85}.portfolio-index{border:1px solid var(--border);background:var(--bg-soft);grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:clamp(56px,10vw,86px);display:grid}.portfolio-index a{min-width:0;min-height:76px;color:var(--fg);grid-template-columns:auto 1fr;column-gap:10px;padding:14px 16px;text-decoration:none;transition:background-color .18s,color .18s;display:grid;position:relative}.portfolio-index a+a{border-left:1px solid var(--border)}.portfolio-index a>span{color:var(--accent);font-family:var(--font-display);grid-row:1/3;align-self:center;font-size:24px;line-height:1}.portfolio-index strong{font-family:var(--font-display);align-self:end;font-size:15px;font-weight:400;line-height:1.2}.portfolio-index small{color:var(--muted);align-self:start;font-size:10px;line-height:1.3}.portfolio-index a:hover,.portfolio-index a:focus-visible{background:var(--accent);color:var(--bg);outline:none}.portfolio-index a:hover>span,.portfolio-index a:hover small,.portfolio-index a:focus-visible>span,.portfolio-index a:focus-visible small{color:var(--bg)}.portfolio-section{scroll-margin-top:24px}.portfolio-section+.portfolio-section{margin-top:clamp(58px,10vw,92px)}.portfolio-section__heading{grid-template-columns:auto 1fr auto;align-items:end;gap:13px;margin-bottom:18px;display:grid}.portfolio-section__heading>span{color:var(--accent);font-family:var(--font-display);font-size:35px;line-height:.95}.portfolio-section__heading>div p,.portfolio-section__heading>p{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:9px;line-height:1.3}.portfolio-section__heading h2{color:var(--accent-2);font-family:var(--font-display);margin:2px 0 0;font-size:22px;font-weight:400;line-height:1}.portfolio-section__heading>p{text-align:right;padding-bottom:2px}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.portfolio-card{--project:var(--accent);--project-deep:var(--fg);border:1px solid color-mix(in srgb, var(--project) 45%, var(--border));background:color-mix(in srgb, var(--bg-soft) 94%, var(--project));min-width:0;color:var(--fg);transition:border-color .22s ease, box-shadow .22s ease, opacity .46s var(--folio-ease) var(--reveal-delay), transform .46s var(--folio-ease) var(--reveal-delay);border-radius:3px;position:relative;overflow:clip}html.portfolio-motion-ready .portfolio-card:not(.is-visible){opacity:0;transform:translateY(15px)}.portfolio-card:hover,.portfolio-card:focus-within,.portfolio-card[open]{border-color:var(--project);box-shadow:3px 4px 0 color-mix(in srgb, var(--project) 16%, transparent)}.portfolio-card summary{cursor:pointer;user-select:none;flex-direction:column;min-height:354px;padding:13px;list-style:none;display:flex;position:relative}.portfolio-card summary::-webkit-details-marker{display:none}.portfolio-card summary::marker{content:""}.portfolio-card summary:focus-visible{outline:2px solid var(--project);outline-offset:-5px}.portfolio-card__meta{border-bottom:1px solid color-mix(in srgb, var(--project) 42%, var(--border));color:color-mix(in srgb, var(--project) 75%, var(--muted));letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;gap:12px;margin-bottom:12px;padding-bottom:8px;font-size:9px;font-weight:700;line-height:1.2;display:flex}.portfolio-card__cover{border:1px solid color-mix(in srgb, var(--project) 55%, var(--border));background:var(--project-deep);height:135px;color:color-mix(in srgb, var(--project) 25%, #f4ead2);place-items:center;margin-bottom:14px;display:grid;overflow:hidden}.portfolio-card__cover img{object-fit:cover;filter:saturate(.88)contrast(.96);width:100%;height:100%;transition:filter .28s ease, transform .42s var(--folio-ease)}.portfolio-card__cover--contain img{object-fit:contain;filter:saturate(.86);width:82px;height:82px}.portfolio-card__cover svg{width:58px;height:58px}.portfolio-card:hover .portfolio-card__cover img,.portfolio-card[open] .portfolio-card__cover img{filter:saturate()contrast();transform:scale(1.025)}.portfolio-card__copy{flex-direction:column;display:flex}.portfolio-card__copy>p{color:var(--project);letter-spacing:.13em;text-transform:uppercase;margin:0 0 3px;font-size:9px;font-weight:700;line-height:1.3}.portfolio-card__copy h3{color:var(--fg);font-family:var(--font-display);letter-spacing:.01em;margin:0 0 5px;font-size:clamp(23px,4vw,28px);font-weight:400;line-height:1.1}.portfolio-card__copy>span{color:var(--muted);font-size:12px;line-height:1.55}.portfolio-card__toggle{border-top:1px solid color-mix(in srgb, var(--project) 40%, var(--border));min-height:45px;color:var(--project);letter-spacing:.08em;justify-content:space-between;align-items:center;margin-top:auto;padding-top:11px;font-size:10px;font-weight:700;display:flex}.portfolio-card__toggle svg{width:25px;height:25px;transition:background-color .18s ease, color .18s ease, transform .24s var(--folio-ease);border:1px solid;border-radius:50%;padding:4px}.portfolio-card__toggle-label--open,.portfolio-card[open] .portfolio-card__toggle-label--closed{display:none}.portfolio-card[open] .portfolio-card__toggle-label--open{display:inline}.portfolio-card[open] .portfolio-card__toggle svg{background:var(--project);color:var(--bg);transform:rotate(45deg)}.portfolio-card__details{border-top:1px dashed color-mix(in srgb, var(--project) 50%, var(--border));overflow:hidden}.portfolio-card__details-inner{animation:portfolio-detail-in .28s var(--folio-ease) both;padding:16px 13px 14px}.portfolio-card__details-inner>p{color:color-mix(in srgb, var(--fg) 88%, var(--project));margin:0 0 15px;font-size:12.5px;line-height:1.72}.portfolio-card__details nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.portfolio-card__details a{border:1px solid color-mix(in srgb, var(--project) 55%, var(--border));min-height:45px;color:var(--project);text-align:center;justify-content:center;align-items:center;gap:7px;padding:8px 10px;font-size:11px;font-weight:700;line-height:1.3;text-decoration:none;transition:background-color .18s,color .18s,transform .13s;display:flex}.portfolio-card__details a.is-primary,.portfolio-card__details a:hover,.portfolio-card__details a:focus-visible{background:var(--project);color:var(--bg);outline:none}.portfolio-card__details a:focus-visible{box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--project)}.portfolio-card__details a:active{transform:scale(.98)}.portfolio-card--featured{grid-column:1/-1}.portfolio-card--featured summary{grid-template-rows:auto 1fr auto;grid-template-columns:minmax(240px,1.05fr) minmax(220px,.95fr);column-gap:20px;min-height:300px;display:grid}.portfolio-card--featured .portfolio-card__meta{grid-column:1/-1}.portfolio-card--featured .portfolio-card__cover{grid-row:2/4;height:100%;min-height:218px;margin:0}.portfolio-card--featured .portfolio-card__copy{align-self:end;padding:20px 2px}.portfolio-card--featured .portfolio-card__copy h3{font-size:clamp(31px,6vw,44px)}.portfolio-card--featured .portfolio-card__toggle{align-self:end}.portfolio-card--pagesmith{--project:#9d4e33;--project-deep:#2c211c}.portfolio-card--yabao{--project:#557448;--project-deep:#78925a}.portfolio-card--fundmaster{--project:#356056;--project-deep:#2d4943}.portfolio-card--askalong{--project:#955337;--project-deep:#7f4935}.portfolio-card--ottervoice{--project:#4c6f79;--project-deep:#365560}.portfolio-card--launchgate{--project:#8c4c36;--project-deep:#674033}@keyframes portfolio-arrive{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes portfolio-detail-in{0%{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}@media (width<=640px){.portfolio-hero{grid-template-columns:1fr;padding-bottom:20px}.portfolio-hero__intro{max-width:34em;margin-top:18px}.portfolio-index a{grid-template-columns:1fr;gap:2px;min-height:83px;padding:12px 9px}.portfolio-index a>span{grid-row:auto;font-size:19px}.portfolio-index strong{font-size:13px}.portfolio-index small{font-size:9px}.portfolio-section__heading{grid-template-columns:auto 1fr}.portfolio-section__heading>p{display:none}.portfolio-grid{grid-template-columns:1fr}.portfolio-card--featured{grid-column:auto}.portfolio-card--featured summary{min-height:370px;display:flex}.portfolio-card summary{min-height:370px}.portfolio-card--featured .portfolio-card__cover{height:146px;min-height:0;margin:0 0 14px}.portfolio-card--featured .portfolio-card__copy{align-self:stretch;padding:0}.portfolio-card--featured .portfolio-card__copy h3{font-size:29px}.portfolio-card--featured .portfolio-card__toggle{align-self:stretch}}@media (width<=380px){.portfolio-hero h1{font-size:44px}.portfolio-card__details nav{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.portfolio-hero,.portfolio-card,.portfolio-card__details-inner,.portfolio-card__cover img,.portfolio-card__toggle svg,.portfolio-card__details a{transition-duration:.01ms!important;animation:none!important}html.portfolio-motion-ready .portfolio-card:not(.is-visible){opacity:1;transform:none}}
