/* The wider portfolio appears only after an intentional invitation. */
.portfolio-invitation{margin-top:40px;padding:36px 0 0;border-top:1px solid #c8beaa;display:grid;grid-template-columns:1fr auto;gap:50px;align-items:center}
.portfolio-invitation .eyebrow{font-size:.75rem;margin-bottom:10px}
.portfolio-invitation h3{font-family:Georgia,serif;font-size:2.15rem;font-weight:400;line-height:1.2;letter-spacing:-.035em;margin:0 0 13px}
.portfolio-invitation p:not(.eyebrow){font-size:.9375rem;max-width:490px;margin:0;color:var(--muted);line-height:1.8}
.portfolio-open{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:98px;padding:24px 28px;background:#f4f2ec;border:1px solid #d5ccba;color:var(--ink);text-align:left;transition:background .25s,border-color .25s}
.portfolio-open>span:first-child{font-size:1rem;font-weight:500;line-height:1.6}
.portfolio-open small{display:block;font-size:.8125rem;font-weight:400;color:#57696d;margin-top:5px}
.portfolio-open-mark{font-size:28px;font-weight:300;line-height:1;color:#7c6b44}
.portfolio-open:hover{background:#eee9de;border-color:#a49774}
#portfolio-dialog{width:min(1180px,calc(100% - 48px));height:min(860px,calc(100svh - 48px));height:min(860px,calc(100dvh - 48px));max-height:calc(100dvh - 48px);padding:0;background:#f5f5f1;overflow:hidden;color:var(--ink)}
#portfolio-dialog[open]{display:flex;flex-direction:column;animation:portfolio-arrive .28s ease-out}
#portfolio-dialog::backdrop{background:#021b25cc;backdrop-filter:blur(10px)}
.portfolio-header{flex:none;background:var(--ink);color:white;display:flex;justify-content:space-between;align-items:flex-start;gap:25px;padding:36px 44px 32px;border-top:3px solid #a49774}
.portfolio-header .eyebrow{color:#d9caa8;font-size:.6875rem;letter-spacing:.15em;margin:0 0 13px}
.portfolio-header h2{font-family:Georgia,serif;font-size:clamp(2.1rem,4vw,3.35rem);font-weight:400;line-height:1.12;letter-spacing:-.035em;margin:0 0 14px;color:white}
.portfolio-header p:not(.eyebrow){font-size:.9375rem;line-height:1.7;color:#d4dfe1;margin:0;max-width:660px}
.portfolio-close{flex:none;display:flex;align-items:center;gap:14px;min-width:44px;min-height:44px;border:1px solid #ffffff50;background:transparent;color:white;padding:7px 12px;font-size:.8125rem}
.portfolio-close>span:last-child{font-size:24px;line-height:1;font-weight:300}
.portfolio-close:hover{background:#ffffff14;border-color:#d9caa8}
.portfolio-scroll{overflow-y:auto;overscroll-behavior:contain;min-height:0;flex:1;scrollbar-gutter:stable;padding:0 44px 30px}
.portfolio-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;position:sticky;top:0;z-index:2;background:#f5f5f1;padding:20px 0 16px;border-bottom:1px solid #d9dfdb}
.portfolio-filters{display:flex;flex-wrap:wrap;gap:3px 7px}
.portfolio-filters button{min-height:44px;padding:10px 12px;border:0;border-bottom:2px solid transparent;background:transparent;font-size:.8125rem;color:#53666b;line-height:1.5;transition:color .2s,border-color .2s}
.portfolio-filters button:first-child{padding-left:0}
.portfolio-filters button[aria-pressed=true]{color:var(--ink);border-bottom-color:#887548}
.portfolio-filters button:hover{color:#735d30}
#portfolio-count{font-size:.75rem;color:#596a6d;margin:0;white-space:nowrap;line-height:1.6}
.portfolio-group{padding-top:30px}
.portfolio-group-heading{display:flex;align-items:baseline;gap:14px;margin-bottom:18px}
.portfolio-group-heading h3{font-family:Georgia,serif;font-size:1.6rem;line-height:1.2;font-weight:400;letter-spacing:-.02em;margin:0}
.portfolio-group-heading span{font-size:.75rem;color:#637477}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.portfolio-card{display:flex;flex-direction:column;min-width:0;position:relative;min-height:242px;text-align:left;padding:23px 23px 20px;border:1px solid #dce1de;background:white;color:var(--ink);transition:border-color .2s,box-shadow .2s}
.portfolio-card:hover{border-color:#a49774;box-shadow:0 6px 20px #082d3908}
.portfolio-card-logo{display:flex;align-items:center;justify-content:center;min-height:76px;margin-bottom:23px;width:100%}
.portfolio-card-logo img{width:auto;max-width:min(190px,100%);height:auto;max-height:70px;object-fit:contain}
.portfolio-card-name{font-size:1rem;font-weight:500;line-height:1.5;margin:0 20px 9px 0}
.portfolio-card-relationship{font-size:.8125rem;line-height:1.7;color:#54666b;padding-right:15px}
.portfolio-card-mark{position:absolute;right:17px;bottom:18px;font-size:20px;font-weight:300;color:#7c6b44}
.portfolio-endnote{font-size:.8125rem;line-height:1.8;color:#637477;margin:29px 0 0;padding-top:21px;border-top:1px solid #d9dfdb}
.portfolio-back{display:inline-flex;min-height:44px;align-items:center;border:0;border-bottom:1px solid #a49774;background:transparent;color:var(--ink);font-size:.875rem;line-height:1.5;padding:8px 0;margin:23px 0 29px}
.portfolio-detail-layout{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:start;padding-bottom:20px}
.portfolio-detail-art{display:flex;align-items:center;justify-content:center;background:white;border:1px solid #dce1de;min-height:280px;aspect-ratio:1.25;padding:45px}
.portfolio-detail-art img{max-width:100%;width:auto;height:auto;max-height:170px;object-fit:contain}
.portfolio-detail-copy{padding-top:10px}
.portfolio-detail-copy .eyebrow{font-size:.75rem;margin-bottom:14px}
.portfolio-detail-copy h3{font-family:Georgia,serif;font-size:2rem;font-weight:400;line-height:1.25;letter-spacing:-.03em;margin:0 0 20px}
.portfolio-detail-copy p{font-size:1rem;line-height:1.8;margin-bottom:23px;color:#52656c}
.portfolio-detail-copy .relationship-note{font-size:1.0625rem!important;margin-bottom:24px}
.portfolio-detail-copy .portfolio-detail-note{font-size:.875rem;line-height:1.75}
.portfolio-detail-copy .button{margin-top:5px;max-width:100%;white-space:normal;text-align:center}
@keyframes portfolio-arrive{from{opacity:.5;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:950px){.portfolio-invitation{grid-template-columns:1fr;gap:26px}.portfolio-open{width:100%;min-height:92px}.portfolio-header{padding:29px 28px}.portfolio-scroll{padding:0 28px 25px}.portfolio-toolbar{align-items:flex-start;flex-direction:column;gap:8px;padding:15px 0}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-detail-layout{gap:28px}.portfolio-detail-art{min-height:240px;padding:30px}}
@media(max-width:600px){.portfolio-invitation{margin-top:29px;padding-top:28px;gap:22px}.portfolio-invitation h3{font-size:1.9rem}.portfolio-open{padding:20px;gap:18px}.portfolio-open>span:first-child{font-size:.9375rem}.portfolio-open small{font-size:.75rem}#portfolio-dialog{width:calc(100% - 16px);height:calc(100svh - 16px);height:calc(100dvh - 16px);max-height:calc(100dvh - 16px)}.portfolio-header{padding:22px 20px;gap:13px}.portfolio-header .eyebrow{max-width:210px;font-size:.625rem;letter-spacing:.12em;line-height:1.8;margin-bottom:11px}.portfolio-header h2{font-size:2.1rem;margin-bottom:12px}.portfolio-header p:not(.eyebrow){font-size:.875rem;line-height:1.7}.portfolio-close{padding:8px;width:44px;justify-content:center}.portfolio-close>span:first-child{display:none}.portfolio-scroll{padding:0 20px 25px}.portfolio-toolbar{position:static;padding:17px 0 13px}.portfolio-filters{gap:3px 5px}.portfolio-filters button,.portfolio-filters button:first-child{padding:9px 10px;border:1px solid #d9dfdb;border-bottom:2px solid #d9dfdb;font-size:.75rem;min-height:44px}.portfolio-filters button[aria-pressed=true]{background:white;border-bottom-color:#887548}.portfolio-group{padding-top:25px}.portfolio-group-heading{gap:10px}.portfolio-group-heading h3{font-size:1.45rem}.portfolio-grid{gap:10px}.portfolio-card{padding:18px 13px 22px;min-height:256px}.portfolio-card-logo{min-height:67px;margin-bottom:18px}.portfolio-card-logo img{max-height:60px}.portfolio-card-name{font-size:.875rem;margin-right:0}.portfolio-card-relationship{font-size:.8125rem;padding-right:0}.portfolio-card-mark{display:none}.portfolio-detail-layout{grid-template-columns:1fr;gap:22px}.portfolio-detail-art{aspect-ratio:auto;min-height:200px;padding:35px}.portfolio-detail-art img{max-width:220px;max-height:115px;width:100%}.portfolio-detail-copy{padding:0}.portfolio-detail-copy h3{font-size:1.85rem}.portfolio-detail-copy .button{width:100%}.portfolio-back{margin:17px 0 22px}}
@media(max-width:359px){.portfolio-grid{grid-template-columns:1fr}.portfolio-card{min-height:216px}.portfolio-header h2{font-size:1.85rem}}
@media(prefers-reduced-motion:reduce){#portfolio-dialog[open]{animation:none}.portfolio-card,.portfolio-open,.portfolio-filters button{transition:none}}
