.portfolioRowPage{min-height:100vh}.portfolioRowPage__hero{background-color:var(--tan);padding:4rem 0 3rem;border-bottom:3px solid var(--hot-pink);position:relative;overflow:hidden}.portfolioRowPage__hero-inner{position:relative;z-index:1;display:flex;align-items:center;gap:3rem}@media (max-width:900px){.portfolioRowPage__hero-inner{flex-direction:column;align-items:stretch}}.portfolioRowPage__hero-content{flex:1 1 auto;max-width:680px}.portfolioRowPage__title{margin:0 0 .5rem}@media (max-width:900px){.portfolioRowPage__title{text-align:center}}.portfolioRowPage__title:after{content:"";display:block;width:60px;height:3px;background:linear-gradient(90deg,var(--hot-pink) 0,var(--lime) 100%);margin:1.25rem 0;border-radius:2px}@media (max-width:900px){.portfolioRowPage__title:after{margin-inline:auto}}.portfolioRowPage__description{max-width:680px;margin-bottom:1.5rem}.portfolioRowPage__blurb{font-family:var(--font-oooh-baby);font-size:1.75rem;color:var(--wine);margin:0}.portfolioRowPage__items{background:var(--background);position:relative;overflow:hidden;isolation:isolate}.portfolioRowPage__items:after,.portfolioRowPage__items:before{content:"";position:absolute;top:30%;width:260px;height:260px;background:url(/star.svg) no-repeat 50%/contain;opacity:.25;pointer-events:none;user-select:none;z-index:-1}.portfolioRowPage__items:before{left:-90px;transform:translateY(-70%) rotate(-12deg)}.portfolioRowPage__items:after{right:-90px;transform:translateY(-30%) rotate(12deg)}@media (max-width:900px){.portfolioRowPage__items:after,.portfolioRowPage__items:before{width:160px;height:160px}}.portfolioRowPage__grid{display:flex;flex-wrap:wrap;justify-content:center;gap:2.5rem}.portfolioRowPage__item{background:white;border:1px solid rgba(204,203,203,.393);display:flex;flex-direction:column;flex:1 1 320px;max-width:400px}.portfolioRowPage__item-image-wrapper{position:relative;width:100%;aspect-ratio:16/10;overflow:hidden}.portfolioRowPage__item-image{object-fit:cover;object-position:top;transition:transform .4s ease}.portfolioRowPage__item:hover .portfolioRowPage__item-image{transform:scale(1.02)}.portfolioRowPage__item-content{padding:1.5rem;display:flex;flex-direction:column;gap:1rem;flex:1}.portfolioRowPage__item-header{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;border-bottom:1px solid var(--lime);padding-bottom:.75rem}.portfolioRowPage__item-title{margin:0;font-size:1.1rem}.portfolioRowPage__item-year{font-size:.75rem;color:var(--wine);opacity:.5;white-space:nowrap;font-family:var(--font-tenor-sans);letter-spacing:.05em}.portfolioRowPage__item-description{font-size:.9rem;line-height:1.7;color:var(--wine);margin:0;opacity:.8}.portfolioRowPage__item-technologies{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:0}.portfolioRowPage__item-body{font-size:.9rem;line-height:1.7;color:var(--foreground);padding-top:1rem}.portfolioRowPage__empty{text-align:center;padding:4rem 2rem;color:var(--wine);opacity:.6;font-family:var(--font-tenor-sans);flex:1 1 100%}.portfolioRowPage .galleryModal__trigger{border:none;text-transform:none;letter-spacing:.05em;font-size:.75rem;font-weight:600;padding:.35rem .85rem;background:linear-gradient(135deg,var(--hot-pink) 0,var(--watermelon) 100%);color:white;border-radius:16px;box-shadow:0 2px 4px rgba(246,76,157,.3);transition:transform .2s ease}.portfolioRowPage .galleryModal__trigger:hover{background:linear-gradient(135deg,var(--hot-pink) 0,var(--watermelon) 100%);color:white;transform:scale(1.05)}.portfolioRowPage__pager{position:relative;flex:0 0 auto;align-self:center;display:flex;flex-direction:column;justify-content:center;gap:1.75rem;padding:3.5rem;width:fit-content;min-width:300px;max-width:380px;aspect-ratio:1}.portfolioRowPage__pager:before{content:"";position:absolute;inset:-4rem;transform:rotate(-6deg);background:url(/sign.svg) no-repeat 50%/contain;opacity:.45;pointer-events:none;user-select:none;z-index:-1}@media (max-width:900px){.portfolioRowPage__pager{align-self:stretch;width:auto;min-width:0;max-width:none;aspect-ratio:auto;padding:3rem 0 0;margin-top:1rem;border-top:1px solid rgba(204,203,203,.4)}.portfolioRowPage__pager:before{display:none}}.portfolioRowPage__pager-link{display:flex;flex-direction:column;gap:.35rem;color:var(--wine);transition:color .2s ease}.portfolioRowPage__pager-link--next{text-align:right;align-items:flex-end}.portfolioRowPage__pager-link:hover{color:var(--hot-pink)}@media (max-width:900px){.portfolioRowPage__pager-link--next{text-align:left;align-items:flex-start}}.portfolioRowPage__pager-direction{font-family:var(--font-tenor-sans);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;text-decoration:none}.portfolioRowPage__pager-name{font-size:1.05rem;font-weight:600}.galleryModal{background:white;border-radius:4px;border-top:4px solid var(--hot-pink);box-shadow:0 8px 40px rgba(63,9,32,.25);width:100%;max-width:960px;height:80vh;min-height:480px;max-height:860px;display:flex;flex-direction:column}.galleryModal__overlay{position:fixed;inset:0;background:rgba(63,9,32,.75);display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem;backdrop-filter:blur(6px)}@media (max-width:640px){.galleryModal__overlay{padding:1rem}}.galleryModal__trigger{font-family:var(--font-tenor-sans);background:none;border:1px solid var(--wine);color:var(--wine);font-size:.8rem;font-weight:600;cursor:pointer;padding:.5rem 1rem;text-transform:uppercase;letter-spacing:.08em;border-radius:2px;transition:all .2s ease;align-self:flex-start;margin-top:auto}.galleryModal__trigger:hover{background:var(--wine);color:white}.galleryModal__trigger:focus-visible{outline:2px solid var(--hot-pink);outline-offset:3px}.galleryModal__header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid rgba(204,203,203,.4);flex-shrink:0;gap:1rem}.galleryModal__title{font-family:var(--font-tenor-sans);font-size:1rem;text-transform:uppercase;letter-spacing:.06em;color:var(--wine);margin:0;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.galleryModal__header-right{display:flex;align-items:center;gap:1rem;flex-shrink:0}.galleryModal__counter{font-family:var(--font-tenor-sans);font-size:.8rem;color:var(--wine);opacity:.5;letter-spacing:.05em;white-space:nowrap}.galleryModal__close{width:32px;height:32px;border-radius:2px;background:transparent;border:1px solid var(--wine);font-size:1.2rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--wine);transition:all .2s ease;flex-shrink:0}.galleryModal__close:hover{background:var(--wine);color:white}.galleryModal__body{display:flex;flex:1;min-height:0}@media (max-width:640px){.galleryModal__body{flex-direction:column}}.galleryModal__preview{flex:1;min-width:0;min-height:0;position:relative;background:#f5f0eb}@media (max-width:640px){.galleryModal__preview{flex:none;height:260px}}.galleryModal__preview-wrapper{position:absolute;inset:0}.galleryModal__preview-image{object-fit:contain;padding:1rem}.galleryModal__thumbnails{width:160px;flex-shrink:0;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem;padding:.75rem;border-left:1px solid rgba(204,203,203,.4);background:#faf8f6}@media (max-width:640px){.galleryModal__thumbnails{width:100%;height:110px;flex-direction:row;overflow-x:auto;overflow-y:hidden;border-left:none;border-top:1px solid rgba(204,203,203,.4);padding:.5rem}}.galleryModal__thumb{flex-shrink:0;width:100%;aspect-ratio:16/10;position:relative;padding:0;background:none;border:2px solid transparent;border-radius:2px;cursor:pointer;transition:border-color .15s ease;overflow:hidden}@media (max-width:640px){.galleryModal__thumb{width:96px;height:60px;aspect-ratio:unset}}.galleryModal__thumb:hover{border-color:var(--lime)}.galleryModal__thumb--active{border-color:var(--hot-pink)}.galleryModal__thumb-wrapper{position:absolute;inset:0}.galleryModal__thumb-image{object-fit:cover;object-position:top}