/* Scoped portfolio adjustments; original shared styles remain intact. */
.contact-send{position:relative;display:flex;align-items:center;justify-content:center;height:64px;min-height:64px;padding:10px 58px;border-radius:6px;background:#000;color:#fff;font-size:16px;font-weight:600;line-height:22px}
.contact-send:is(:hover,:focus-visible){background:#000;color:var(--yellow)}
.contact-send .send-icon{position:absolute;right:14px;top:15px;width:34px;height:34px;display:grid;place-items:center}
.send-icon>img,.send-icon>span{grid-area:1/1;display:block;transition:opacity .2s ease}
.send-hover,.send-spinner,.send-success{opacity:0}
.contact-send:is(:hover,:focus-visible) .send-default{opacity:0}
.contact-send:is(:hover,:focus-visible) .send-hover{opacity:1}
.contact-send[data-state="sending"],.contact-send[data-state="success"]{color:#fff}
.contact-send[data-state="sending"] .send-default,.contact-send[data-state="sending"] .send-hover,.contact-send[data-state="success"] .send-default,.contact-send[data-state="success"] .send-hover{opacity:0}
.send-spinner{width:26px;height:26px;border:2px solid #ffffff45;border-top-color:var(--yellow);border-radius:50%}
.contact-send[data-state="sending"] .send-spinner{opacity:1;animation:send-spin .75s linear infinite}
.send-icon .send-success{width:34px;height:34px;background:#34c759;border-radius:50%;display:grid;place-items:center}
.contact-send[data-state="success"] .send-success{opacity:1;animation:send-confirm .3s ease-out both}
.contact-send[data-state="success"] .send-success img{animation:send-check .3s .12s ease-out both}
@keyframes send-spin{to{transform:rotate(360deg)}}
@keyframes send-confirm{from{transform:scale(.75)}to{transform:scale(1)}}
@keyframes send-check{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}
.cv-download{display:inline-flex;align-items:center;justify-content:center;gap:0;height:27px;width:216px;max-width:100%;padding:0 5px;border:1px solid currentColor;border-radius:6px;font-size:14px;font-weight:600;line-height:21px;white-space:nowrap;transition:width .25s,color .25s,background .25s,gap .25s}
.download-icon{display:grid;place-items:center;width:0;opacity:0;overflow:hidden;transition:width .25s,opacity .25s;flex-shrink:0}
.download-icon img{grid-area:1/1;display:block;max-width:none}
.download-dark{visibility:hidden}
.cv-download:is(:hover,:focus-visible){width:240px;gap:4px;background:#000;border-color:#000;color:var(--yellow)}
.cv-download:is(:hover,:focus-visible) .download-icon{width:21px;opacity:1}
.dark .cv-download:is(:hover,:focus-visible){background:var(--yellow);border-color:var(--yellow);color:#000}
.dark .cv-download .download-light{visibility:hidden}.dark .cv-download .download-dark{visibility:visible}
.cv-download-row{border-top:1px solid var(--line);margin-top:28px;padding-top:27px}
.footer-actions{display:flex;flex-direction:column;align-items:flex-start;gap:16px;width:240px;max-width:100%}
.footer-actions #privacy-button{text-align:left}
.footer-actions #privacy-button:is(:hover,:focus-visible){color:var(--yellow);text-decoration:underline;text-underline-offset:3px}

@media(max-width:700px){
 #project-list .project-row .desktop-project-icon,.case-next .project-row .expand-icon{width:44px;height:44px;top:26px;right:-7px;transform:none}
 #project-list .project-row .expand-icon img,.case-next .project-row .expand-icon img{width:30px;height:30px;top:0;left:7px;translate:0;scale:1}
 #project-list .project-row h3{min-height:30px;align-items:flex-start;padding-right:48px}
 .case-next .project-row .project-copy{width:100%}.case-next .project-row h2{padding-right:48px}
 .mobile-hidden-animation{display:none!important}
 .footer-actions{margin-top:12px}
}
@media(prefers-reduced-motion:reduce){.contact-send .send-icon *{animation:none!important;transition:none!important}}

.download-light{filter:brightness(0) saturate(100%) invert(94%) sepia(97%) saturate(763%) hue-rotate(8deg) brightness(106%) contrast(101%)}
.download-dark{filter:brightness(0)}

/* Remove only the divider above Languages; retain its existing spacing. */
.languages{border-top-color:transparent}

/* Upper CV action: match the journey tabs (21px line + 16px padding + 2px border). */
.cv-download-row .cv-download{height:39px;min-height:39px;width:max-content;min-width:216px;padding-inline:10px}
.cv-download-row .cv-download:is(:hover,:focus-visible){width:max-content}
.cv-download-row .download-icon{height:31px}
.cv-download-row .download-icon img{transform:scale(1.444444);transform-origin:center}
.cv-download-row .cv-download:is(:hover,:focus-visible) .download-icon{width:31px}
