/* Shared navigation across the portfolio and case studies. */
.portfolio-header{position:sticky;top:0;z-index:50;width:100%;padding:0;background:rgba(244,245,241,.96);border:0;border-bottom:1px solid #cbd5cf;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:transform .26s ease}
.portfolio-header.is-hidden{transform:translateY(-100%)}
.portfolio-header-inner{box-sizing:border-box;max-width:1440px;min-height:88px;margin:0 auto;padding:0 clamp(22px,5vw,80px);display:flex;align-items:center;justify-content:space-between;gap:28px}
.portfolio-header .portfolio-brand{display:inline-flex;align-items:center;gap:10px;flex-shrink:0;color:#172724;font:700 1.18rem/1.3 'Space Grotesk',system-ui,sans-serif;letter-spacing:-.05em;white-space:nowrap;text-decoration:none}
.portfolio-brand img{display:block;width:39px;height:39px;object-fit:contain}.portfolio-brand b{color:#008f82}
.portfolio-header .portfolio-nav{display:flex;align-items:center;gap:24px;margin:0;padding:0}
.portfolio-header .portfolio-nav a{color:#172724;font:600 .92rem/1.4 'DM Sans',system-ui,sans-serif;text-decoration:none;white-space:nowrap;letter-spacing:0}
.portfolio-header .portfolio-nav a:hover{color:#008f82}
.portfolio-header .portfolio-nav .portfolio-contact{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:100px;padding:11px 20px;background:linear-gradient(115deg,#dcf363 0%,#a9e39a 52%,#68cbb0 100%);transition:filter .2s ease}
.portfolio-header .portfolio-nav .portfolio-contact:hover{color:#172724;filter:brightness(.96)}
.portfolio-header a:focus-visible,.portfolio-back:focus-visible{outline:3px solid #008f82;outline-offset:5px}
.portfolio-back-row{max-width:1100px;margin:0 auto;padding:28px 32px 0}
.portfolio-back{display:inline-flex;align-items:center;gap:12px;min-height:44px;color:#34403c;text-decoration:none;font:500 .94rem/1.4 'DM Sans',system-ui,sans-serif}
.portfolio-back-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid #cbd5cf;border-radius:50%;background:rgba(255,255,255,.65);transition:background .2s,border-color .2s,transform .2s}
.portfolio-back:hover{color:#00796e;text-decoration:none}.portfolio-back:hover .portfolio-back-icon{background:#e0ece7;border-color:#91b6a8;transform:translateX(-3px)}
.visual-case .hero{padding-top:36px}
.career-scroll .career-list>li:nth-child(odd){background:#eceeeb;border-top-color:#bfcac3}
.career-scroll .career-list>li:nth-child(even){background:#dfede5;border-top-color:#b1ccbc}

.portfolio-header .portfolio-menu{display:flex;align-items:center;gap:24px}
.portfolio-menu-toggle{display:none;align-items:center;justify-content:center;flex:none;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:transparent;color:#172724;cursor:pointer}
.portfolio-menu-toggle:hover{background:#e0ece7}.portfolio-menu-toggle:focus-visible{outline:3px solid #008f82;outline-offset:3px}
.portfolio-menu-toggle svg{display:block}.menu-close{display:none}.portfolio-header.menu-open .menu-lines{display:none}.portfolio-header.menu-open .menu-close{display:block}
.portfolio-header.menu-open,.portfolio-header:focus-within{transform:none}
.portfolio-scroll-top{position:fixed;right:clamp(16px,3vw,36px);bottom:calc(18px + env(safe-area-inset-bottom));z-index:60;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid rgba(220,243,99,.35);border-radius:50%;background:rgba(23,39,36,.9);color:#dcf363;box-shadow:0 7px 22px rgba(23,39,36,.18);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease,background .2s ease}
.portfolio-scroll-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.portfolio-scroll-top:hover{background:#0d574e;transform:translateY(-3px)}
.portfolio-scroll-top:focus-visible{outline:3px solid #008f82;outline-offset:3px}
.portfolio-scroll-top svg{display:block}
#work,#process,#experience,#about,#contact{scroll-margin-top:100px}
@media(max-width:1100px){
 .portfolio-header-inner{min-height:72px;padding:0 24px;gap:16px;flex-wrap:nowrap}
 .portfolio-header .portfolio-nav{gap:12px}
 .portfolio-header .portfolio-menu{display:none;position:absolute;top:100%;left:0;right:0;max-height:calc(100dvh - 72px);overflow:auto;padding:14px 24px 22px;background:#f4f5f1;border-bottom:1px solid #cbd5cf;box-shadow:0 16px 24px rgba(23,39,36,.08);flex-direction:column;align-items:stretch;gap:0}
 .portfolio-header.menu-open .portfolio-menu{display:flex}
 .portfolio-header .portfolio-menu a{display:block;padding:14px 8px;font-size:1rem;border-radius:8px}
 .portfolio-header .portfolio-menu a:hover{background:#e0ece7}
 .portfolio-menu-toggle{display:flex}
 .portfolio-header .portfolio-nav .portfolio-contact{padding:9px 14px}
}
@media(max-width:620px){
 .portfolio-header-inner{padding:0 16px;gap:8px}
 .portfolio-header .portfolio-brand{font-size:.88rem;gap:6px}
 .portfolio-brand img{width:32px;height:32px}
 .portfolio-header .portfolio-nav{gap:6px}
 .portfolio-header .portfolio-nav .portfolio-contact{font-size:.78rem;padding:8px 10px}
 .portfolio-header .portfolio-menu{padding-inline:16px}
 .portfolio-back-row{padding:22px 18px 0}.visual-case .hero{padding-top:28px}
 .portfolio-scroll-top{right:14px;bottom:calc(14px + env(safe-area-inset-bottom));width:40px;height:40px}
}
@media(max-width:380px){.portfolio-header-inner{padding-inline:12px}.portfolio-header .portfolio-brand{font-size:.76rem;gap:4px}.portfolio-brand img{width:28px;height:28px}.portfolio-header .portfolio-nav .portfolio-contact{font-size:.72rem;padding:8px}}
@media(prefers-reduced-motion:reduce){.portfolio-header,.portfolio-back-icon,.portfolio-header .portfolio-nav .portfolio-contact,.portfolio-scroll-top{transition:none}.portfolio-back:hover .portfolio-back-icon,.portfolio-scroll-top:hover{transform:none}}
