@keyframes shiny-text-wipe{0%{background-position:-150%}to{background-position:100%}}.home-page{background-color:var(--card-bg);width:100%;color:var(--text-color);padding-top:0;padding-left:1rem;padding-right:1rem;transition:background .3s,color .3s}@media (min-width:768px){.home-page{padding-left:2rem;padding-right:2rem}}@media (min-width:1024px){.home-page{padding-left:4rem;padding-right:4rem}}.home-content{flex-direction:column;gap:2rem;width:100%;max-width:1200px;height:auto;max-height:none;margin:0 auto;padding-top:clamp(5rem,10vh,8rem);display:flex;padding-bottom:0!important}.hero-title,.section-title{color:var(--text-color);background-color:#000;background-size:300%;-webkit-background-clip:text;background-clip:text;padding-left:5px;font-size:3rem;font-weight:400;line-height:1.1}.hero-title{margin-bottom:0}.section-title{margin-bottom:1.5rem}.home-page p,.resume-section{padding-top:0;padding-left:1rem;font-size:1.2rem}.hero-title,.hero-location,.hero-primary,.hero-roles span,.hero-carousel,.section-divider,.section-title,.section-subtitle,.i-section-divider{opacity:0}.hero-section{justify-content:flex-start;align-items:flex-start;width:100%;min-height:auto;margin:0;padding-top:0;padding-bottom:.85rem;display:flex;position:relative;overflow:visible;max-width:none!important}@media (max-width:768px){.home-content{gap:1.5rem;padding:1rem}.hero-section{align-items:flex-start;gap:.5rem;margin-top:1.25rem;margin-bottom:1.25rem;padding-top:90px}.hero-visual{width:clamp(160px,38vw,240px);height:clamp(160px,38vw,240px);margin:.25rem auto -.5rem;transform:translateY(30px)scale(.7)rotateX(12deg)}.hero-title{text-align:left;margin-top:0;font-size:clamp(2.4rem,12vw,3.5rem);line-height:1.1;margin-left:0!important;padding-left:0!important}.hero-description{margin-top:.25rem;font-size:1.05rem;line-height:1.4}.section-title{margin-bottom:1rem;font-size:1.8rem}}.i-section-divider{background:var(--divider-bg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);width:100%;height:2px;margin:20px 20px 0 0;position:relative}.i-section-divider:before{content:"";background:linear-gradient(to right, transparent 0%, var(--divider-line) 48%, var(--divider-glow) 50%, var(--divider-line) 52%, transparent 100%);pointer-events:none;z-index:1;position:absolute;inset:0}.i-section-divider:after{content:"";background:radial-gradient(ellipse at center, var(--divider-spotlight) 0%, transparent 60%);pointer-events:none;z-index:1;width:50vw;height:60px;position:absolute;top:-20px;left:50%;transform:translate(-50%)}.section-divider{background:var(--divider-bg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);width:100%;height:2px;margin:570px 40px 0 0;position:relative}.section-divider:before{content:"";background:linear-gradient(to right, transparent 0%, var(--divider-line) 48%, var(--divider-glow) 50%, var(--divider-line) 52%, transparent 100%);pointer-events:none;z-index:1;position:absolute;inset:0}.section-divider:after{content:"";background:radial-gradient(ellipse at center, var(--divider-spotlight) 0%, transparent 60%);pointer-events:none;z-index:1;width:50vw;height:60px;position:absolute;top:-20px;left:50%;transform:translate(-50%)}@media (max-width:768px){.section-divider{margin:8px 0 30px!important}}.hero-identity{flex-direction:column;align-items:flex-start;gap:.45rem;margin-top:.75rem;display:flex}.hero-location{letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:.8rem;padding-left:.5rem!important}.hero-primary{color:var(--text-color);margin-top:4px;font-size:clamp(1.1rem,2vw,1.6rem);font-weight:500;padding-left:.5rem!important}.hero-roles{flex-wrap:wrap;gap:.5rem;margin-top:.35rem;display:flex}.hero-roles span{letter-spacing:.08em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff0f;border:1px solid #ffffff24;border-radius:999px;padding:.45rem .6rem;font-size:.8rem}body[data-theme=light]{--stripe-default-bg:#fff;--stripe-alt-bg:linear-gradient(135deg, #dfe9f3 0%, #fff 100%)}body[data-theme=dark]{--stripe-default-bg:#0d0d0d;--stripe-alt-bg:#141417}.project-page{background:var(--card-bg);width:100%;overflow-x:hidden}.stripe{border-top:1px solid var(--divider-line);border-bottom:1px solid var(--divider-line);background:var(--stripe-default-bg);width:100vw;color:var(--text-color);opacity:0;justify-content:center;margin-left:calc(50% - 50vw);padding:4rem 2rem;transition:transform .3s,opacity .3s;display:flex;transform:translateY(40px)}.stripe.default{background:var(--stripe-default-bg)}.stripe.grey{background:var(--stripe-alt-bg)}.stripe-inner{flex-direction:column;gap:1.75rem;width:100%;max-width:1000px;display:flex}.project-bar-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.project-bar-header .project-title{max-width:800px;color:var(--text-color);font-size:clamp(1.75rem,2vw + 1rem,2.5rem);font-weight:600;line-height:1.2;margin-bottom:0!important}.project-bar-header .project-date{color:var(--muted-text-color);white-space:nowrap;font-size:.95rem;font-weight:400}.project-m-date{color:#000;white-space:nowrap;font-size:.95rem;font-weight:400}.project-links{flex-wrap:wrap;gap:1rem;display:flex}.pill{background:var(--primary-accent);color:#fff;border-radius:8px;padding:.5rem 1rem;font-size:.85rem;font-weight:500;text-decoration:none;transition:background .3s;margin-top:0!important}.pill:hover{background:#2b86c5cc}@media (prefers-color-scheme:dark){.pill{color:#8ab4f8e6;background:#8ab4f833}.pill:hover{background:#8ab4f84d}}.project-bullets{padding-left:1.5rem;list-style:outside}.project-bullets li{max-width:800px;margin-bottom:.75rem;font-size:.95rem;line-height:1.6}@media (max-width:768px){.stripe{padding:3rem 1.5rem}.project-title{font-size:1rem}.pill{padding:.4rem .85rem;font-size:.8rem}.project-bar-header{flex-direction:column;align-items:flex-start}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root{--bg-color:#fff;--card-bg:#fff;--text-color:#111}.page-content,.home-page,.contact-main{background-color:var(--bg-color)}html,body{background-color:var(--card-bg);width:100vw;min-height:100vh;color:var(--text-color);box-sizing:border-box;margin:0;padding:0;overflow-x:hidden}*,:before,:after{box-sizing:inherit}.desktop-nav{display:block}@media (max-width:768px){.desktop-nav{display:none}}.mobile-nav{display:none}@media (max-width:768px){.mobile-nav{display:block}}a{color:var(--text-color);-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}h1{color:var(--text-color);font-size:3.2em;line-height:1.1}button{z-index:3;cursor:pointer;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;transition:border-color .25s}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme:light){:root{color:#213547;background-color:var(--card-bg)}a:hover{color:#747bff}button{background-color:#f9f9f9}}.action-btn{color:#000;cursor:pointer;background-color:#0000;border:2px solid #000;border-radius:4px;margin-right:10px;padding:10px 20px;font-size:16px;font-weight:700;transition:all .3s}.edit-btn{color:#47688c;border-color:#606f80}.edit-btn:hover{color:#0056b3;border-color:#0056b3}.delete-btn{color:#5f363b;border-color:#875a5e}.delete-btn:hover{color:#c82333;border-color:#c82333}.action-btn:hover{transform:none}.action-btn:disabled{color:#ccc;cursor:not-allowed;opacity:.7;border-color:#ccc}.modal{z-index:3;z-index:1000;background-color:#0006;justify-content:center;align-items:center;width:100%;height:100%;animation:.3s ease-out forwards fadeIn;display:none;position:fixed;top:0;left:0}.modal.show{display:flex}.modal-content{background-color:var(--card-bg);z-index:3;border-radius:8px;width:80%;max-width:500px;padding:60px 60px 70px;position:relative;box-shadow:0 4px 8px #0003}.modal-content h2{font-size:1.4rem;font-weight:500}.modal-header{margin-bottom:10px;font-size:1.5rem;font-weight:600}.modal-body{flex-direction:column;gap:1rem;padding-bottom:15px;display:flex}.modal-body input,.modal-body select{color:#000;z-index:3;background:#fff;border:1px solid #c7c7cc;border-radius:10px;width:100%;padding:.9rem 1rem;font-size:1rem;transition:border .2s}.modal-body input:focus,.modal-body select:focus{border-color:#51677d;outline:none}.modal-footer{background-color:var(--card-bg);justify-content:flex-end;gap:10px;display:flex}.back-modal-button{z-index:3;color:#fff;cursor:pointer;background:#000;border:none;border-radius:4px;align-self:flex-start;width:100%;max-width:200px;margin-top:1rem;padding:.7rem;font-size:1rem;font-weight:400;transition:background .3s;position:relative;overflow:hidden}.back-modal-button:before{content:"";opacity:0;pointer-events:none;z-index:2;background:linear-gradient(120deg,#0000 30%,#ff3cac 45%,#784ba0 50%,#2b86c5 55%,#0000 70%);width:300%;height:100%;transition:none;position:absolute;top:0;left:-150%}.back-modal-button:hover:before{opacity:1;animation:1.2s ease-out forwards shiny-wipe}.back-modal-button:hover{background-color:#000}.book-modal-button{background-color:var(--primary-accent);color:#fff;z-index:4;cursor:pointer;border:none;border-radius:4px;align-self:center;margin-top:1rem;padding:.7rem;font-weight:500;transition:background-color .3s;width:100%!important;max-width:600px!important}.book-modal-button:hover{background-color:var(--primary-accent-dark)}.modal-button,.book-modal-button{z-index:4;color:#fff;cursor:pointer;background:#000;border:none;border-radius:4px;align-self:flex-start;width:100%;max-width:200px;margin-bottom:10px;padding:.7rem;font-size:1rem;font-weight:400;transition:background .3s;position:relative;overflow:hidden}.modal-button:before,.book-modal-button:before{content:"";opacity:0;pointer-events:none;z-index:2;background:linear-gradient(120deg,#0000 30%,#ff3cac 45%,#784ba0 50%,#2b86c5 55%,#0000 70%);width:300%;height:100%;transition:none;position:absolute;top:0;left:-150%}.modal-button:hover:before,.book-modal-button:hover:before{opacity:1;animation:1.2s ease-out forwards shiny-wipe}.modal-button:hover,.book-modal-button:hover{background-color:#000}.modal-close{cursor:pointer;color:#000;font-size:18px;position:absolute;top:10px;right:10px}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes shiny-wipe{0%{opacity:1;left:-150%}50%{opacity:1;left:100%}to{opacity:0;left:100%}}.sign-button:hover:before,.reg-button:hover:before,.checkout-button:hover:before,.return-button:hover:before{opacity:1;animation:1.2s ease-out forwards shiny-wipe}@keyframes slide_up{0%{transform:translateY(60px)}to{transform:translateY(0)}}@keyframes fade_slide{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes disney_fade_inner{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes double_flash{0%{color:#0000;background:linear-gradient(90deg,#ff3cac,#784ba0,#2b86c5) -120% 0;-webkit-background-clip:text;background-clip:text}40%{background-position:100% 0}70%{background-position:-80% 0}90%{background-position:0 0}to{color:#fff;background:0 0}}.contact-main{justify-content:center;align-items:top;background:var(--bg-color);min-height:100vh;color:var(--text-color);background-position:50%;background-size:cover;transition:background-color .3s;display:flex}.contact-main .contact{opacity:0;-webkit-backdrop-filter:blur(16px)saturate(180%);background:0 0;border:1px solid #ffffff1a;border-radius:6px;flex-direction:column;align-items:flex-start;width:600px;max-width:90%;height:100%;margin-top:10rem;margin-left:20px;margin-right:20px;padding:40px 70px 80px;transition:all .3s ease-in-out,color .3s,background-color .3s;animation:.6s ease-out .2s forwards fade_slide;display:flex;transform:translateY(40px)}.contact-main .contact section{width:100%}.contact-main .contact .contact-instr{padding-bottom:12px}.contact-main .contact .contact-instr h4{color:var(--text-color);font-size:1.2rem;font-weight:400;transition:color .3s}.contact-main .contact h3{color:var(--text-color);margin-bottom:1.5rem;font-size:1.8rem;font-weight:400;transition:color .3s}.contact-main .contact .contact-form{flex-direction:column;width:100%;display:flex}.contact-main .contact input,.contact-main .contact textarea{width:100%;color:var(--text-color);background:#fff3;border:1px solid #00000017;border-radius:4px;outline:none;margin-bottom:16px;padding:12px;font-size:1rem;transition:border .2s,background .2s,color .3s}.contact-main .contact input::placeholder,.contact-main .contact textarea::placeholder{color:var(--text-color);opacity:.6;transition:color .3s}.contact-main .contact input:focus,.contact-main .contact textarea:focus{border-color:var(--primary-accent);background:#ffffff4d}.contact-main .contact textarea{height:10rem;margin-bottom:1rem}.contact-main .contact label{color:var(--text-color);margin-bottom:1rem;transition:color .3s}.contact-main .contact button{width:100%;max-width:700px;color:var(--text-color);cursor:pointer;-webkit-backdrop-filter:blur(16px)saturate(180%);border:none;border:1px solid var(--primary-accent);background:0 0;border-radius:4px;padding:1rem 2rem;font-size:1.1rem;font-weight:400;transition:background 1s,color .3s;position:relative;overflow:hidden}.contact-main .contact button:hover{background-color:var(--search)}@media (max-width:768px){.contact-main{min-height:auto;padding:2rem 1rem}.contact-main .contact{box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:none;width:100%;max-width:100%;margin:2rem 0;padding:0}.contact-main .contact h3,.contact-main .contact .contact-instr h4{text-align:center}.contact-main .contact input,.contact-main .contact textarea{width:100%;padding:.85rem;font-size:.95rem}.contact-main .contact textarea{height:8rem}.contact-main .contact button{padding:.85rem 1.5rem;font-size:1rem}}.contact-success{opacity:0;text-align:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff0f;border:1px solid #ffffff24;border-radius:12px;padding:2rem 1rem;animation:.6s forwards contact-success-in;transform:translateY(12px)}@keyframes contact-success-in{to{opacity:1;transform:translateY(0)}}.success-icon{border:1px solid #fff3;border-radius:50%;place-items:center;width:56px;height:56px;margin:0 auto 12px;font-size:28px;display:inline-grid}.success-title{margin:.25rem 0 .5rem;font-size:1.4rem}.success-copy{opacity:.9;margin-bottom:1rem}.success-actions .success-btn{cursor:pointer;background:#ffffff14;border:1px solid #ffffff2e;border-radius:10px;padding:.75rem 1.1rem}.contact-form.is-sending button[disabled]{opacity:.7;cursor:not-allowed}.form-error{color:#ff6b6b;margin-top:.75rem}.app-footer{background:var(--bg-color);color:var(--text-color);border-top:1px solid var(--border-color);z-index:5;flex-direction:column;align-items:center;padding:3rem 0 2rem;font-size:.85rem;display:flex}.app-footer .footer-inner{text-align:center;z-index:20;max-width:1000px;margin:0 auto;padding:0 2rem;position:relative}.app-footer .footer-top{border-bottom:1px solid var(--border-color);background:var(--bg-color);color:var(--text-color);z-index:20;grid-template-columns:repeat(4,1fr);justify-items:center;gap:2rem;padding-bottom:2rem;display:grid;position:relative}.app-footer .footer-section{text-align:center;z-index:20;position:relative}.app-footer .footer-section h4{color:var(--text-color);z-index:20;margin-bottom:.75rem;font-size:.85rem;font-weight:600;position:relative}.app-footer .footer-section .footer-links{z-index:5;flex-direction:column;align-items:center;gap:.5rem;display:flex}.app-footer .footer-section .footer-links a{color:var(--text-color);z-index:5;font-size:.75rem;text-decoration:none}.app-footer .footer-section .footer-links a:hover{color:var(--primary-accent);text-decoration:underline}.app-footer .footer-bottom{text-align:center;opacity:.6;color:var(--text-color);z-index:5;margin-top:2rem;font-size:.7rem}.app-footer .footer-bottom p{margin:0}@media (max-width:768px){.footer-top{z-index:5;background:0 0;grid-template-columns:repeat(2,1fr);gap:2rem}}.app-footer{opacity:0;will-change:opacity,transform;transform:translateY(35px)}.navbar{z-index:100;box-sizing:border-box;-webkit-backdrop-filter:blur(40px)saturate(200%)contrast(120%)brightness(110%);background:#ffffff59;border-bottom:1px solid #ffffff73;justify-content:center;align-items:center;width:100%;height:60px;padding:0 20px;transition:all .3s;animation:2s ease-out forwards shiny-text-wipe,1.2s forwards fade-slide-down;display:flex;position:fixed;top:0;left:0;box-shadow:inset 0 1px #ffffff80,0 4px 16px #0000001f}body[data-theme=dark] .navbar{-webkit-backdrop-filter:blur(40px)saturate(200%)contrast(120%);background:#0f0f0f8c;border-bottom:1px solid #ffffff26;box-shadow:inset 0 1px #ffffff14,0 10px 40px #00000080}.nav-container{justify-content:space-between;align-items:center;width:100%;max-width:1196px;margin:0 auto;display:flex}.logo{width:40px;height:auto;padding-top:2px;transition:filter .3s}body[data-theme=light] .logo{filter:none}body[data-theme=dark] .logo{filter:invert()}.nav-logo{color:var(--text-color);font-size:8px}.nav-links{align-items:center;gap:20px;display:flex}.nav-item{color:var(--text-color);margin-right:10px;font-size:16px;text-decoration:none;transition:opacity .3s}.nav-item:hover{opacity:.7}.hamburger{cursor:pointer;color:var(--text-color);z-index:1001;-webkit-tap-highlight-color:#0000;-webkit-touch-callout:none;background:0 0;border:none;outline:none;padding-right:24px;font-size:32px;display:none}.hamburger:focus,.hamburger:active{box-shadow:none;background:0 0;outline:none}.mobile-menu{background:var(--bg-color);z-index:1000;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:24px;width:100vw;height:calc(100vh - 60px);padding:0 2rem;animation:.25s fadeSlideDown;display:none;position:fixed;top:60px;left:0}.mobile-menu.open{display:flex}.mobile-menu-item{color:var(--text-color);font-size:24px;text-decoration:none;transition:opacity .3s}.mobile-menu-item:hover{opacity:.7}@keyframes fadeSlideDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.nav-links{display:none}.hamburger{display:block}}.desktop-only{display:flex}@media (max-width:768px){.desktop-only{display:none!important}}.mobile-only{display:none}@media (max-width:768px){.mobile-only{display:block!important}}.theme-toggle-button{color:var(--text-color);cursor:pointer;background-color:#0000;border:none;justify-content:center;align-items:center;font-size:24px;display:flex}.theme-toggle-button:hover{color:var(--text-hover)}body[data-theme=light]{--bg-color:#f3f3f6;--text-color:#111;--card-bg:linear-gradient(135deg, #dfe9f3 0%, #fff 100%);--primary-accent:#007fba;--glass-button-text:#f5f5f5;--border-color:#0000000d;--shadow-color:#0000001a;--input-bg:#fff;--placeholder-color:#00000080;--accent-grad:linear-gradient(135deg, #2a2a2c 0%, #1b1b1c 100%);--grid:black;--nav:white;--hover:grey;--text-hover:#444;--admin-text-hover:#fafafa;--but:transparent;--search:#00000014;--divider-bg:#00000006;--divider-line:#0000000f;--divider-glow:#00000014;--divider-spotlight:#0000000d}body[data-theme=dark]{--bg-color:#000;--text-color:#f5f5f5;--card-bg:#0000;--primary-accent:#5dc6ff;--glass-button-text:#f5f5f5;--border-color:#ffffff14;--shadow-color:#0009;--input-bg:#111;--placeholder-color:#fff6;--accent-grad:none;--grid:#ffffff0d;--nav:#0a0a0a;--hover:#1e1e1e;--text-hover:#eaeaea;--admin-text-hover:#fff;--but:#ffffff0f;--search:#ffffff0d;--glow-accent:0 0 20px #ffffff26;--divider-bg:#ffffff06;--divider-line:#ffffff0f;--divider-glow:#ffffff14;--divider-spotlight:#ffffff0d}.wave-bg{z-index:2;width:100%;height:24vh;position:fixed;bottom:0;left:0;overflow:hidden}.wave-bg,.wave-bg *,.bubble-layer,.bubble-layer *{pointer-events:none}.wave-svg{width:200%;height:100%}.bubble-layer{z-index:1;position:absolute;inset:0}.pixel-bubble{bottom:-10px;left:var(--left);width:var(--size);height:var(--size);animation:bubble-rise var(--duration) ease-in infinite;animation-delay:var(--delay);background:#ffffff38;border-radius:1px;position:absolute;box-shadow:0 0 3px #ffffff80}@keyframes bubble-rise{0%{opacity:.7;transform:translate(0)translateY(0)scale(1)}70%{transform:translateX(calc(var(--drift) / 2)) translateY(-70vh) scale(1.1);opacity:.4}to{transform:translateX(var(--drift)) translateY(-90vh) scale(1.25);opacity:0}}.skills-section{text-align:center;max-width:1100px;color:var(--text-color);margin:0 auto;padding:0 1rem}.skills-section .skills-title{letter-spacing:.02em;opacity:0;visibility:hidden;margin-bottom:2.5rem;font-size:clamp(1.8rem,2.8vw + 1rem,2.4rem);font-weight:500;animation:.8s ease-out .2s forwards smooth-slide-up;transform:translateY(20px)}.skills-section .skills-grid{grid-template-columns:repeat(7,minmax(32px,1fr));justify-content:center;align-items:center;gap:2rem 2.5rem;max-width:700px;margin:0 auto 4rem;display:grid;padding:0!important}@media (max-width:768px){.skills-section .skills-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem 0;padding:0!important}}@media (max-width:500px){.skills-section .skills-grid{grid-template-columns:repeat(2,1fr);column-gap:1rem;padding:0!important}}.skills-section .skill-item{justify-content:center;align-items:center;display:flex}.skills-section .skill-icon{object-fit:contain;filter:brightness(0)invert();opacity:0;visibility:hidden;width:64px;height:auto;transition:opacity .25s,transform .25s;animation:.8s ease-out .4s forwards smooth-slide-up;transform:translateY(20px)}.skills-section .skill-icon:hover{opacity:1;transform:translateY(-4px)}@media (max-width:600px){.skills-section .skill-icon{width:48px}}.skills-section .skills-subline{opacity:.75;max-width:680px;margin:0 auto;font-size:1rem}body[data-theme=light] .skills-section .skill-icon{filter:none}@media (max-width:768px){.about-facts .facts-container{flex-direction:column;align-items:center;padding:2rem}.about-facts .facts-list{text-align:center;width:100%;max-width:100%}.about-facts .facts-list p{white-space:normal}.about-facts .facts-badges{justify-content:center;max-width:100%}}@media (min-width:769px){.skills-grid{grid-auto-flow:row;place-content:center}}.about-page{color:#111;background:linear-gradient(115deg,#00000009,#0000 28%),radial-gradient(circle at 88% 14%,#0000000f,#0000 26%),radial-gradient(circle at 8% 88%,#0000000b,#0000 32%),#fff;min-height:100vh;padding:clamp(5.5rem,10vh,8rem) 1.5rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.about-container{max-width:1040px;margin:0 auto}.about-hero{border-bottom:1px solid #0000001f;grid-template-columns:1.1fr .9fr;align-items:end;gap:clamp(2rem,5vw,4rem);margin-bottom:4rem;padding-bottom:2rem;display:grid}.about-hero h1{letter-spacing:-.04em;color:#111;margin:0;font-size:clamp(2.85rem,5.4vw,4.65rem);font-weight:400;line-height:.98}.about-hero .subtle{letter-spacing:.28em;text-transform:uppercase;color:#222;grid-column:1;margin-top:1rem;font-size:.78rem}.about-hero .description{color:#333;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff94;border-radius:1.15rem;grid-area:1/2/span 2;max-width:460px;margin:0;padding:1.4rem;font-size:clamp(1rem,1.35vw,1.16rem);line-height:1.65;box-shadow:inset 0 0 0 1px #00000017,0 18px 45px #0000000e}.section{flex-direction:column;gap:0;margin:2.75rem 0;display:flex}.entry{border-bottom:1px solid #00000013;grid-template-columns:165px 1fr;gap:2rem;max-width:none;padding:1.75rem 0;transition:transform .28s,border-color .28s;display:grid;position:relative}.entry:before{content:"";opacity:.24;background:#111;border-radius:999px;width:.42rem;height:.42rem;transition:opacity .28s,transform .28s;position:absolute;top:2.18rem;left:-1.15rem}.entry:hover{border-color:#00000029;transform:translate(6px)}.entry:hover:before{opacity:.55;transform:scale(1.25)}.entry h2{letter-spacing:.18em;text-transform:uppercase;color:#111;margin:0;font-size:.76rem;font-weight:650}.entry p{color:#444;max-width:590px;margin:0;font-size:clamp(1rem,1.38vw,1.18rem);line-height:1.68}.private{opacity:.84}.private-link{color:#111;border-bottom:1px solid;margin-top:1.1rem;font-size:.9rem;text-decoration:none;transition:opacity .25s,transform .25s;display:inline-block}.private-link:hover{opacity:.65;transform:translate(4px)}.i-section-divider{display:none}.hero-line,.section,.entry{opacity:0}@media (max-width:768px){.about-page{padding:clamp(5.5rem,12vh,7rem) 1.25rem 3rem}.about-hero{margin-bottom:2.5rem;padding-bottom:1.75rem;display:block}.about-hero h1{font-size:clamp(2.85rem,13vw,4.4rem)}.about-hero .description{max-width:100%;margin-top:1.5rem;padding:1.2rem}.section{margin:2.25rem 0}.entry{grid-template-columns:1fr;gap:.65rem;padding:1.35rem 0}.entry:before{display:none}.entry:hover{transform:none}}.beveled-icon{cursor:default;-webkit-user-select:none;user-select:none;margin:50px auto 0;animation:1.2s cubic-bezier(.25,.8,.25,1) forwards smooth-slide-up;display:block;position:relative;overflow:hidden}.beveled-icon .shine{transform-origin:0;animation:3.5s ease-in-out infinite shine-slide}@keyframes shine-slide{0%{transform:translate(-120%)}to{transform:translate(220%)}}.project-grid{scroll-snap-type:x mandatory;gap:1.5rem;margin-top:3rem;margin-bottom:5rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.project-card{scroll-snap-align:start;z-index:0;background:var(--input-bg);border-radius:2px;flex-direction:column;height:680px;transition:transform .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 6px #0000002e;width:600px!important}.project-card:hover{transform:translateY(-9px);box-shadow:0 8px 22px #0000001f}.project-card:before{content:"";background:linear-gradient(to bottom, var(--primary-accent), var(--secondary-accent));z-index:2;border-radius:20px 0 0 20px;width:6px;position:absolute;inset:0 auto 0 0}.project-image-wrapper{width:100%;height:100%;position:fixed}.project-image-wrapper img{object-fit:cover;width:100%;height:100%;display:block}.project-image-wrapper:before,.project-image-wrapper:after{content:"";pointer-events:none;z-index:1;height:160px;position:absolute;left:0;right:0}.project-content{z-index:2;flex-direction:column;flex:1;gap:.75rem;padding:1.5rem 1.5rem .5rem;display:flex;position:relative}.project-header{justify-content:space-between;align-items:flex-start;display:flex}.project-title{color:#fff;margin-top:0;font-size:1.4rem;font-weight:500}.project-m-title{color:#000;margin-top:0;font-size:1.4rem;font-weight:500}.project-date{color:#fff;font-size:1rem}.project-description{color:var(--text-color);font-size:1rem;line-height:1.4}.project-tech{flex-wrap:wrap;gap:.45rem .6rem;margin-top:auto;display:flex}.tech-badge{object-fit:contain;height:20px}.project-links{gap:1rem;margin-top:.75rem;display:flex}.project-link-button{background:var(--link-color);color:#000;cursor:pointer;border:none;border-radius:6px;flex:1;padding:.55rem 1rem;font-size:.9rem;font-weight:500;transition:background .3s}.project-link-button:hover{background:var(--secondary-accent)}.animate-slide-up{opacity:0;visibility:hidden;animation:1.2s cubic-bezier(.25,.8,.25,1) forwards smooth-slide-up;transform:translateY(40px)}@keyframes smooth-slide-up{0%{opacity:0;visibility:hidden;transform:translateY(40px)}to{opacity:1;visibility:visible;transform:translateY(0)}}@media (max-width:1024px){.project-card{height:520px;width:450px!important}.project-title{font-size:1rem}.project-date,.project-description{font-size:.9rem}}@media (max-width:600px){.project-card{border-radius:6px;height:380px;width:320px!important}.project-title,.project-m-title{font-size:1rem}.project-date,.project-description{font-size:.85rem}.tech-badge{height:22px}.project-link-button{padding:.45rem .75rem;font-size:.8rem}}.project-page{background:var(--input-bg);min-height:100vh;color:var(--text-color);flex-direction:column;align-items:center;padding:4rem 1.5rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen;display:flex}.project-hero{border-radius:24px;width:100%;max-width:960px;margin-bottom:3rem;position:relative;overflow:hidden;box-shadow:0 12px 32px #0000001f}.project-hero img{object-fit:cover;width:100%;height:auto;display:block}.project-hero:after{content:"";z-index:1;background:linear-gradient(#0000000a 0%,#0000 30% 70%,#0000000a 100%);position:absolute;inset:0}.project-details{text-align:center;max-width:720px}.project-details h1{color:var(--text-color);margin-bottom:1rem;font-size:2.6rem;font-weight:600}.project-details .project-description{color:var(--text-color);margin-bottom:2rem;font-size:1.15rem;line-height:1.6}.project-details .project-links{justify-content:center;gap:1rem;margin-bottom:2rem;display:flex}.project-details .project-links .project-link-button{color:var(--text-color);cursor:pointer;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;transition:background .25s}.project-details .project-links .project-link-button:hover{color:var(--primary-accent);text-decoration:underline}.project-details .back-link{color:var(--link-color);margin-top:1rem;font-size:.95rem;text-decoration:none;transition:color .25s;display:inline-block}.project-details .back-link:hover{color:var(--primary-accent)}@media (max-width:768px){.project-details h1{font-size:2rem}.project-description{font-size:1rem}.project-links .project-link-button{padding:.6rem 1.2rem;font-size:.9rem}}.chat-widget{z-index:9999;position:fixed;bottom:1.5rem;right:1.5rem}.chat-widget .chat-toggle{cursor:pointer;background:0 0;border:none;padding:.3rem .5rem;font-size:1.8rem}.chat-widget .chat-close{color:var(--text-color);background:0 0;border:none}.chat-widget .chat-box{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:300px;height:400px;color:var(--text-color);background:#14141ee6;background-color:var(--bg-color);box-shadow:0 .5px 1px var(--text-color);border-radius:4px;flex-direction:column;transition:all .3s;display:flex;position:absolute;bottom:0;right:0;overflow:hidden}.chat-widget .chat-box header{background:var(--card-bg);justify-content:space-between;padding:.8rem 1rem;font-weight:700;display:flex}.chat-widget .chat-box .chat-messages{flex:1;padding:1rem;overflow-y:auto}.chat-widget .chat-box .chat-messages .chat-msg{margin-bottom:1rem;line-height:1.4}.chat-widget .chat-box .chat-messages .chat-msg.user{text-align:right;color:var(--primary-accent)}.chat-widget .chat-box .chat-messages .chat-msg.assistant{text-align:left;color:var(--text-color)}.chat-widget .chat-box .chat-messages .chat-msg.typing{font-weight:700}.chat-widget .chat-box .chat-messages .chat-msg.typing .dot{font-size:1.2rem;animation:1.4s infinite blink;display:inline-block}.chat-widget .chat-box .chat-messages .chat-msg.typing .dot:nth-child(2){animation-delay:.2s}.chat-widget .chat-box .chat-messages .chat-msg.typing .dot:nth-child(3){animation-delay:.4s}.chat-widget .chat-box footer{border-top:1px solid #ffffff1a;padding:.5rem;display:flex}.chat-widget .chat-box footer input{color:var(--text-color);background:0 0;border:none;outline:none;flex:1;padding:.5rem;font-size:1rem}.chat-widget .chat-box footer input::placeholder{color:var(--text-color)}.chat-widget .chat-box footer button{color:var(--primary-accent);cursor:pointer;background:0 0;border:none;padding:0 .5rem;font-size:1.25rem}@media (max-width:480px){.chat-widget{bottom:0;right:0}.chat-widget .chat-box{width:100%;height:100%;box-shadow:none;border-radius:0;max-height:100%;animation:.3s ease-out slideUp;position:fixed;bottom:0;left:0;right:0}.chat-widget .chat-toggle{padding:1.4rem 1.5rem;font-size:1.4rem}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0%)}}@keyframes blink{0%,to{opacity:0}50%{opacity:1}}@keyframes fade-slide-down{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.code-tabs .tab-list{-webkit-overflow-scrolling:touch;scrollbar-width:thin;border:1px solid #8080805e;border-radius:4px 4px 0 0;gap:.75rem;margin-bottom:0;padding:.75rem;animation:.3s ease-out forwards fade-slide-down;display:flex;overflow-x:auto}.code-tabs .tab-list>.tab-trigger{opacity:0;will-change:opacity,transform;animation:.3s ease-out forwards fade-slide-down;transform:translateY(-10px)}.code-tabs .tab-list>.tab-trigger:first-child{animation-delay:50ms}.code-tabs .tab-list>.tab-trigger:nth-child(2){animation-delay:.1s}.code-tabs .tab-list>.tab-trigger:nth-child(3){animation-delay:.15s}.code-tabs .tab-list>.tab-trigger:nth-child(4){animation-delay:.2s}.code-tabs .tab-list>.tab-trigger:nth-child(5){animation-delay:.25s}.code-tabs .tab-list>.tab-trigger:nth-child(6){animation-delay:.3s}.code-tabs .tab-list>.tab-trigger:nth-child(7){animation-delay:.35s}.code-tabs .tab-list>.tab-trigger:nth-child(8){animation-delay:.4s}.code-tabs .tab-list>.tab-trigger:nth-child(9){animation-delay:.45s}.code-tabs .tab-list>.tab-trigger:nth-child(10){animation-delay:.5s}.code-tabs .tab-list::-webkit-scrollbar{height:6px}.code-tabs .tab-list::-webkit-scrollbar-thumb{background:#8080805e;border-radius:3px}.code-tabs .tab-trigger{cursor:pointer;box-sizing:border-box;background:0 0;border:none;border-radius:.5rem;flex:none;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;transition:background .2s,transform .2s;display:flex}.code-tabs .tab-trigger img{filter:grayscale()opacity(.6);width:1.25rem;height:1.25rem;transition:filter .2s,transform .2s}.code-tabs .tab-trigger:hover img,.code-tabs .tab-trigger.active img{filter:brightness(0) drop-shadow(0 0 0 var(--primary-accent));transform:scale(1.1)}.code-tabs .code-panel pre{background:var(--bg-color);white-space:pre;text-align:left;opacity:0;border:1px solid #8080805e;border-radius:.75rem;font-size:.9rem;animation:.3s ease-out .4s forwards fade-slide-down;overflow-x:auto;margin-top:0!important;margin-left:0!important;padding:15px 1rem 2rem 0!important}.code-tabs .doc-link{text-align:right;margin-top:.5rem;font-size:.875rem}.code-tabs .doc-link a{color:var(--link-color)}@media (max-width:600px){.code-tabs .tab-list{gap:.5rem;padding:.5rem}.code-tabs .tab-trigger{width:2rem;height:2rem}.code-tabs .tab-trigger img{width:1rem;height:1rem}.code-tabs .code-panel pre{font-size:.8rem;padding:1rem!important}.code-tabs .doc-link{font-size:.75rem}}body[data-theme=dark] .code-tabs .tab-trigger img{filter:brightness(0)invert()opacity(.6)}body[data-theme=dark] .code-tabs .tab-trigger:hover img,body[data-theme=dark] .code-tabs .tab-trigger.active img{filter:brightness(0) invert(1) drop-shadow(0 0 0 var(--primary-accent)) opacity(1);transform:scale(1.1)}.carousel{width:100px;height:80vh;position:relative;overflow:hidden}.carousel-track{height:100%;transition:transform .6s ease-in-out;display:flex}.carousel-slide{min-width:100%;height:100%}.carousel-slide img{object-fit:cover;width:100%;height:100%}sv .carousel-btn{color:#fff;cursor:pointer;z-index:2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0000004d;border:none;border-radius:8px;padding:.5rem 1rem;font-size:2rem;position:absolute;top:50%;transform:translateY(-50%)}sv .carousel-btn:hover{background:#00000080}sv .carousel-btn.left{left:20px}sv .carousel-btn.right{right:20px}.carousel-dots{justify-content:center;gap:10px;width:100%;display:flex;position:absolute;bottom:20px}.carousel-dots .dot{cursor:pointer;background:#ffffff80;border-radius:50%;width:10px;height:10px;transition:all .3s}.carousel-dots .dot.active{background:#fff;transform:scale(1.2)}.carousel{width:100%;height:80vh;animation:1s ease-out forwards carouselFadeIn;position:relative;overflow:hidden}.carousel-slide img{animation:1.2s ease-out forwards imageSoftReveal}@keyframes carouselFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes imageSoftReveal{0%{opacity:0;filter:blur(6px)brightness(.8);transform:scale(1.05)}to{opacity:1;filter:blur()brightness();transform:scale(1)}}.hero-mark{justify-content:center;align-items:center;display:flex}.hero-mark__svg{width:120px;height:auto;overflow:visible}.hero-mark__c,.hero-mark__d{fill:none;stroke:#050505;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 14px 18px #0000001f)}.hero-mark__c{stroke-width:5px}.hero-mark__d{stroke-width:3.2px}.model-page{color:#111;background:#fff;padding:clamp(5rem,10vh,8rem) 1.5rem}.model-container{max-width:1100px;margin:0 auto}.model-hero{margin-bottom:.5rem}.model-hero h1{font-size:clamp(2.5rem,6vw,4rem);font-weight:400}.model-hero .subtle{letter-spacing:.2em;text-transform:uppercase;margin-top:.5rem;font-size:.8rem}.model-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:3rem;display:grid}.set-card{color:inherit;text-decoration:none;display:block}.set-card .image-wrapper{aspect-ratio:3/4;background:#eee;width:100%;overflow:hidden}.set-card .image-wrapper img{object-fit:cover;width:100%;height:100%;transition:transform .6s}.set-card .set-info{margin-top:.75rem}.set-card .set-info h2{font-size:1rem;font-weight:500}.set-card .set-info span{color:#555;font-size:.8rem}.set-card:hover img{transform:scale(1.05)}.model-private{margin-top:3rem;font-size:.9rem}.model-private .private-link{border-bottom:1px solid;margin-top:.5rem;text-decoration:none;display:inline-block}@media (max-width:900px){.model-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.model-grid{grid-template-columns:1fr}}.model-animate-hero,.set-card,.model-private,.set-header>*,.photo-frame{opacity:0;will-change:opacity,transform;backface-visibility:hidden;transform:translateY(24px)}.image-wrapper img{will-change:transform}.model-disclaimer{letter-spacing:.08em;text-transform:uppercase;margin-top:.75rem;font-size:.68rem;line-height:1.5}.subtle-note{line-height:1.5}.model-animate-hero,.set-card,.model-private{opacity:0}.back-link{opacity:0;transform:translateY(20px)}.photographer-link{border-bottom:1px solid;font-style:italic;text-decoration:none;transition:opacity .2s}.photographer-link:hover{opacity:.7}.locked-set .image-wrapper{position:relative;overflow:hidden}.locked-set img{filter:blur(12px)brightness(.7);transform:scale(1.05)}.locked-set .image-wrapper:after{content:"🔒 Locked";color:#fff;letter-spacing:.08em;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0009;border-radius:6px;padding:.5rem .9rem;font-size:1rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.model-intro{letter-spacing:.02em;color:#000000a6;text-align:left;max-width:560px;margin:.9rem 0 1.4rem;font-size:.95rem;line-height:1.65}.model-intro.model-animate-hero{opacity:0;will-change:opacity,transform;transform:translateY(24px)}.photo-set-page{color:#111;background:#fff;min-height:100vh;padding:clamp(5rem,10vh,8rem) 1.5rem}.photo-set-container{max-width:980px;margin:0 auto}.back-link{color:inherit;border-bottom:1px solid;margin-bottom:3rem;font-size:.9rem;text-decoration:none;display:inline-block}.set-header{margin-bottom:4rem}.set-header .set-year{letter-spacing:.22em;text-transform:uppercase;margin:0 0 .75rem;font-size:.8rem}.set-header h1{margin:0;font-size:clamp(3rem,8vw,6rem);font-weight:400;line-height:.95}.set-header .set-description{color:#444;max-width:520px;margin-top:1.5rem;font-size:1rem;line-height:1.6}.photo-stack{flex-direction:column;gap:clamp(2rem,6vw,5rem);display:flex}.photo-frame{opacity:0;background:#eee;width:100%;margin:0;overflow:hidden}.photo-frame img{object-fit:cover;width:100%;height:auto;display:block}.photo-frame:nth-child(2n){width:72%;margin-left:auto}.photo-frame:nth-child(odd){width:86%;margin-right:auto}.photo-frame:first-child{width:100%}@media (max-width:768px){.photo-set-page{padding:clamp(5.5rem,12vh,7rem) 1.25rem 3rem}.set-header{margin-bottom:3rem}.photo-frame,.photo-frame:nth-child(2n),.photo-frame:nth-child(odd){width:100%;margin-left:0;margin-right:0}}.music-page{min-height:100vh;color:var(--text-primary,#080808);padding:clamp(6rem,10vw,8rem) clamp(1.25rem,5vw,4rem)}.music-hero{text-align:center;max-width:760px;margin:0 auto 3rem}.music-hero h1{letter-spacing:-.07em;margin:0 0 1rem;font-size:clamp(3.5rem,10vw,7rem);line-height:.9}.music-hero p{opacity:.72;max-width:560px;margin:0 auto;line-height:1.65}.music-kicker{text-transform:uppercase;letter-spacing:.18em;opacity:.55;margin-bottom:1rem;font-size:.72rem}.demo-list{gap:1rem;max-width:760px;margin:0 auto;display:grid}.demo-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff85;border:1px solid #00000017;border-radius:24px;gap:1rem;padding:1.25rem;display:grid;box-shadow:0 18px 50px #00000012}.demo-card span{opacity:.45;margin-bottom:.5rem;font-size:.75rem;display:block}.demo-card h2{letter-spacing:-.03em;margin:0;font-size:1.35rem}.demo-card p{opacity:.6;margin:.25rem 0 0;font-size:.95rem}.demo-card audio{width:100%}.music-contact{text-align:center;opacity:.75;max-width:760px;margin:2rem auto 0;font-size:.95rem}.music-contact p{margin-bottom:.4rem}.music-contact a{color:inherit;text-underline-offset:4px;text-decoration:underline}@media (max-width:640px){.music-page{padding-top:5rem}.demo-card{border-radius:20px}}.music-animate-hero,.demo-card,.music-contact{opacity:0;will-change:opacity,transform;backface-visibility:hidden;transform:translateY(24px)}
