.portfolio-page{--bg-page:#fffefd;--bg-surface:#f5f4f0;--text-main:#2d2a26;--text-muted:#8a857d;--text-light:#b4b0a8;--accent-terracotta:#e89a5e;--accent-terracotta-light:#fdf4ed;--tag-red-bg:#fcf1f1;--tag-red-txt:#d16b6b;--tag-yellow-bg:#fdf6eb;--tag-yellow-txt:#d49d42;--tag-purple-bg:#f4eff9;--tag-purple-txt:#9872c4;--tag-green-bg:#eff6f0;--tag-green-txt:#68a376;--tag-blue-bg:#eef4f9;--tag-blue-txt:#6b9dc4;--max-w:1000px;--radius-pill:999px;--radius-card:32px;min-height:100%;font-family:var(--font-dm-sans), sans-serif;background-color:var(--bg-page);color:var(--text-main);line-height:1.6;overflow-x:hidden}.portfolio-page *,.portfolio-page :before,.portfolio-page :after{box-sizing:border-box}.portfolio-page *{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}.portfolio-page h1,.portfolio-page h2,.portfolio-page h3,.portfolio-page .serif{font-family:var(--font-newsreader), serif;color:var(--text-main);letter-spacing:-.02em;font-weight:400}.portfolio-page h1{margin-bottom:1.5rem;font-size:4rem;line-height:1.1}.portfolio-page h1 i{color:var(--text-muted);font-style:italic;font-weight:300}.portfolio-page h2{margin-bottom:1rem;font-size:2.5rem}.portfolio-page h3{margin-bottom:.5rem;font-size:1.5rem}.portfolio-page p{color:var(--text-muted);font-size:1.05rem}.portfolio-page .label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-light);font-size:.75rem;font-weight:700}.portfolio-page .container{max-width:var(--max-w);margin:0 auto;padding:0 2rem}.portfolio-page nav{justify-content:space-between;align-items:center;padding:2rem 0;display:flex}.portfolio-page .logo{font-family:var(--font-newsreader), serif;color:var(--text-main);align-items:center;gap:12px;font-size:1.5rem;text-decoration:none;display:flex}.portfolio-page .logo-dot{background-color:var(--accent-terracotta);border-radius:50%;width:8px;height:8px}.portfolio-page .nav-links{gap:2rem;display:flex}.portfolio-page .nav-links a{color:var(--text-muted);font-size:.95rem;font-weight:500;text-decoration:none;transition:color .3s}.portfolio-page .nav-links a:hover{color:var(--text-main)}.portfolio-page .segmented-control{background-color:var(--bg-surface);border-radius:var(--radius-pill);margin-bottom:4rem;padding:6px;display:inline-flex}.portfolio-page .segment{border-radius:var(--radius-pill);color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:8px 24px;font-family:inherit;font-size:.95rem;font-weight:500;transition:all .3s}.portfolio-page .segment.active{background-color:var(--text-main);color:var(--bg-page)}.portfolio-page .tag-group{flex-wrap:wrap;gap:12px;margin:1.5rem 0;display:flex}.portfolio-page .tag{border-radius:var(--radius-pill);align-items:center;gap:8px;padding:8px 16px;font-size:.85rem;font-weight:500;display:inline-flex}.portfolio-page .tag svg{width:14px;height:14px}.portfolio-page .tag.red{background:var(--tag-red-bg);color:var(--tag-red-txt)}.portfolio-page .tag.red svg{fill:var(--tag-red-txt)}.portfolio-page .tag.yellow{background:var(--tag-yellow-bg);color:var(--tag-yellow-txt)}.portfolio-page .tag.yellow svg{fill:var(--tag-yellow-txt)}.portfolio-page .tag.purple{background:var(--tag-purple-bg);color:var(--tag-purple-txt)}.portfolio-page .tag.purple svg{fill:var(--tag-purple-txt)}.portfolio-page .tag.green{background:var(--tag-green-bg);color:var(--tag-green-txt)}.portfolio-page .tag.green svg{fill:var(--tag-green-txt)}.portfolio-page .tag.blue{background:var(--tag-blue-bg);color:var(--tag-blue-txt)}.portfolio-page .tag.blue svg{fill:var(--tag-blue-txt)}.portfolio-page .data-pills-container{justify-content:center;gap:12px;margin:3rem 0;display:flex;position:relative}.portfolio-page .data-pill{background-color:var(--bg-surface);border-radius:40px;justify-content:center;align-items:center;width:48px;height:72px;display:flex;position:relative;overflow:hidden}.portfolio-page .data-pill.hashed:before{content:"";background-image:repeating-linear-gradient(45deg,#0000,#0000 4px,#00000008 4px 5px);position:absolute;inset:0}.portfolio-page .data-pill.active{background-color:#0000}.portfolio-page .data-pill.active .circle{background-color:var(--accent-terracotta);color:#fff;z-index:2;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:.9rem;font-weight:500;display:flex}.portfolio-page .hero{text-align:center;flex-direction:column;align-items:center;padding:8rem 0 4rem;display:flex}.portfolio-page .hero p.subtitle{max-width:600px;color:var(--text-muted);margin:0 auto;font-size:1.25rem}.portfolio-page .projects-header{text-align:center;margin-bottom:4rem}.portfolio-page .project-row{grid-template-columns:1fr 1fr;align-items:center;gap:6rem;margin-bottom:10rem;display:grid}.portfolio-page .project-row:nth-child(2n) .project-content{order:2}.portfolio-page .project-row:nth-child(2n) .project-visual{order:1}.portfolio-page .project-content{flex-direction:column;align-items:flex-start;display:flex}.portfolio-page .project-meta{align-items:center;gap:16px;margin-bottom:1.5rem;display:flex}.portfolio-page .project-number{font-family:var(--font-newsreader), serif;color:var(--text-light);font-size:1.25rem;font-style:italic}.portfolio-page .project-title{margin-bottom:1rem}.portfolio-page .project-desc{margin-bottom:2rem;font-size:1.1rem}.portfolio-page .project-visual{background-color:var(--bg-surface);border-radius:var(--radius-card);aspect-ratio:4/3;justify-content:center;align-items:center;padding:3rem;display:flex;position:relative;overflow:hidden}.portfolio-page .visual-grid{background-image:linear-gradient(90deg,#00000005 1px,#0000 1px),linear-gradient(#00000005 1px,#0000 1px);background-size:40px 40px;position:absolute;inset:0}.portfolio-page .schematic-svg{z-index:1;width:100%;height:100%}.portfolio-page footer{text-align:center;border-top:1px solid #0000000d;padding:6rem 0}.portfolio-page footer h2{margin-bottom:2rem}@media (max-width:768px){.portfolio-page h1{font-size:2.75rem}.portfolio-page .project-row,.portfolio-page .project-row:nth-child(2n){grid-template-columns:1fr;gap:3rem;margin-bottom:6rem}.portfolio-page .project-row:nth-child(2n) .project-content{order:1}.portfolio-page .project-row:nth-child(2n) .project-visual{order:2}.portfolio-page .segmented-control{flex-wrap:wrap;justify-content:center}}
