.portfolio-ending { margin-top: 104px; background: #050505; color: #fff; font-family: 'Neue Montreal', Arial, sans-serif; }
.site-header .brand,.site-header .brand-role,.site-header .nav-link,.site-header .header-cta,.article-header > *,.article-header .article-nav a { transition:color 600ms cubic-bezier(.9,0,.1,1); }
body.shared-header-on-dark .site-header .brand,
body.shared-header-on-dark .site-header .brand-role,
body.shared-header-on-dark .site-header .nav-link,
body.shared-header-on-dark .site-header .header-cta,
body.shared-header-on-dark .article-header > *,
body.shared-header-on-dark .article-header .article-nav a { color:#fff; }
body.shared-header-on-dark .site-header .nav-link:hover,
body.shared-header-on-dark .article-header .article-nav a:hover { color:rgba(255,255,255,.62); }
body.shared-header-on-dark .site-header .menu-toggle span { background:#fff; }
body.mobile-menu-open.shared-header-on-dark .site-header .menu-toggle span { background:#111; }
.portfolio-ending * { box-sizing: border-box; }
.pe-contact { min-height: 0; padding: 208px 24px; display: grid; place-items: center; text-align: center; }
.pe-contact-inner { width: min(700px, 100%); display: flex; flex-direction: column; align-items: center; }
.pe-contact h2 { margin: 0; font-size: 40px; font-weight: 100; line-height: .98; }
.pe-contact h2 span { background: linear-gradient(135deg,#93b4e9 0%,#a0b9e1 16%,#c3c3cd 32%,#e9c2a1 48%,#f9b375 64%,#ff9d5c 80%,#fe8b54 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.pe-contact p { max-width: 560px; margin: 28px 0 38px; color: rgba(255,255,255,.68); font-size: 16px; line-height: 1.45; }
.pe-button { position: relative; isolation: isolate; overflow: hidden; display: inline-flex; align-items: center; gap: 7px; min-height: 42px; padding: 12px 13px; border-radius: 4px; background: #fff; color: #111; text-decoration: none; line-height: 1; }
.pe-button::after { content:""; position:absolute; z-index:0; inset:-1px; border-radius:inherit; background:linear-gradient(135deg,#93b4e9 0%,#a0b9e1 16%,#c3c3cd 32%,#e9c2a1 48%,#f9b375 64%,#ff9d5c 80%,#fe8b54 100%); opacity:0; transition:opacity 500ms cubic-bezier(.9,0,.1,1); }
.pe-button:hover::after,.pe-button:focus-visible::after { opacity:1; }
.pe-button > * { position:relative; z-index:1; }
.pe-button-label { display:block; overflow:hidden; padding:.08em 0; margin:-.08em 0; white-space:nowrap; }
.pe-button-char { display:inline-block; text-shadow:0 1.15em 0 #111; transition:transform .3s cubic-bezier(.9,0,.1,1); }
.pe-button:hover .pe-button-char,.pe-button:focus-visible .pe-button-char { transform:translateY(-1.15em); transition-duration:.5s; transition-delay:calc(var(--char) * 20ms); }
.pe-arrow-clip { width:18px; height:18px; overflow:hidden; }
.pe-arrow-track { display:flex; flex-direction:column; transition:transform .3s cubic-bezier(.9,0,.1,1); }
.pe-arrow-track img { width:18px; height:18px; flex:0 0 18px; }
.pe-button:hover .pe-arrow-track,.pe-button:focus-visible .pe-arrow-track { transform:translateY(-18px); transition-duration:.5s; transition-delay:200ms; }
.pe-closing { min-height: 430px; padding: 0 24px; display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); grid-template-rows:auto 1fr; gap:24px; }
.pe-clock { margin:0; color:#fff; font-size:14px; line-height:1.2; font-variant-numeric:tabular-nums; white-space:nowrap; }
.pe-clock:first-child { grid-column:1/span 4; }
.pe-clock:last-of-type { grid-column:9/-1; text-align:right; }
.pe-closing h2 { grid-column:1/span 5; align-self:center; max-width:520px; margin:0; font-size:40px; font-weight:100; line-height:.98; letter-spacing:-1px; }
.pe-actions { grid-column:7/-1; align-self:center; display:flex; flex-direction:column; }
.pe-action { min-height:76px; border-bottom:1px solid rgba(255,255,255,.2); display:flex; align-items:center; justify-content:space-between; gap:24px; color:#fff; text-decoration:none; font-size:16px; }
.pe-action-icon { position:relative; isolation:isolate; overflow:hidden; flex:0 0 auto; padding:12px 13px; border-radius:4px; display:grid; place-items:center; background:linear-gradient(135deg,#93b4e9 0%,#a0b9e1 16%,#c3c3cd 32%,#e9c2a1 48%,#f9b375 64%,#ff9d5c 80%,#fe8b54 100%); }
.pe-action-icon::before { content:""; position:absolute; z-index:0; inset:-1px; border-radius:inherit; background:#fff; opacity:1; transition:opacity 500ms cubic-bezier(.9,0,.1,1); }
.pe-action-clip { position:relative; z-index:1; display:block; width:18px; height:18px; overflow:hidden; }
.pe-action-icon .pe-action-track { display:flex; width:36px; transform:translateX(-18px); transition:transform 500ms cubic-bezier(.2,0,0,1); }
.pe-action-icon img { display:block; flex:0 0 18px; width:18px; height:18px; }
.pe-action:hover .pe-action-track,.pe-action:focus-visible .pe-action-track { transform:translateX(0); }
.pe-action:hover .pe-action-icon::before,.pe-action:focus-visible .pe-action-icon::before { opacity:0; }
.pe-name { box-sizing:border-box; width:100%; margin-top:0; padding:56px 24px 0; overflow:hidden; background:#050505; }
.pe-name h2 { --pe-name-width:calc(100vw - 48px); display:flex; justify-content:space-between; align-items:flex-end; column-gap:2.5vw; width:100%; margin:0; overflow:hidden; white-space:nowrap; font-size:clamp(64px,17.25vw,280px); line-height:1; font-weight:500; letter-spacing:-.055em; }
.pe-name-word { display:block; flex:0 0 auto; padding-bottom:.2em; color:transparent; background-image:linear-gradient(90deg,#93b4e9 0%,#a0b9e1 16%,#c3c3cd 32%,#e9c2a1 48%,#f9b375 64%,#ff9d5c 80%,#fe8b54 100%); background-repeat:no-repeat; background-size:var(--pe-name-width) 100%; background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.pe-name-word:last-child { background-position:right center; }
.pe-name.gradient-flow-ready .pe-name-word { background-image:linear-gradient(90deg,#93b4e9 0%,#a0b9e1 8%,#c3c3cd 16%,#e9c2a1 24%,#f9b375 32%,#ff9d5c 40%,#fe8b54 50%,#ff9d5c 60%,#f9b375 68%,#e9c2a1 76%,#c3c3cd 84%,#a0b9e1 92%,#93b4e9 100%); background-size:calc(var(--pe-name-width) * 2) 100%; background-position:calc(0px - var(--pe-name-offset,0px)) center; }
.pe-name.gradient-flow-ready.text-visible .pe-name-word { animation:pe-name-gradient-flow 6s ease-in-out infinite; }
@keyframes pe-name-gradient-flow { 0%,100% { background-position:calc(0px - var(--pe-name-offset,0px)) center; } 50% { background-position:calc(0px - var(--pe-name-offset,0px) - var(--pe-name-width)) center; } }
@media(prefers-reduced-motion:reduce){.pe-name.gradient-flow-ready.text-visible .pe-name-word{animation:none}}
.pe-name.featured-reveal-ready .pe-name-word { opacity:0; transform:translateY(100%); }
.pe-name.featured-reveal-ready.text-visible .pe-name-word { opacity:1; transform:translateY(0); transition:transform 1500ms cubic-bezier(.9,0,.1,1),opacity 1000ms cubic-bezier(.9,0,.1,1); }
.pe-name.featured-reveal-ready.text-visible .pe-name-word:nth-child(2) { transition-delay:180ms; }
.pe-footer { margin-top:0; padding:104px 24px 24px; color:#fff; background:#050505; }
.pe-footer-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:24px; align-items:start; font-size:14px; line-height:1.55; }
.pe-location { grid-column:1/span 3; margin:0; }.pe-heading{color:#fff}.pe-nav{grid-column:7/span 2}.pe-social{grid-column:10/-1}.pe-nav,.pe-social{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.pe-footer a{color:#fff;text-decoration:none}.pe-legal{grid-column:1/-1;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;padding-top:72px}.pe-copyright{grid-column:1/span 3}.pe-privacy{grid-column:7/span 2}
.footer-link-label{display:block;height:1.15em;overflow:hidden;padding:0;margin:0;line-height:1.15em;white-space:nowrap}.footer-link-char{position:relative;display:inline-block;color:#fff;transform:translateY(0);transition:transform .3s cubic-bezier(.9,0,.1,1)}.footer-link-char::after{content:attr(data-char);position:absolute;top:1.15em;left:0;color:transparent;background:linear-gradient(90deg,#93b4e9 0%,#a0b9e1 16%,#c3c3cd 32%,#e9c2a1 48%,#f9b375 64%,#ff9d5c 80%,#fe8b54 100%);background-size:var(--gradient-width,100%) 100%;background-position:var(--gradient-x,0) 50%;background-repeat:no-repeat;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.pe-nav a:hover .footer-link-char,.pe-nav a:focus-visible .footer-link-char,.pe-social a:hover .footer-link-char,.pe-social a:focus-visible .footer-link-char{transform:translateY(-1.15em);transition-duration:.5s;transition-delay:calc(var(--char)*20ms)}
@media(max-width:900px){.portfolio-ending{margin-top:70px}.pe-contact{padding:208px 20px 112px}.pe-contact h2{font-size:36px}.pe-contact p{margin:24px 0 32px}.pe-name{margin-top:0;padding:56px 12px 0}.pe-name h2{--pe-name-width:calc(100vw - 24px);font-size:16.1vw}.pe-footer{margin-top:0;padding:70px 12px 12px}.pe-footer-grid{grid-template-columns:1fr 1fr;gap:32px 18px}.pe-location,.pe-nav,.pe-social{grid-column:auto}.pe-nav,.pe-social{gap:10px}.pe-social{grid-column:2}.pe-legal{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:18px;padding-top:34px}.pe-copyright,.pe-privacy{grid-column:auto}}
@media(max-width:700px){.pe-closing{min-height:0;padding:40px 20px 0;grid-template-columns:1fr;grid-template-rows:auto auto auto auto;align-content:start;gap:10px}.pe-clock{grid-column:1;justify-self:start;font-size:12px;text-align:left}.pe-clock:first-child{grid-column:1;grid-row:1}.pe-clock:last-of-type{grid-column:1;grid-row:2;text-align:left}.pe-closing h2{grid-column:1;grid-row:3;align-self:start;margin-top:42px;font-size:40px}.pe-actions{grid-column:1;grid-row:4;align-self:start;justify-self:stretch;width:100%;margin-top:46px}.pe-action{min-height:66px;font-size:16px}}
@media(max-width:900px){.pe-action-icon::before{opacity:1!important;transition:none}.pe-action-icon .pe-action-track,.pe-action:hover .pe-action-track,.pe-action:focus-visible .pe-action-track{transform:translateX(-18px);transition:none}}
@media(prefers-reduced-motion:reduce){.pe-button::after,.pe-arrow-track,.pe-button-char{transition:none}.pe-button:hover .pe-arrow-track,.pe-button:hover .pe-button-char{transform:none}}
@media(prefers-reduced-motion:reduce){.pe-name.featured-reveal-ready .pe-name-word{opacity:1;transform:none;transition:none}}
@media(prefers-reduced-motion:reduce){.footer-link-char{transition:none}.pe-nav a:hover .footer-link-char,.pe-nav a:focus-visible .footer-link-char,.pe-social a:hover .footer-link-char,.pe-social a:focus-visible .footer-link-char{transform:none}}
.custom-cursor.is-interactive.is-subtle .custom-cursor-dot{opacity:.5;transform:translate(-50%,-50%) scale(.32)}

/* Scale the signature with the portfolio frame, including agent-panel resizing. */
.pe-name { container-type:inline-size; }
.pe-name h2 { font-size:17.25cqw; column-gap:2.5cqw; }
@media(max-width:900px){.pe-name h2{font-size:16.1cqw}}
