/* Shared portfolio invitation, using the homepage's cinematic image. */
.portfolio-contact{position:relative;isolation:isolate;overflow:hidden;background:var(--paper);color:var(--ink);padding:85px 0 80px;min-height:560px;border-top:1px solid var(--line);scroll-margin-top:85px}
.pc-image{position:absolute;z-index:-1;inset:0 auto 0 0;width:78%;pointer-events:none;mask-image:linear-gradient(90deg,#000 0%,#000 35%,transparent 96%)}
.pc-image img{width:100%;height:100%;display:block;object-fit:cover;object-position:left center}
.pc-shell{width:min(1360px,calc(100% - 96px));margin-inline:auto;position:relative}
.pc-copy{width:54%;margin-inline-end:0;margin-inline-start:0;max-width:720px}
.pc-kicker{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--muted);margin-bottom:24px}
.pc-kicker:before{content:"";width:30px;height:1px;background:var(--brand-red)}
.portfolio-contact h2{font-size:clamp(40px,4.8vw,70px);line-height:1.4;letter-spacing:-.025em;margin:0 0 17px;color:var(--ink);overflow-wrap:anywhere}
.portfolio-contact h2 em{font-style:normal;color:var(--brand-red);display:block}
.pc-copy>p{font-size:16px;color:var(--muted);line-height:2;margin:0 0 28px;max-width:450px}
.pc-actions{display:flex;align-items:center;gap:18px 30px;flex-wrap:wrap}
.pc-primary{display:flex;align-items:center;justify-content:space-between;gap:30px;min-width:210px;min-height:56px;padding:14px 19px;background:var(--brand-red);color:#fff;font-size:14px;border:1px solid var(--brand-red);transition:background .25s}
.pc-primary .ui-icon{width:23px;height:23px;flex:none}
.pc-primary:hover{background:#b5000d;border-color:#b5000d}
.pc-email{font-size:12px;display:flex;align-items:center;min-height:48px;color:var(--ink);border-bottom:1px solid var(--line)}
.pc-email:hover{color:var(--brand-red)}
.pc-bottom{display:flex;align-items:center;gap:20px;margin-top:35px;padding-top:22px;border-top:1px solid var(--line);max-width:520px}
.pc-bottom>span{font-size:11px;color:var(--muted)}
.pc-social{display:flex;align-items:center;gap:8px;direction:ltr}
.pc-social a{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);background:var(--paper);color:var(--ink);transition:color .2s,border-color .2s}
.pc-social svg{width:19px;height:19px}
.pc-social a:hover{color:var(--brand-red);border-color:var(--brand-red)}
.portfolio-contact :is(a,button):focus-visible{outline:2px solid var(--brand-red);outline-offset:5px}
.pc-reticle{position:absolute;inset:35px auto auto 30px;width:34px;height:34px;border-top:1px solid #fff9;border-left:1px solid #fff9;pointer-events:none}
.pc-reticle:after{content:"";display:block;width:5px;height:5px;background:var(--brand-red);margin:10px}
[data-theme="dark"] .pc-image{opacity:.55;mask-image:linear-gradient(90deg,#000 0%,#000 18%,transparent 93%)}
[dir="ltr"] .pc-copy{margin-inline-start:auto}
@media(max-width:1100px) and (min-width:901px){.pc-shell{width:calc(100% - 64px)}.pc-copy{width:60%}.portfolio-contact h2{font-size:48px}.pc-image{width:86%}}
@media(max-width:900px){
 .portfolio-contact{padding:0 0 48px;min-height:0}
 .pc-image{position:relative;inset:auto;width:100%;height:235px;z-index:0;mask-image:linear-gradient(#000 0%,#000 60%,transparent 100%)}
 .pc-image img{object-position:left 42%}
 .pc-shell{width:calc(100% - 40px);margin-top:-10px}
 .pc-copy{width:100%;max-width:none;text-align:center}
 .pc-kicker{justify-content:center;margin-bottom:18px}
 .portfolio-contact h2{font-size:clamp(36px,7.8vw,52px);line-height:1.4;margin-bottom:14px}
 .pc-copy>p{font-size:14px;max-width:500px;margin:0 auto 23px}
 .pc-actions{justify-content:center;gap:15px}
 .pc-primary{min-width:245px;min-height:54px}
 .pc-bottom{justify-content:center;max-width:none;margin-top:28px;gap:18px}
 .pc-reticle{inset:20px auto auto 20px}
 [data-theme="dark"] .pc-image{opacity:.7;mask-image:linear-gradient(#000 0%,#000 55%,transparent 100%)}
}
@media(max-width:560px){.pc-image{height:205px}.pc-primary{width:100%;min-width:0}.pc-actions{flex-direction:column;gap:12px}.pc-email{font-size:12px;min-height:44px}.pc-copy>p{font-size:13px}.pc-bottom{flex-direction:column;gap:12px}.pc-social{gap:12px}}
@media(max-width:360px){.pc-shell{width:calc(100% - 32px)}.portfolio-contact h2{font-size:34px}.pc-image{height:185px}}
@media(prefers-reduced-motion:reduce){.pc-primary,.pc-social a{transition:none}}

/* Visual review, 2026-10-11. */

.portfolio-contact{padding-bottom:140px;border-bottom:0}
.pc-footer-seam{position:absolute;z-index:3;inset-inline:0;bottom:-1px;display:block;width:100%;height:64px;pointer-events:none}
@media(max-width:900px){.portfolio-contact,.about-page .portfolio-contact{padding-bottom:100px}.pc-footer-seam{height:42px}}

