/* A quiet, uneven wall of photographs. */
.social-gallery.portfolio-pinboard{display:block;columns:3;column-gap:24px;padding-top:12px}
.portfolio-pinboard .social-project{position:relative;break-inside:avoid;margin:0 0 24px;overflow:hidden;border-radius:5px}
.portfolio-pinboard .social-project button{position:relative;cursor:pointer;border-radius:5px;isolation:isolate}
.portfolio-pinboard .social-project .print-image{aspect-ratio:auto}
.portfolio-pinboard .social-project img{height:auto;min-height:0;object-fit:contain}
.portfolio-pinboard .pin-caption{position:absolute;left:0;bottom:0;width:100%;padding:48px 22px 23px;background:linear-gradient(transparent,#2417129c);color:#fffaf0;font:400 10px/1.5 var(--sans);letter-spacing:.13em;text-align:left;opacity:0;transform:translateY(7px);transition:opacity .25s ease,transform .25s ease;pointer-events:none;z-index:8}
.portfolio-pinboard button:hover .pin-caption,.portfolio-pinboard button:focus-visible .pin-caption{opacity:1;transform:none}
.portfolio-pinboard button:focus-visible{outline:2px solid var(--wine);outline-offset:4px}
.portfolio-section .portfolio-pinboard .social-project:nth-child(n+7){display:none}
.portfolio-pinboard .invitation-preview{aspect-ratio:4/5;background:radial-gradient(ellipse at 35% 20%,#f0e8dd,#d7c7b6);overflow:hidden;perspective:1000px}
.invitation-scene{display:block;position:absolute;inset:0}
.invitation-envelope{position:absolute;left:12%;width:76%;height:35%;top:49%;filter:drop-shadow(0 12px 13px #3e1d1920);perspective:900px}
.invitation-back{position:absolute;inset:0;background:#641e30;border-radius:2px}
.invitation-card{position:absolute;left:7%;width:86%;height:150%;bottom:5%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:linear-gradient(120deg,#fffdf5,#eee7d7);color:#640017;z-index:2;transform:translateY(53%) scale(.97);transition:transform .55s cubic-bezier(.2,.7,.2,1);box-shadow:0 0 7px #250c121c}
.invitation-small{font:400 clamp(6px,.65vw,10px)/1.7 var(--sans);letter-spacing:.14em}
.invitation-script{font:400 clamp(28px,3.5vw,57px)/.95 var(--script)}
.invitation-rule{width:24px;height:1px;background:#64001750}
.invitation-signature{font:400 clamp(9px,1vw,15px)/1.3 var(--serif);margin-top:3px}
.invitation-front{position:absolute;inset:0;z-index:3;background:linear-gradient(145deg,#8b3e4e,#641e30);clip-path:polygon(0 0,50% 54%,100% 0,100% 100%,0 100%)}
.invitation-front:after{content:'';position:absolute;inset:0;background:linear-gradient(25deg,#76273c,#934453);clip-path:polygon(0 100%,50% 48%,100% 100%)}
.invitation-flap{position:absolute;inset:0;z-index:5;background:linear-gradient(160deg,#a05a64,#76283d);clip-path:polygon(0 0,100% 0,50% 62%);transform-origin:top;transition:transform .35s ease,z-index 0s .18s;backface-visibility:visible}
.invitation-seal{position:absolute;left:43%;top:41%;width:14%;aspect-ratio:1;display:grid;place-items:center;background:#733044;border:1px solid #b57b85;border-radius:50%;z-index:6;color:#dfbec2;font:400 clamp(8px,1vw,15px)/1 var(--serif);transition:opacity .12s ease}
.invitation-preview.is-open .invitation-flap{transform:rotateX(180deg);z-index:1}
.invitation-preview.is-open .invitation-seal{opacity:0}
.invitation-preview.is-open .invitation-card{transform:translateY(-32%);transition-delay:.15s}
.invitation-hint{position:absolute;bottom:7%;left:0;width:100%;font:400 9px/1.5 var(--sans);letter-spacing:.11em;text-transform:uppercase;color:#640017;z-index:7}
.invitation-preview .pin-caption{bottom:auto;top:0;background:none;color:#640017;padding:22px}
@media(max-width:900px){.social-gallery.portfolio-pinboard{columns:2}.invitation-script{font-size:42px}.invitation-small{font-size:8px}.invitation-signature{font-size:12px}}
@media(max-width:600px){.social-gallery.portfolio-pinboard{columns:1}.portfolio-pinboard .social-project{margin-bottom:20px}.invitation-script{font-size:50px}.invitation-small{font-size:9px}.invitation-signature{font-size:13px}.portfolio-pinboard .pin-caption{font-size:10px}}
@media(hover:none){.portfolio-pinboard button:focus .pin-caption{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.portfolio-pinboard *{transition:none!important}}
.invitation-card{clip-path:inset(100% 0 0);transition:transform .55s cubic-bezier(.2,.7,.2,1),clip-path .55s cubic-bezier(.2,.7,.2,1)}
.invitation-preview.is-open .invitation-card{clip-path:inset(0);transition-delay:.15s}
/* Pinned paper prints, held at the top and lifted at the corners. */
.social-gallery.portfolio-pinboard,.portfolio-archive.portfolio-pinboard{display:grid;columns:auto;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 30px;align-items:start;max-width:1350px;padding:55px 5% 65px;background:radial-gradient(ellipse at 40% 20%,#faf9f5,#eeece6);border:1px solid #e6e2da;border-radius:22px;margin:15px auto 70px;box-shadow:inset 0 1px 3px #fff,0 12px 35px #382c2010;perspective:1400px}
.portfolio-pinboard .social-project{--pin-angle:-1.3deg;margin:0;overflow:visible;border-radius:0;transform-origin:50% 8px;transform:rotate(var(--pin-angle));position:relative;isolation:isolate}
.portfolio-pinboard .social-project:nth-child(2n){--pin-angle:1.6deg;margin-top:13px}
.portfolio-pinboard .social-project:nth-child(3n){--pin-angle:-.7deg;margin-top:5px}
.portfolio-pinboard .social-project:before{content:'';position:absolute;z-index:20;top:-6px;left:calc(50% - 4px);width:9px;height:9px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#fff 0,#e4e0d7 35%,#8b8982 75%,#67655e);box-shadow:2px 4px 4px #29251f60;pointer-events:none}
.portfolio-pinboard .social-project:after{content:'';position:absolute;left:5%;right:4%;bottom:3px;height:45%;border-radius:0 0 45% 45%;box-shadow:0 12px 10px #30271d35;transform:rotate(-2deg);z-index:-1}
.portfolio-pinboard .social-project button{border-radius:1px 1px 9px 2px;padding:7px;background:#fffdf7;box-shadow:1px 2px 3px #382d2220;transform-origin:50% 0;animation:paper-breeze 7s ease-in-out infinite;animation-delay:calc(var(--pin-order) * -.8s);animation-play-state:paused}
.portfolio-pinboard .social-project.pin-visible button{animation-play-state:running}
.portfolio-pinboard .social-project .print-image{aspect-ratio:3/4;position:relative}
.portfolio-pinboard .social-project img{width:100%;height:100%;object-fit:cover}
.portfolio-pinboard .social-project .print-image:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(108deg,#ffffff14,transparent 40%,#00000009 87%,#ffffff26);box-shadow:inset -1px 0 3px #ffffff65}
.portfolio-section .portfolio-pinboard .social-project:nth-child(n){display:block}
.portfolio-pinboard .invitation-preview{aspect-ratio:3/4;background:radial-gradient(ellipse at 30% 10%,#f8faf9,#e6edf0)}
.invitation-back{background:#8caac0}.invitation-front{background:linear-gradient(145deg,#cfdfec,#9bb7ce)}
.invitation-front:after{background:linear-gradient(25deg,#aec6dc,#d9e6ef)}
.invitation-flap{background:linear-gradient(160deg,#d7e6f1,#a3bfd4)}
.invitation-seal{background:#b9cfdf;border-color:#e9f1f6;color:#5a7186}
.invitation-hint{font-size:7px;letter-spacing:.08em}.invitation-script{font-size:clamp(26px,2.5vw,42px)}
.invitation-card{gap:7px}.invitation-small{font-size:6px}.invitation-signature{font-size:10px}
@keyframes paper-breeze{0%,100%{transform:rotateX(0deg) rotateY(-1deg) skewY(0deg)}35%{transform:rotateX(3deg) rotateY(2deg) skewY(.35deg)}70%{transform:rotateX(-1deg) rotateY(-2deg) skewY(-.25deg)}}
@media(hover:hover){.portfolio-pinboard .social-project:hover button{animation-play-state:paused}.portfolio-pinboard .social-project:hover{z-index:3}}
@media(max-width:1000px){.social-gallery.portfolio-pinboard,.portfolio-archive.portfolio-pinboard{grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 25px}}
@media(max-width:700px){.social-gallery.portfolio-pinboard,.portfolio-archive.portfolio-pinboard{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 22px;margin-left:4%;margin-right:4%}}
@media(max-width:600px){.social-gallery.portfolio-pinboard,.portfolio-archive.portfolio-pinboard{grid-template-columns:minmax(0,1fr);padding:38px 10%;gap:40px;border-radius:15px}.portfolio-pinboard .social-project:nth-child(n){margin-top:0}.invitation-script{font-size:44px}.invitation-small{font-size:8px}.invitation-signature{font-size:12px}.invitation-hint{font-size:8px}}
@media(prefers-reduced-motion:reduce){.portfolio-pinboard .social-project button{animation:none!important}}
/* Borderless photographs and polished silver stationery. */
.portfolio-pinboard .social-project button{padding:0;border:0;border-radius:0 0 5px 1px;background:transparent}
.portfolio-pinboard .social-project:before{width:10px;height:10px;left:calc(50% - 5px);top:-5px;background:radial-gradient(circle at 28% 24%,#fff 0 12%,#f4f5f6 16%,#989da2 34%,#fafbfc 47%,#72787e 65%,#d4d7da 81%,#666c72 100%);border:1px solid #999fa5;box-shadow:1px 2px 1px #ffffffb0 inset,2px 4px 3px #15191e65}
.portfolio-pinboard .invitation-preview{background:radial-gradient(ellipse at 35% 15%,#faf9f5,#e5e2dc)}
.invitation-back{background:linear-gradient(125deg,#8c9196,#eff0f1 34%,#898e93 65%,#d5d7da)}
.invitation-front{background:linear-gradient(135deg,#f8f9fa 0%,#adb2b7 18%,#eceef0 35%,#777e85 53%,#d7dade 73%,#f8f9fa 87%,#989fa6 100%)}
.invitation-front:after{background:linear-gradient(155deg,#f5f6f7 0%,#b1b6bc 26%,#848b92 44%,#e5e8eb 69%,#fff 81%,#a0a6ad 100%)}
.invitation-flap{background:linear-gradient(155deg,#fafbfc 0%,#bfc4c9 25%,#7c838b 47%,#e9ecef 65%,#a5abb2 90%)}
.invitation-seal{background:conic-gradient(from 20deg,#f9fafb,#899098,#f1f3f5,#747d86,#d7dde2,#f9fafb);border-color:#a3aab1;color:#4e555d;text-shadow:0 1px #fff}
/* Use the photographic silver paper from the homepage envelope. */
.portfolio-pinboard .social-project:before{background:radial-gradient(circle at 32% 25%,#fafafa 0,#c7c7c6 38%,#939391 75%,#dbdbd9 100%);border-color:#a7a7a4;box-shadow:1px 1px 1px #fff9 inset,2px 3px 3px #3335}
.invitation-envelope{left:8%;width:84%;height:36%;top:52%;filter:drop-shadow(0 8px 7px #302b2626)}
.invitation-back,.invitation-front{background-image:url('/assets/silver-envelope.png');background-size:141.25% 185.53%;background-position:50% 83.08%}
.invitation-front{clip-path:polygon(0 0,7.5% 4%,35.5% 43%,37.5% 47.5%,63% 47.5%,65% 43%,93% 4%,100% 0,100% 100%,0 100%)}
.invitation-front:after{display:none}
.invitation-flap{background-image:url('/assets/envelope-hand.png');background-size:149.25% 256.41%;background-position:50% 21.64%;clip-path:polygon(0 0,100% 0,98% 15%,76% 54%,63% 69%,50% 73%,37% 69%,24% 54%,2% 15%)}
.invitation-seal{display:none}
.invitation-card{background:linear-gradient(115deg,#efe1c8,#e6d5b7);gap:12px;height:145%;bottom:4%;box-shadow:0 0 6px #352a2020}
.invitation-preview.is-open .invitation-card{transform:translateY(-35%)}
.portfolio-pinboard .invitation-preview{background:#f3f0e8}
.portfolio-pinboard .invitation-project:after{display:none}
