:root{--bg-color: #ffffff;--text-color: #111111;--border-size: 1rem}@media(min-width:768px){:root{--border-size: 3rem}}*{box-sizing:border-box;margin:0;padding:0}button{background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer}html{background-color:var(--bg-color);height:100%;margin:0;overflow:hidden}body{background-color:var(--bg-color);color:var(--text-color);font-family:Inter,sans-serif;height:100%;margin:0;overflow:hidden;transition:background-color 1s ease}.scroll-container{height:100dvh;width:100%;overflow-x:hidden;overflow-y:scroll;scroll-snap-type:y mandatory;scroll-behavior:smooth}.scroll-container::-webkit-scrollbar{display:none}.scroll-container{-ms-overflow-style:none;scrollbar-width:none}.section{height:100dvh;width:100%;scroll-snap-align:center;scroll-snap-stop:always;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:var(--border-size)}.hero{text-align:center;animation:fadeIn 1.5s ease-out;flex:1;display:flex;flex-direction:column;justify-content:center;position:relative;width:100%}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.marquee-container{overflow:hidden;white-space:nowrap;align-self:stretch;width:auto;margin-left:calc(-1 * var(--border-size));margin-right:calc(-1 * var(--border-size));margin-bottom:3rem}.marquee-content{display:flex;white-space:nowrap;padding-right:0}@keyframes scrollText{0%{transform:translate(0)}to{transform:translate(-100%)}}h1{animation:scrollText 120s linear infinite;font-family:Syne,sans-serif;font-weight:800;font-size:clamp(4rem,15vw,12rem);letter-spacing:-.02em;line-height:1;margin:0;padding-right:0}.portfolio-pill-container{display:flex;margin-bottom:2rem;justify-content:center;animation:fadeIn 1.5s ease-out;z-index:50;position:relative}.portfolio-pill{display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:.75rem;padding:.5rem .75rem;border:1px solid color-mix(in srgb,var(--text-color) 10%,transparent)!important;border-radius:9999px;background-color:transparent;color:var(--text-color)!important;font-family:Inter,sans-serif;text-decoration:none;transition:all .3s ease-in-out;overflow:hidden;cursor:pointer;pointer-events:auto}.portfolio-pill:hover{background-color:color-mix(in srgb,var(--text-color) 5%,transparent);border-color:color-mix(in srgb,var(--text-color) 20%,transparent)!important}.portfolio-pill-text{font-weight:400;font-size:.875rem;white-space:nowrap;z-index:10}.portfolio-pill-arrow{width:1.25rem;height:1.25rem;stroke-width:2;fill:none;stroke:currentColor;transition:color .3s;z-index:10}.portfolio-pill-arrow line{transform:translate(.75rem) scaleX(0);transform-origin:left center;transition:transform .3s ease-in-out}.portfolio-pill-arrow polyline{transform:translate(-.25rem);transition:transform .3s ease-in-out}.portfolio-pill:hover .portfolio-pill-arrow line{transform:translate(0) scaleX(1)}.portfolio-pill:hover .portfolio-pill-arrow polyline{transform:translate(0)}p{font-weight:300;font-size:clamp(1rem,1.5vw,1.25rem);color:#666}a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(0,0,0,.2);transition:border-color .2s ease,color .2s ease;padding-bottom:2px}a:hover{color:#000;border-color:#000}.image-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.artwork-wrapper{position:relative;display:flex;flex-direction:column;align-items:center;gap:1.5rem}@media(min-width:768px){.artwork-wrapper{display:inline-flex;justify-content:center;align-items:center}}.artwork-frame{background:#fff;padding:var(--border-size);border:2px solid #f8f8f8;border-radius:2px;box-shadow:inset 0 2px #fff,inset 0 -2px 5px #0000000d,0 4px 6px -1px #0000001a,0 10px 15px -3px #0000001a,0 40px 50px -10px #00000040,0 80px 100px -20px #00000026;z-index:10;position:relative;display:inline-flex;justify-content:center;align-items:center}@media(min-width:768px){.artwork-frame{max-width:calc(100vw - 480px);max-height:90vh;border:4px solid #f8f8f8}}.photo{max-width:calc(90vw - (var(--border-size) * 2));max-height:calc(90vh - (var(--border-size) * 2));width:auto;height:auto;display:block;animation:fadeInPhoto 1s ease-out}@media(min-width:768px){.photo{max-width:calc(100vw - 480px - (var(--border-size) * 2));max-height:calc(90vh - (var(--border-size) * 2))}}@keyframes fadeInPhoto{0%{opacity:0}to{opacity:1}}.artwork-info-board{display:block;text-decoration:none;color:#333;width:100%;z-index:50;position:relative;pointer-events:none;opacity:0;text-align:left;transition:opacity 2s ease,transform .2s ease,box-shadow .2s ease;cursor:pointer;background-color:transparent;padding:0;max-width:220px;box-shadow:none;border:none;border-radius:0;align-self:flex-start}.artwork-wrapper.show-info .artwork-info-board{opacity:1;pointer-events:auto}.artwork-info-board:hover{transform:translateY(-2px)}@media(min-width:768px){.artwork-info-board{background-color:#fcfcfb;padding:1rem 1.25rem;max-width:280px;box-shadow:-2px 4px 10px #0000000d,0 1px 3px #00000005;border:1px solid #f0f0f0;border-radius:1px;align-self:auto;position:absolute;right:100%;bottom:2rem;margin-right:1.5rem;width:200px;max-width:none}.artwork-info-board:hover{box-shadow:-2px 6px 15px #00000014,0 2px 5px #0000000a;border-color:#e0e0e0}.artwork-wrapper.right-side .artwork-info-board{right:auto;left:100%;margin-right:0;margin-left:1.5rem}}.artwork-exif{font-size:.55rem;font-weight:300;color:#999;font-family:JetBrains Mono,monospace;line-height:1.3}.artwork-counter{position:absolute;top:0;left:0;font-size:.55rem;font-weight:300;color:#999;font-family:JetBrains Mono,monospace;line-height:1}@media(min-width:768px){.artwork-counter{top:1rem;left:1.25rem}}.artwork-description{font-size:.75rem;font-weight:600;margin-bottom:.75rem;margin-top:1rem;line-height:1.4;color:#111}.artwork-meta{font-size:.65rem;font-weight:400;margin-bottom:.5rem;color:#666;line-height:1.4}.philosophy{text-align:center}.philosophy-card{max-width:480px;width:100%;border:1px solid #111;background:#fff;padding:2.5rem;text-align:left;display:flex;flex-direction:column;gap:2rem;position:relative;box-shadow:0 20px 40px #00000005,0 60px 120px #0000000a,0 120px 200px #0000000f}.card-header{display:flex;flex-direction:column;gap:.5rem}.card-ref{font-family:JetBrains Mono,monospace;font-size:.65rem;color:#888;letter-spacing:.1em}.philosophy-card h2{font-family:Syne,sans-serif;font-weight:800;font-size:1.5rem;line-height:1;margin:0;letter-spacing:-.03em;color:#111}.card-body p{font-family:Inter,sans-serif;font-weight:300;font-size:.95rem;line-height:1.6;color:#333;margin:0 0 1rem}.card-body p:last-child{margin-bottom:0}.card-footer{display:flex;flex-direction:column;gap:.75rem;border-top:1px solid #f0f0f0;padding-top:1.5rem}.instruction-row{display:flex;justify-content:space-between;align-items:center}.instruction-row .label{font-family:JetBrains Mono,monospace;font-size:.6rem;color:#999;letter-spacing:.05em}.instruction-row .value{font-family:JetBrains Mono,monospace;font-size:.65rem;color:#111;font-weight:600;letter-spacing:.02em}.scroll-indicator{position:absolute;bottom:3rem;left:50%;color:#888;cursor:pointer;animation:slowJump 2.5s infinite ease-in-out;transition:color .3s ease}.scroll-indicator:hover{color:#111}@keyframes slowJump{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,12px)}}.footer{text-align:center;flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;width:100%}.footer h2{font-family:Syne,sans-serif;font-weight:800;font-size:clamp(3rem,10vw,8rem);letter-spacing:-.02em;margin-bottom:2rem;color:var(--text-color)}.footer .subtitle{font-weight:300;font-size:clamp(1rem,1.5vw,1.25rem);color:var(--text-color);margin-bottom:2rem;max-width:600px}.footer .subtitle a{font-weight:400}.footer .small-subtitle{font-weight:300;font-size:clamp(.75rem,1vw,.9rem);color:#888;margin-bottom:.75rem;max-width:500px}.back-to-top{margin-top:4rem;cursor:pointer;display:flex;flex-direction:column;align-items:center;color:#888;transition:color .3s ease;animation:slowJumpUp 2.5s infinite ease-in-out}.back-to-top:hover{color:#111}.back-to-top span{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.2em;margin-top:.5rem}@keyframes slowJumpUp{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}
