@import "https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600&display=swap";
*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{color:#ccc;background:#0a0a0c;font-family:Helvetica Neue,Arial,sans-serif;overflow-x:hidden}.banner{background:linear-gradient(135deg,#131416 0%,#0a0a0b 40%,#17191c 100%);width:100%;height:0;min-height:120px;padding-bottom:28.125%;position:relative;overflow:hidden}.banner-video{object-fit:cover;z-index:1;opacity:1;width:100%;height:100%;transition:opacity 1.2s;position:absolute;inset:0}.banner-video.faded{opacity:0;visibility:hidden}.banner-overlay{z-index:2;opacity:0;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;transition:opacity 1s;display:flex;position:absolute;inset:0}.banner-overlay.visible{opacity:1;pointer-events:auto}.lockup{align-items:center;gap:clamp(16px,2vw,30px);max-width:70%;display:flex}.lockup-logo{filter:drop-shadow(0 0 12px #ffffff1a);flex-shrink:0;width:clamp(94px,13.8vw,265px);height:clamp(94px,13.8vw,265px)}.lockup-text{flex-direction:column;align-items:center;gap:clamp(2px,.3vw,6px);display:flex}.lockup-title{letter-spacing:clamp(4px,1vw,20px);color:#ffffffd9;white-space:nowrap;text-shadow:0 2px 15px #00000080;font-family:Playfair Display,Georgia,Times New Roman,serif;font-size:clamp(24px,5vw,96px);font-weight:400}.lockup-subtitle-row{align-items:center;gap:clamp(6px,.8vw,14px);display:flex}.lockup-dash{width:clamp(20px,3.5vw,65px);height:2px}.lockup-dash.left{background:linear-gradient(90deg,#0000,#fff9)}.lockup-dash.right{background:linear-gradient(270deg,#0000,#fff9)}.lockup-subtitle{letter-spacing:clamp(3px,.7vw,14px);color:#ffffffbf;white-space:nowrap;font-family:Playfair Display,Georgia,Times New Roman,serif;font-size:clamp(10px,1.8vw,34px)}.banner-nav{align-items:center;gap:clamp(8px,1.5vw,24px);margin-top:clamp(12px,2.5vw,40px);display:flex}.banner-nav-secondary{margin-top:clamp(4px,.8vw,12px)}.banner-nav a{letter-spacing:clamp(2px,.4vw,6px);color:#ffffff73;text-transform:uppercase;white-space:nowrap;border-radius:2px;padding:clamp(4px,.5vw,8px) clamp(6px,.8vw,12px);font-family:Helvetica Neue,Arial,sans-serif;font-size:clamp(11px,1.4vw,24px);text-decoration:none;transition:color .3s,background .3s;position:relative}.banner-nav a:hover{color:#ffffffe6;background:#ffffff0f}.banner-nav a:after{content:"";background:#ffffff80;width:0;height:1px;transition:width .3s;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.banner-nav a:hover:after{width:80%}.nav-dot{color:#ffffff40;-webkit-user-select:none;user-select:none;font-size:clamp(8px,.8vw,14px)}.banner-vignette{z-index:3;pointer-events:none;background:radial-gradient(#0000 40%,#00000080 100%);position:absolute;inset:0}.page-content{max-width:1200px;margin:0 auto;padding:60px 40px 80px}.section-title{letter-spacing:6px;color:#fffc;text-align:center;margin-bottom:30px;font-family:Playfair Display,Georgia,serif;font-size:36px;font-weight:400}.section-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:30px;margin-top:40px;display:grid}.card{text-align:center;background:linear-gradient(135deg,#ffffff0a,#ffffff03);border:1px solid #ffffff0f;border-radius:8px;padding:35px 30px;transition:border-color .3s,transform .3s}.card:hover{border-color:#ffffff26;transform:translateY(-4px)}.card h3{letter-spacing:4px;color:#fffc;margin-bottom:14px;font-family:Playfair Display,Georgia,serif;font-size:20px;font-weight:400}.card p{color:#fff6;font-size:14px;line-height:1.7}.card a{letter-spacing:3px;text-transform:uppercase;color:#ffffff80;border-bottom:1px solid #ffffff26;margin-top:18px;padding-bottom:2px;font-size:12px;text-decoration:none;transition:color .3s,border-color .3s;display:inline-block}.card a:hover{color:#ffffffd9;border-color:#ffffff80}.topbar{background:#0a0a0c;border-bottom:1px solid #ffffff0f;align-items:center;gap:16px;padding:20px 40px;display:flex;position:relative}.topbar-logo{opacity:.6;width:75px;height:75px}.topbar-brand{letter-spacing:6px;color:#fff9;font-family:Playfair Display,Georgia,serif;font-size:16px;text-decoration:none;transition:color .3s}.topbar-brand:hover{color:#ffffffe6}.topbar-right{align-items:center;gap:16px;margin-left:auto;display:flex}.topbar-sign-in{letter-spacing:3px;text-transform:uppercase;color:#ffffff80;font-size:13px;text-decoration:none;transition:color .3s}.topbar-sign-in:hover{color:#fffffff2}.topbar-nav{z-index:20;background:#0a0a0c;border-bottom:1px solid #ffffff0f;flex-direction:column;align-items:center;gap:16px;padding:20px 0;display:none;position:absolute;top:100%;left:0;right:0}.topbar-nav.open{display:flex}.topbar-nav a{letter-spacing:3px;text-transform:uppercase;color:#ffffff80;padding:8px 0;font-size:14px;text-decoration:none;transition:color .3s}.topbar-nav a:hover{color:#fffffff2}.topbar-nav a.active{color:#fffc;border-bottom:1px solid #fff6}.topbar-nav .theme-toggle-btn{letter-spacing:4px;text-transform:uppercase;color:#fff6;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff26;border-radius:4px;margin-top:4px;padding:10px 28px;font-family:Helvetica Neue,Arial,sans-serif;font-size:13px;transition:color .3s,background .3s}.topbar-nav .theme-toggle-btn:hover{color:#fffc;background:#ffffff1f}.hero{text-align:center;background:linear-gradient(#ffffff05 0%,#0000 100%);padding:80px 40px 60px}.hero h1{letter-spacing:10px;color:#fffc;margin-bottom:16px;font-family:Playfair Display,Georgia,serif;font-size:48px;font-weight:400}.hero p{color:#fff6;max-width:600px;margin:0 auto;font-size:16px;line-height:1.8}.content{max-width:800px;margin:0 auto;padding:40px}.content h2{letter-spacing:5px;color:#ffffffbf;margin-bottom:20px;font-family:Playfair Display,Georgia,serif;font-size:28px;font-weight:400}.content p{color:#fff6;margin-bottom:24px;font-size:15px;line-height:1.9}.content a{color:#fff9;border-bottom:1px solid #fff3;text-decoration:none;transition:color .3s,border-color .3s}.content a:hover{color:#ffffffe6;border-color:#ffffff80}.content-wide{max-width:1100px;margin:0 auto;padding:40px}.project-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;display:grid}.project{background:#ffffff05;border:1px solid #ffffff0f;border-radius:8px;transition:border-color .3s,transform .3s;overflow:hidden}.project:hover{border-color:#ffffff1f;transform:translateY(-3px)}.project-thumb{justify-content:center;align-items:center;width:100%;height:180px;display:flex}.project-thumb span{opacity:.15;font-size:36px}.project-body{padding:24px}.project-body h3{letter-spacing:3px;color:#ffffffbf;margin-bottom:10px;font-family:Playfair Display,Georgia,serif;font-size:18px;font-weight:400}.project-body p{color:#ffffff59;font-size:13px;line-height:1.7}.tag{letter-spacing:2px;text-transform:uppercase;color:#ffffff4d;border:1px solid #ffffff14;border-radius:3px;margin-top:12px;padding:3px 8px;font-size:10px;display:inline-block}.footer{text-align:center;border-top:1px solid #ffffff0f;padding:40px 20px}.footer-logo{opacity:.4;width:60px;height:60px;margin-bottom:12px}.footer p{letter-spacing:2px;color:#ffffff40;font-size:12px}.banner-top-right{z-index:100;align-items:center;gap:12px;display:flex;position:absolute;top:12px;right:16px}.banner-top-right.menu-open{position:fixed}.hamburger-fixed{color:#ffffff80;cursor:pointer;background:#ffffff14;border:1px solid #ffffff26;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:40px;height:40px;padding:0;transition:background .3s,color .3s;display:none}.hamburger-fixed:hover{color:#fffc;background:#ffffff26}.hamburger-fixed span,.hamburger span{background:currentColor;border-radius:1px;width:18px;height:2px;transition:transform .3s,opacity .3s;display:block}.hamburger-fixed.open span:first-child,.hamburger.open span:first-child{transform:translateY(7px)rotate(45deg)}.hamburger-fixed.open span:nth-child(2),.hamburger.open span:nth-child(2){opacity:0}.hamburger-fixed.open span:nth-child(3),.hamburger.open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.mobile-nav{z-index:99;background:#0a0a0cf7;flex-direction:column;justify-content:center;align-items:center;gap:28px;display:none;position:fixed;inset:0}.mobile-nav.open{display:flex}.mobile-nav a{letter-spacing:6px;text-transform:uppercase;color:#fff9;font-family:Playfair Display,Georgia,serif;font-size:22px;text-decoration:none;transition:color .3s}.mobile-nav a:hover{color:#fffffff2}.mobile-nav .theme-toggle-btn{letter-spacing:4px;text-transform:uppercase;color:#fff6;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff26;border-radius:4px;margin-top:12px;padding:10px 28px;font-family:Helvetica Neue,Arial,sans-serif;font-size:13px;transition:color .3s,background .3s}.mobile-nav .theme-toggle-btn:hover{color:#fffc;background:#ffffff1f}.hamburger{color:#ffffff80;cursor:pointer;background:#ffffff14;border:1px solid #ffffff26;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:40px;height:40px;margin-left:auto;padding:0;transition:background .3s,color .3s;display:flex}.hamburger:hover{color:#fffc;background:#ffffff26}body[data-theme=light]{background:#c2c2c2}body[data-theme=light] .page-content{color:#444}body[data-theme=light] .section-title{color:#333}body[data-theme=light] .card{background:linear-gradient(135deg,#d0d0d0,#c8c8c8);border-color:#b0b0b0}body[data-theme=light] .card:hover{border-color:#999}body[data-theme=light] .card h3{color:#333}body[data-theme=light] .card p{color:#666}body[data-theme=light] .card a{color:#555;border-bottom-color:#999}body[data-theme=light] .card a:hover{color:#222;border-bottom-color:#555}body[data-theme=light] .footer{border-top-color:#aaa}body[data-theme=light] .footer-logo{opacity:.5}body[data-theme=light] .footer p{color:#777}body[data-theme=light] .hero{background:linear-gradient(#00000005 0%,#0000 100%)}body[data-theme=light] .hero h1{color:#333}body[data-theme=light] .hero p{color:#666}body[data-theme=light] .content h2{color:#333}body[data-theme=light] .content p{color:#555}body[data-theme=light] .content a{color:#444;border-color:#999}body[data-theme=light] .content a:hover{color:#111;border-color:#555}body[data-theme=light] .project{background:#d0d0d0;border-color:#b0b0b0}body[data-theme=light] .project:hover{border-color:#999}body[data-theme=light] .project-thumb{background:linear-gradient(135deg,#bbb,#c8c8c8)!important}body[data-theme=light] .project-thumb span{opacity:.25;color:#666}body[data-theme=light] .project-body h3{color:#333}body[data-theme=light] .project-body p{color:#666}body[data-theme=light] .tag{color:#666;border-color:#aaa}body[data-theme=light] .mobile-nav{background:#c2c2c2f7}body[data-theme=light] .mobile-nav a{color:#555}body[data-theme=light] .mobile-nav a:hover{color:#111}body[data-theme=light] .mobile-nav .theme-toggle-btn{color:#666;background:#0000000d;border-color:#00000026}body[data-theme=light] .mobile-nav .theme-toggle-btn:hover{color:#222;background:#0000001a}@media (max-width:768px){.hamburger-fixed{display:flex}.banner{padding-bottom:35%}.lockup{flex-direction:column;gap:12px;max-width:90%}.lockup-logo{width:clamp(60px,18vw,120px);height:clamp(60px,18vw,120px)}.lockup-title{letter-spacing:clamp(3px,1vw,10px);font-size:clamp(20px,6vw,48px)}.lockup-subtitle{letter-spacing:clamp(2px,.8vw,8px);font-size:clamp(9px,2.5vw,18px)}.lockup-dash{width:clamp(16px,5vw,40px)}.banner-nav{display:none}.page-content{padding:40px 20px 60px}.section-title{letter-spacing:4px;font-size:28px}.section-grid{grid-template-columns:1fr;gap:20px}.card{padding:28px 24px}.card h3{letter-spacing:3px;font-size:22px}.card p{font-size:16px;line-height:1.8}.card a{font-size:14px}.footer p{font-size:13px}.topbar{gap:10px;padding:16px 20px}.topbar-logo{width:60px;height:60px}.topbar-brand{letter-spacing:4px;font-size:14px}.hero{padding:50px 20px 40px}.hero h1{letter-spacing:6px;font-size:32px}.hero p{font-size:16px}.content{padding:30px 20px}.content h2{font-size:24px}.content p{font-size:15px}.content-wide{padding:30px 20px}.project-grid{grid-template-columns:1fr;gap:20px}.project-thumb{height:140px}.project-body{padding:20px}.project-body h3{font-size:20px}.project-body p{font-size:15px;line-height:1.8}.tag{font-size:12px}}@media (max-width:480px){.banner{padding-bottom:35%}.lockup-title{letter-spacing:3px;font-size:18px}.lockup-subtitle{font-size:9px}.section-title{font-size:24px}.card h3{font-size:20px}.card p{font-size:15px}.hero h1{letter-spacing:4px;font-size:24px}}.cl-userProfile-root{color:#ffffffe6}.cl-userProfile-root p,.cl-userProfile-root span,.cl-userProfile-root div{color:#ffffffb3}.cl-userProfile-root .cl-providerIcon__apple img{filter:invert()}
