.portfolio-page{grid-template-columns:clamp(290px,19vw,340px) minmax(0,1fr);align-items:start;gap:clamp(1.25rem,2vw,2.5rem);width:calc(100% - clamp(3rem,5vw,6rem));margin:0 auto;display:grid}.portfolio-navigation{min-width:0;position:sticky;top:calc(82px + 1.5rem)}.portfolio-index{border:1px solid var(--stroke);background:var(--surface);border-radius:1.1rem;padding:1.1rem;box-shadow:0 18px 46px #0000001f}.portfolio-index-heading{color:var(--secondary-color);letter-spacing:.09em;text-transform:uppercase;margin:0 0 .8rem;padding:0 .55rem;font-size:.82rem;font-weight:800}.portfolio-index-list{scrollbar-color:var(--secondary-color) transparent;scrollbar-width:thin;min-height:0;max-height:calc(100dvh - 82px - 10rem);margin:0;padding:0;list-style:none;overflow-y:auto}.portfolio-index-list>li+li{margin-top:1rem}.portfolio-index-group>ol{margin:0;padding:0;list-style:none}.portfolio-index-group-label{color:var(--secondary-color);letter-spacing:.06em;padding:.35rem .55rem;font-size:.8rem;font-weight:800;display:block}.portfolio-index-list a{color:var(--text-muted);overflow-wrap:anywhere;border-radius:.65rem;padding:.65rem .55rem;font-size:.88rem;font-weight:700;line-height:1.35;transition:color .2s,background-color .2s;display:block}.portfolio-index-list a:hover{color:var(--text-primary);background:#f59b601a}.portfolio-index-list a[aria-current=location]{color:var(--secondary-color);background:#f59b601f}.portfolio-index-list a.portfolio-index-group-link{color:var(--secondary-color);letter-spacing:.06em;font-size:.8rem;font-weight:800}.portfolio-mobile-navigation{display:none}.portfolio-content{width:100%;min-width:0;margin:0}.portfolio-year-section+.portfolio-year-section{margin-top:clamp(2.5rem,5vw,4rem)}.portfolio-year-heading{color:var(--secondary-color);align-items:center;gap:1rem;margin:0 0 1.25rem;scroll-margin-top:10rem;font-size:clamp(1.5rem,2.5vw,2rem);font-weight:800;display:flex}.portfolio-year-heading:after{content:"";background:var(--stroke);flex:1;height:1px}.project{border:1px solid var(--stroke);background:linear-gradient(145deg,#3a302ef0,#2b2524f0);border-radius:1.25rem;margin:0 0 1.5rem;padding:clamp(1.5rem,3.5vw,2.5rem);scroll-margin-top:10rem;box-shadow:0 18px 46px #0000001a}.project-with-media{grid-template-columns:minmax(0,43%) minmax(0,1fr);align-items:start;column-gap:clamp(1.5rem,3.5vw,3rem);display:grid}.project h3{color:var(--text-primary);letter-spacing:-.025em;overflow-wrap:anywhere;grid-column:1/-1;margin:0 0 1.4rem;font-size:clamp(1.5rem,2.5vw,2.1rem);font-weight:800;line-height:1.2}.project h3:before{content:"";background:var(--secondary-color);border-radius:50%;width:.6rem;height:.6rem;margin:0 .75rem .25rem 0;display:inline-block;box-shadow:0 0 0 5px #f59b601a}.project .prose{color:#e0d6d1;min-width:0;font-size:1rem}.project .prose p{text-align:justify;hyphens:auto;margin:0 0 1rem}.project .prose p:last-child{margin-bottom:0}.project-links{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:.7rem;margin:1.5rem 0 0;padding:0;list-style:none;display:flex}.project-links li{max-width:100%}.project-links a{overflow-wrap:anywhere}.project-links img{max-width:100%;height:auto;display:block}@media (width<=1180px){.portfolio-page{display:block}.portfolio-navigation{z-index:10;margin:0 0 1.5rem;top:82px}.portfolio-index{display:none}.portfolio-mobile-navigation{border:1px solid var(--stroke);background:var(--surface);border-radius:.9rem;padding:.5rem;display:block;position:relative;box-shadow:0 12px 30px #00000026}.portfolio-mobile-navigation summary{cursor:pointer;border-radius:.65rem;align-items:center;gap:1rem;min-height:44px;padding:.35rem .65rem;list-style:none;display:flex}.portfolio-mobile-navigation summary::-webkit-details-marker{display:none}.portfolio-mobile-navigation summary:hover,.portfolio-mobile-navigation[open] summary{background:#f59b601a}.portfolio-mobile-navigation summary:focus-visible{outline:2px solid var(--secondary-color);outline-offset:2px}.portfolio-mobile-label{color:var(--secondary-color);flex:none;font-size:.85rem;font-weight:800}.portfolio-mobile-current{min-width:0;color:var(--text-primary);text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:auto;font-weight:700;overflow:hidden}.portfolio-mobile-chevron{border-right:2px solid var(--secondary-color);border-bottom:2px solid var(--secondary-color);flex:none;width:.55rem;height:.55rem;margin:-.25rem .25rem 0 0;transition:transform .2s;transform:rotate(45deg)}.portfolio-mobile-navigation[open] .portfolio-mobile-chevron{transform:rotate(225deg)}.portfolio-mobile-navigation nav{z-index:1;border:1px solid var(--stroke);background:var(--surface);border-radius:.9rem;padding:.5rem;position:absolute;top:calc(100% + .5rem);left:0;right:0;box-shadow:0 18px 46px #00000040}.portfolio-mobile-list{scrollbar-color:var(--secondary-color) transparent;scrollbar-width:thin;max-height:min(55dvh,420px);margin:0;padding:0;list-style:none;overflow-y:auto}.portfolio-mobile-list>li+li{margin-top:.65rem}.portfolio-mobile-list a{color:var(--text-muted);overflow-wrap:anywhere;border-radius:.6rem;padding:.7rem .85rem;font-weight:700;line-height:1.35;display:block}.portfolio-mobile-list a:hover,.portfolio-mobile-list a[aria-current=location]{color:var(--secondary-color);background:#f59b601f}.portfolio-mobile-list a.portfolio-index-group-link{color:var(--secondary-color);letter-spacing:.06em;font-size:.8rem;font-weight:800}}@media (width<=900px){.project-with-media{display:block}.project .portfolio-media{margin-bottom:1.5rem}}@media (width<=780px){.portfolio-page{width:calc(100% - 2rem)}.portfolio-navigation{top:114px}.project{scroll-margin-top:13rem}.project.project-with-media .portfolio-media{margin-bottom:2rem}}
