:root{--bg-color: #f4f4f0;--text-color: #1a1a1a;--color-text: #1a1a1a;--color-text-light: #666;--color-accent: #ff4d00;--color-accent-green: #00a651;--font-sans: "Inter", sans-serif;--font-serif: "Noto Serif", serif;--font-size-hero: clamp(2.2rem, 6vw, 4.5rem);--font-size-title: clamp(1.8rem, 4vw, 3rem);--font-size-section: clamp(1.5rem, 3vw, 2.5rem);--font-size-body-lg: clamp(1rem, 1.5vw, 1.25rem);--font-size-body: clamp(.95rem, 1.2vw, 1.1rem);--font-size-small: clamp(.8rem, 1vw, .9rem);--font-size-meta: clamp(.7rem, .9vw, .85rem);--spacing-sm: 1rem;--spacing-md: 2rem;--spacing-lg: 4rem;--spacing-xl: 8rem;--spacing-page-x: clamp(1rem, 4vw, 2rem);--spacing-section-y: clamp(3rem, 8vw, 6rem);--transition-medium: .4s cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-color);color:var(--text-color);line-height:1.6;-webkit-font-smoothing:antialiased;position:relative;overflow-x:clip;max-width:100vw}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");mix-blend-mode:overlay}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);font-weight:600;line-height:1.2}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.grid{display:grid}.gap-4{gap:1rem}.gap-8{gap:2rem}.text-center{text-align:center}.uppercase{text-transform:uppercase}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.site-header{position:fixed;top:2rem;left:2rem;z-index:100}.logo-container{display:flex;align-items:center;gap:1rem;text-decoration:none;color:var(--text-color)}.logo-icon{width:40px;height:40px;background-color:#ff69b5;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem;line-height:1;padding-bottom:4px;flex-shrink:0}.logo-text{display:flex;flex-direction:column;gap:.25rem;justify-content:center}.logo-name{font-family:var(--font-serif);font-size:1.5rem;font-style:italic;line-height:1;color:var(--text-color)}.logo-name-svg{height:1.25rem;width:auto;display:block;fill:var(--text-color);transition:fill .3s ease;margin-left:-4rem}.logo-role{font-family:var(--font-sans);font-size:.75rem;letter-spacing:.1em;color:var(--text-secondary);text-transform:uppercase}@media(max-width:768px){.site-header{display:none}}.dock-container{position:fixed;top:2rem;left:50%;transform:translate(-50%);z-index:1000}.dock{background:#fffc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:.4rem;border-radius:50px;display:flex;gap:.3rem;box-shadow:0 4px 20px #00000008;border:1px solid rgba(255,255,255,.6);transition:all .3s ease}.dock-item{padding:.6rem 1.4rem;font-family:var(--font-sans);font-size:.85rem;font-weight:500;color:var(--color-text-light);text-decoration:none;border-radius:30px;transition:all .3s cubic-bezier(.4,0,.2,1);letter-spacing:.05em;position:relative}.dock-item:hover{background:#ff69b40d;color:#ff69b4}.dock-item:active{background:#ff69b41a;color:#ff69b4;transform:scale(.97)}.dock-item.active{background:#ff69b41a;color:#ff69b4;font-weight:600}.dock-divider,.dock-icon{display:none}@media(max-width:768px){.dock-container{display:none}}.mobile-nav-bar,.mobile-nav-header-container{display:none}@media(max-width:768px){.mobile-nav-bar{display:flex;align-items:center;justify-content:space-between;position:fixed;top:1rem;left:1rem;right:1rem;z-index:1200;padding:.75rem .85rem;background:#ffffffeb;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:16px;border:1px solid rgba(0,0,0,.06);box-shadow:0 2px 20px #0000000f}.mobile-nav-header-container{display:block}.hamburger-button{position:fixed;top:1.5rem;right:1.5rem;z-index:1200;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#ffffffe6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(0,0,0,.08);border-radius:12px;cursor:pointer;color:#333;transition:all .3s ease}.hamburger-button:hover,.hamburger-button:active{background:#fff;color:#ff69b4}.mobile-nav-logo{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--text-color);flex:1;min-width:0;min-height:44px}.mobile-nav-logo-icon{width:32px;height:32px;background-color:#ff69b5;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.1rem;line-height:1;padding-bottom:2px;flex-shrink:0}.mobile-nav-logo-text{display:flex;flex-direction:column;gap:.15rem;justify-content:center;min-width:0}.mobile-nav-name-svg{height:.9rem;width:auto;display:block;fill:var(--text-color);margin-left:-3.5rem}.mobile-nav-role{font-family:var(--font-sans);font-size:.6rem;letter-spacing:.08em;color:var(--text-secondary);text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-nav-hamburger{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;color:#333;transition:color .3s ease;flex-shrink:0;margin-right:-.25rem}.mobile-nav-hamburger:hover,.mobile-nav-hamburger:active{color:#ff69b4}.mobile-nav-overlay{position:fixed;inset:0;background:#0000004d;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1050;will-change:opacity}.mobile-nav-menu{position:fixed;top:0;right:0;width:280px;max-width:85vw;height:100vh;height:100dvh;background:#fffffffa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:1300;display:flex;flex-direction:column;padding:5rem 2rem 2rem;box-shadow:-4px 0 30px #0000001a;will-change:transform;transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.mobile-nav-close{position:absolute;top:1.5rem;right:1.5rem;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;color:#333;transition:color .3s ease;z-index:1250}.mobile-nav-close:hover,.mobile-nav-close:active{color:#ff69b4}.mobile-nav-links{display:flex;flex-direction:column;gap:.5rem;margin-bottom:auto}.mobile-nav-link{font-family:var(--font-serif, Georgia, serif);font-size:1.75rem;font-style:italic;color:#333;text-decoration:none;padding:.75rem 0;transition:color .3s ease}.mobile-nav-links>div,.mobile-nav-social-icons{opacity:0}.mobile-nav-link:hover,.mobile-nav-link:active,.mobile-nav-link.active{color:#ff69b4}.mobile-nav-social-icons{display:flex;gap:1.5rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(0,0,0,.08)}.mobile-nav-social-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;color:#333;transition:color .3s ease,transform .3s ease}.mobile-nav-social-icon:hover,.mobile-nav-social-icon:active{color:#ff69b4;transform:translateY(-2px)}.mobile-nav-resume-button{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 2rem;background-color:#ff69b41a;color:#ff69b4;font-family:var(--font-sans, sans-serif);font-weight:600;font-size:1rem;text-decoration:none;border-radius:50px;border:1px solid rgba(255,105,180,.3);transition:background-color .3s ease,border-color .3s ease;margin-bottom:calc(env(safe-area-inset-bottom,0px) + 1rem);opacity:0}.mobile-nav-resume-button svg{transition:transform .3s ease}.mobile-nav-resume-button:hover,.mobile-nav-resume-button:active{background-color:#ff69b433;border-color:#ff69b4}.mobile-nav-resume-button:hover svg,.mobile-nav-resume-button:active svg{transform:translate(2px,-2px)}}@media(max-width:480px){.mobile-nav-bar{top:.75rem;left:.75rem;right:.75rem;padding:.65rem .7rem;border-radius:14px}.mobile-nav-logo-icon{width:28px;height:28px;font-size:1rem;border-radius:6px}.mobile-nav-name-svg{height:.8rem;margin-left:-3.5rem}.mobile-nav-role{font-size:.55rem}.mobile-nav-hamburger{width:44px;height:44px}.mobile-nav-menu{padding:4.5rem 1.5rem 1.5rem}.mobile-nav-link{font-size:1.5rem}.hamburger-button{top:1rem;right:1rem}}.cursor{position:fixed;top:0;left:0;width:12px;height:12px;background-color:#fff;border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .3s ease,height .3s ease,background-color .3s ease,transform .1s ease-out;mix-blend-mode:difference;display:flex;justify-content:center;align-items:center}.cursor--hidden{opacity:0}.cursor--clicked{transform:translate(-50%,-50%) scale(.8);background-color:#fff}.cursor--link-hovered{width:40px;height:40px;background-color:#fff;mix-blend-mode:difference}.cursor--text-mode{width:80px;height:80px;background-color:#fff;mix-blend-mode:difference}.cursor-text{font-family:Inter,sans-serif;font-size:12px;font-weight:600;color:#000;opacity:0;transition:opacity .3s ease}.cursor--text-mode .cursor-text{opacity:1}@media(max-width:768px){.cursor{display:none}}.scroll-to-top{width:44px;height:44px;border-radius:50%;background-color:#fff;color:#ff5f85;border:2px solid #FF5F85;cursor:pointer;display:flex;justify-content:center;align-items:center;font-size:1.2rem;font-weight:700;line-height:1;transition:background-color .3s ease,color .3s ease,border-color .3s ease;will-change:transform,opacity}.scroll-to-top:hover{background-color:#ff5f85;color:#fff}.scroll-to-top:active{transform:scale(.95)}@media(max-width:768px){.scroll-to-top{width:44px;height:44px;font-size:1.2rem}}@media(hover:none){.scroll-to-top:hover{background-color:#fff;color:#ff5f85}.scroll-to-top:active{background-color:#ff5f85;color:#fff;transform:scale(.95)}}.fixed-controls{position:fixed;bottom:2rem;right:2rem;display:flex;flex-direction:column;align-items:center;gap:1rem;z-index:1000}@media(max-width:768px){.fixed-controls{bottom:max(1.5rem,calc(env(safe-area-inset-bottom) + .5rem));right:1.5rem;flex-direction:column;gap:.75rem}}@media(max-width:480px){.fixed-controls{bottom:max(1rem,calc(env(safe-area-inset-bottom) + .5rem));right:1rem;gap:.5rem}}.top-right-nav{position:fixed;top:2rem;right:2rem;display:flex;align-items:center;gap:1.5rem;z-index:1000}.social-icons{display:flex;align-items:center;gap:1.5rem}.social-icon{color:#333;transition:color .3s ease,transform .3s ease;display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:.5rem}.social-icon:hover{color:#ff69b4;transform:translateY(-2px)}.social-icon:active{color:#ff69b4;transform:translateY(-2px) scale(.95)}@media(max-width:768px){.top-right-nav{display:none}}.resume-button{padding:.75rem 1.5rem;background-color:#ff69b41a;color:#ff69b4;font-family:var(--font-sans);font-weight:600;text-decoration:none;border-radius:50px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,105,180,.3);transition:all .3s ease;display:flex;align-items:center;gap:.5rem;font-size:.9rem;letter-spacing:.05em}.resume-button svg{transition:transform .3s ease}.resume-button:hover{background-color:#ff69b433;border-color:#ff69b4;transform:translateY(-2px);box-shadow:0 4px 12px #ff69b426}.resume-button:hover svg{transform:translate(2px,-2px)}.resume-button:active{background-color:#ff69b440;transform:translateY(0);box-shadow:0 2px 6px #ff69b433}@media(max-width:768px){.resume-button{padding:.75rem 1.3rem;font-size:.8rem;min-height:44px}}.nav-background{position:fixed;top:0;left:0;right:0;height:100px;background:#f4f4f0e6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:90;pointer-events:none}@media(max-width:768px){.nav-background{display:none}}.marquee-container{overflow:hidden;white-space:nowrap;padding:4rem 0;background-color:var(--color-bg);border-top:1px solid var(--color-border)}.marquee-track{display:inline-flex;animation:marquee 30s linear infinite}.marquee-text{font-family:var(--font-sans);font-size:4rem;font-weight:600;color:var(--color-text);padding-right:1rem;flex-shrink:0}.marquee-flower{color:#ff69b5}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@media(max-width:768px){.marquee-text{font-size:2.5rem}.home-page~footer .marquee-container,body:has(.home-page) .marquee-container{display:none}}.marquee-container.paused .marquee-track{animation-play-state:paused}@media(prefers-reduced-motion:reduce){.marquee-track{animation:none}}.footer-copyright{padding:4rem 0;text-align:center;color:var(--color-text-light);max-width:1200px;margin:0 auto}@media(max-width:768px){.footer-copyright{padding:2rem 0}.footer-copyright p{font-size:.75rem}}.page-loader{display:flex;justify-content:center;align-items:center;min-height:100vh;width:100%}.page-loader-spinner{width:40px;height:40px;border:3px solid var(--color-bg-lighter, #f5f5f5);border-top-color:var(--color-text, #333);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.project-card{margin-bottom:0;width:100%}.card-inner{display:grid;grid-template-columns:1fr 1fr;background:var(--bg-color);border:1px solid rgba(0,0,0,.12);border-radius:8px;overflow:hidden;transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s ease,background-color .3s ease,border-color .3s ease;text-decoration:none;color:inherit}.project-card:hover .card-inner{transform:translateY(-4px);box-shadow:0 20px 40px #00000008;border-color:#e5e5e5}.project-card:active .card-inner{transform:translateY(-2px);box-shadow:0 10px 20px #0000000d}.card-content{padding:5rem 4rem;display:flex;flex-direction:column;justify-content:space-between;position:relative;min-height:400px}.card-header{display:flex;flex-direction:column}.card-title{font-family:var(--font-serif);font-size:3rem;font-weight:400;margin-bottom:1.5rem;line-height:1.1;color:var(--color-text);white-space:nowrap}.card-description{font-family:var(--font-sans);font-size:1.25rem;color:var(--color-text-light);line-height:1.5;max-width:90%;font-weight:300}.card-meta{font-family:var(--font-sans);font-size:.85rem;letter-spacing:.15em;text-transform:uppercase;color:var(--color-text-light);font-weight:500;display:flex;gap:.5rem;align-items:center}.card-meta span:not(:last-child):after{content:"•";margin-left:.5rem;color:#ccc}.card-button{display:none}.project-card:hover .card-button{opacity:1;transform:translateY(0)}.card-image-wrapper{background:transparent;position:relative;overflow:hidden;display:block;padding:0}.card-image{width:100%;height:100%;display:block;object-fit:contain;object-position:center;transition:transform .6s cubic-bezier(.22,1,.36,1);filter:drop-shadow(0 20px 40px rgba(0,0,0,.15))}.project-card:hover .card-image{transform:scale(1.02)}@media(max-width:900px){.card-inner{grid-template-columns:1fr;min-height:auto}.card-content{padding:2rem;order:2;min-height:auto}.card-image-wrapper{padding:2rem 2rem 0;order:1;min-height:250px;background:var(--bg-color)}.card-title{font-size:var(--font-size-title);white-space:normal}.card-description{font-size:var(--font-size-body);max-width:100%}.card-meta{font-size:var(--font-size-meta)}}@media(max-width:480px){.card-content{padding:1.25rem}.card-image-wrapper{padding:1.25rem 1.25rem 0;min-height:220px;aspect-ratio:4/3}.card-title{margin-bottom:.35rem}.card-description{margin-bottom:.75rem}}@media(max-width:768px)and (min-width:481px){.card-title{margin-bottom:.5rem}.card-image-wrapper{min-height:280px;aspect-ratio:4/3}}@media(hover:none){.project-card:hover .card-inner{transform:none;box-shadow:none;border-color:#0000001f}.project-card:hover .card-image{transform:none}.project-card:active .card-inner{transform:scale(.98);transition:transform .1s ease}}.home-page{padding-top:4rem;background-color:transparent}.hero{padding:8rem 2rem 6rem;min-height:auto;display:flex;flex-direction:column;justify-content:center;max-width:1200px;margin-left:auto;margin-right:auto}.hero-title{font-size:var(--font-size-hero);font-weight:600;letter-spacing:-.03em;line-height:1.1;color:var(--color-text);margin-bottom:1.5rem;display:flex;align-items:center;gap:1rem}.star-icon{font-size:2.5rem;color:#ff69b4;vertical-align:middle;animation:spin 10s linear infinite}.hero-bio-container{max-width:600px}.hero-bio{font-size:var(--font-size-body-lg);font-weight:400;color:var(--color-text);line-height:1.5;margin-bottom:1rem}.hero-tagline{font-size:var(--font-size-body-lg);padding-right:2rem}.tagline-wrapper{position:relative;display:inline-block;z-index:1}.tagline-highlight{position:absolute;bottom:1px;left:-4px;right:-4px;height:10px;background-color:#ff69b4;opacity:.4;z-index:0;border-radius:2px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.star-icon{animation:none}}.work{max-width:1200px;margin:0 auto;padding:0 2rem}.projects-grid{display:flex;flex-direction:column;gap:2rem;padding-bottom:var(--spacing-xl)}@media(max-width:900px){.hero{padding:6rem var(--spacing-page-x) 4rem}.hero-title{flex-wrap:wrap}.star-icon{font-size:1.8rem}}@media(max-width:480px){.hero{padding:5rem var(--spacing-page-x) 3rem}.hero-bio-container{max-width:100%}.hero-tagline{padding-right:0}.star-icon{font-size:1.5rem}.work{padding:0 .75rem}}@media(max-width:768px)and (min-width:481px){.work{padding:0 1rem}}.project-detail{width:100%;max-width:100%;min-height:100vh;min-height:100dvh;padding-bottom:100px;background-color:var(--bg-color);color:var(--text-color);position:relative;z-index:1;overflow-x:hidden;box-sizing:border-box}.detail-hero{padding:100px 20px 20px;max-width:1400px;margin:0 auto}.detail-title{font-family:"Noto Serif",serif;font-size:clamp(2rem,5vw,3.5rem);font-weight:400;line-height:1;margin:0}.detail-title.smaller{font-size:clamp(1.75rem,4vw,2.75rem)}.detail-cover{width:100%;max-width:1000px;margin:0 auto 40px;padding:0 20px}.detail-cover img{width:100%;height:auto;max-height:450px;object-fit:contain;display:block;border-radius:8px}.detail-content-grid{display:grid;grid-template-columns:1fr 2fr;gap:40px;max-width:1400px;margin:0 auto;padding:0 20px}.detail-info{display:flex;flex-direction:column;gap:30px;position:sticky;top:100px;height:fit-content;max-width:100%;box-sizing:border-box}.info-item h3{font-family:Inter,sans-serif;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:#999;margin-bottom:10px}.info-item p{font-family:Inter,sans-serif;font-size:1rem;color:var(--text-color)}.detail-body{display:flex;flex-direction:column;gap:40px;max-width:100%;overflow-x:hidden;box-sizing:border-box}.section-image-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.section-image-grid img{width:100%;height:auto;border-radius:8px}.detail-body p{font-family:Inter,sans-serif;font-size:1.2rem;line-height:1.6;color:#333}.detail-gallery{margin-top:80px;display:flex;flex-direction:column;gap:40px}.gallery-image{width:100%;border-radius:8px;overflow:hidden}.gallery-image img{width:100%;height:auto;display:block;transition:transform .5s ease}.gallery-image:hover img{transform:scale(1.02)}@media(max-width:900px){.detail-hero{padding:90px var(--spacing-page-x) 30px}.detail-content-grid{grid-template-columns:1fr;gap:30px;padding:0 var(--spacing-page-x)}.detail-info{position:static;flex-direction:row;flex-wrap:wrap;gap:20px;border-bottom:1px solid rgba(0,0,0,.1);padding-bottom:30px}.info-item{display:flex;flex-direction:column;gap:6px;min-width:120px}.detail-cover{margin-bottom:30px;padding:0 var(--spacing-page-x)}.detail-body p{font-size:var(--font-size-body)}.gallery-image:active img{transform:scale(.98)}.detail-body{gap:30px}.detail-gallery{margin-top:50px;gap:30px}}@media(max-width:480px){.detail-hero{padding:100px var(--spacing-page-x) 30px}.detail-info{display:grid;grid-template-columns:1fr 1fr;gap:20px 16px}.detail-info .info-item:nth-child(1){grid-column:1;grid-row:1}.detail-info .info-item:nth-child(2){grid-column:2;grid-row:1}.detail-info .info-item:nth-child(3){grid-column:1;grid-row:2}.info-item{min-width:auto}.detail-body{gap:24px}.project-sections{gap:40px}}.project-sections{display:flex;flex-direction:column;gap:80px}.section-text h3{font-family:Inter,sans-serif;font-size:1.2rem;margin-bottom:15px;color:var(--text-color)}.section-text.reduced-top-gap{margin-top:-40px}.section-text.reduced-header-gap h3{margin-bottom:8px}.section-text.reduced-bottom-gap{margin-bottom:-40px}.section-image-full h3{font-family:Inter,sans-serif;font-size:1.2rem;margin-bottom:15px;color:var(--text-color)}.section-image-full p{font-size:1rem;line-height:1.6;color:#555;margin-bottom:20px}.section-image-full img{width:100%;height:auto;border-radius:8px;display:block}.section-video-full{width:100%;overflow:hidden;border-radius:8px}.section-video-full video{width:100%;height:auto;display:block;border-radius:8px}.section-video-full iframe{width:100%;aspect-ratio:16 / 9;display:block;border-radius:8px;border:none;overflow:hidden}.section-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:40px}.section-grid-2 .grid-item h3{font-family:Inter,sans-serif;font-size:1.2rem;margin-bottom:15px;color:var(--text-color)}.section-grid-2 .grid-item p{font-size:1rem;line-height:1.6;color:#555}.section-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px}.section-grid-3 .grid-item h3{font-family:Inter,sans-serif;font-size:1.2rem;margin-bottom:15px;color:var(--text-color)}.section-grid-3 .grid-item p{font-size:1rem;line-height:1.6;color:#555}@media(max-width:900px){.section-grid-2{grid-template-columns:1fr;gap:24px}.section-grid-3{grid-template-columns:1fr;gap:40px}.section-image-grid{grid-template-columns:1fr;gap:16px}}.section-inspiration{display:flex;flex-direction:column;gap:15px}.section-inspiration h3{font-family:Inter,sans-serif;font-size:1.2rem;margin-bottom:0;color:var(--text-color)}.section-inspiration p{font-size:1rem;line-height:1.6;color:#555;margin-bottom:20px}.inspiration-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}.inspiration-item{aspect-ratio:1;background-color:#eee;border-radius:8px;overflow:hidden}.inspiration-item img{width:100%;height:100%;object-fit:cover}.section-inspiration-grid.full-height .inspiration-grid{align-items:stretch}.section-inspiration-grid.reduced-top-gap-small{margin-top:-40px}.section-inspiration-grid.full-height .inspiration-item{aspect-ratio:1 / 1.4}.section-inspiration-grid.full-height .inspiration-item img{width:100%;height:100%;object-fit:cover}.section-inspiration-grid.flush .inspiration-grid{gap:0}.section-visual-identity{display:flex;flex-direction:column;gap:15px}.section-visual-identity h3{font-family:Inter,sans-serif;font-size:1.2rem;margin-bottom:0;color:var(--text-color)}.section-visual-identity p{font-size:1rem;line-height:1.6;color:#555;margin-bottom:0}.visual-main-image{width:100%;border-radius:8px;overflow:hidden}.visual-main-image img{width:100%;height:auto;display:block}.visual-circles{display:flex;gap:20px;flex-wrap:wrap}.circle-item{width:80px;height:80px;border-radius:50%;background-color:#ddd}.section-digital-layout h3,.section-personas h3,.section-wireframes h3{font-family:Inter,sans-serif;font-size:1.2rem;margin-bottom:15px;color:var(--text-color)}.section-personas.reduced-top-gap{margin-top:-40px}.digital-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.digital-item{overflow:hidden;display:flex;flex-direction:column;align-items:center}.digital-item img{width:100%;height:auto;display:block}.digital-item .wireframe-label{margin-top:8px}.digital-item.clickable{transition:transform .3s ease}.digital-item.clickable:hover{transform:scale(1.02)}.digital-item .image-wrapper{position:relative;border-radius:8px;overflow:hidden}.digital-item .image-wrapper img{display:block;transition:transform .3s ease}.digital-item .expand-hint{position:absolute;bottom:12px;right:12px;background:#000000b3;color:#fff;padding:6px 12px;border-radius:20px;font-family:Inter,sans-serif;font-size:.75rem;display:flex;align-items:center;gap:6px;opacity:0;transition:opacity .3s ease;pointer-events:none}.digital-item .expand-icon{font-size:1rem}.digital-item.clickable:hover .expand-hint{opacity:1}@media(hover:none)and (min-width:769px){.digital-item.clickable .expand-hint{opacity:1}}.section-image-full+.section-digital-layout{margin-top:-60px}.section-digital-layout.reduced-top-gap{margin-top:-60px}.section-image-full.gala-header{margin-top:-30px}.section-image-full.gala-header img{border-radius:8px}.section-digital-layout.gala-grid{margin-top:-60px}.section-digital-layout.gala-grid .digital-item img{border-radius:8px}@media(max-width:768px){.section-digital-layout.gala-grid .digital-grid{grid-template-columns:repeat(2,1fr)!important}}.personas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.personas-single-col{display:flex;flex-direction:column;align-items:center;gap:30px}.persona-item{position:relative;background-color:#eee;border-radius:8px;overflow:hidden;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease;width:100%}.persona-item:hover{transform:scale(1.01);box-shadow:0 8px 30px #00000026}.persona-item:hover .persona-expand-hint{opacity:1}.persona-item img{width:100%;height:auto;display:block}.persona-expand-hint{position:absolute;bottom:12px;right:12px;display:flex;align-items:center;gap:6px;background:#000000b3;color:#fff;padding:8px 12px;border-radius:20px;font-size:.85rem;font-family:Inter,sans-serif;opacity:0;transition:opacity .3s ease;pointer-events:none}.persona-expand-hint svg{flex-shrink:0}.persona-item-static{background-color:#eee;border-radius:8px;overflow:hidden;width:100%}.persona-item-static img{width:100%;height:auto;display:block}.wireframes-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.wireframe-item{display:flex;flex-direction:column;align-items:center}.wireframe-item img{width:100%;height:auto}.wireframe-label{font-family:Inter,sans-serif!important;font-size:.95rem!important;color:var(--text-color)!important;font-weight:400!important;text-align:center;margin-top:8px;margin-bottom:0}.section-final-collages.reduced-top-gap{margin-top:-40px}.section-final-collages h3{font-family:Inter,sans-serif;font-size:1.2rem;margin-bottom:15px;color:var(--text-color)}.final-collages-grid{display:flex;flex-direction:column;gap:20px}.final-collage-item{width:100%;transition:transform .3s ease}.final-collage-item.expandable:hover{transform:scale(1.01)}.final-collage-item .image-wrapper{position:relative;width:100%}.final-collage-item img{width:100%;height:auto;border-radius:8px}.final-collage-item .expand-hint{position:absolute;bottom:12px;right:12px;background:#000000b3;color:#fff;padding:6px 12px;border-radius:6px;display:flex;align-items:center;gap:6px;font-size:.85rem;opacity:0;transition:opacity .3s ease;pointer-events:none}.final-collage-item .expand-icon{font-size:1rem}.final-collage-item.clickable:hover .expand-hint{opacity:1}@media(hover:none)and (min-width:769px){.final-collage-item.clickable .expand-hint{opacity:.8}}.section-video-grid.reduced-top-gap{margin-top:-60px}@media(max-width:768px){.section-video-grid.reduced-top-gap{margin-top:-20px}}.section-video-grid h3{font-family:Inter,sans-serif;font-size:1.2rem;margin-bottom:15px;color:var(--text-color)}.video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.video-grid-item{width:100%}@media(max-width:768px){.video-grid{grid-template-columns:1fr}}.video-grid-item video{width:100%;height:auto;display:block;border-radius:8px}.section-reflection h3{font-family:Inter,sans-serif;font-size:1.2rem;margin-bottom:15px;color:var(--text-color)}.section-reflection p{font-size:1rem;line-height:1.6;color:#555}@media(max-width:900px){.inspiration-grid{grid-template-columns:repeat(3,1fr)}.digital-grid,.wireframes-grid{grid-template-columns:repeat(2,1fr)}.personas-grid{grid-template-columns:1fr}}@media(max-width:768px){.inspiration-grid,.digital-grid{grid-template-columns:repeat(2,1fr)}.digital-item{-webkit-tap-highlight-color:transparent;transform:translateZ(0);backface-visibility:hidden}.digital-item img{transform:translateZ(0)}.personas-grid{grid-template-columns:1fr}.wireframes-grid{grid-template-columns:repeat(2,1fr)!important;gap:15px}.visual-circles{justify-content:center}}.section-text .highlight-pink{color:#ff5f85;font-weight:600}.section-text-content{font-family:Inter,sans-serif;font-size:1rem;line-height:1.6;color:#555}.section-text-content p{font-family:Inter,sans-serif;font-size:1rem;line-height:1.6;color:#555;margin-bottom:1em}.section-text-content p:last-child{margin-bottom:0}.section-text-content ul{list-style:none;padding:0;margin:1.5em 0}.section-text-content ul li{position:relative;padding-left:1.5em;margin-bottom:.75em;line-height:1.6}.section-text-content ul li:last-child{margin-bottom:0}.section-text-content ul li:before{content:"•";position:absolute;left:0;color:#ff5f85;font-weight:700}.section-text-content ul li strong{color:var(--text-color)}.section-text-content>p:last-of-type{margin-top:1.5em}.section-text-content .click-to-expand-hint{font-size:.9rem;color:#888;font-style:italic;margin-bottom:0}.design-decisions-mockups{display:flex;justify-content:center;gap:60px;padding:40px 0;flex-wrap:wrap}.design-mockup-item{display:flex;flex-direction:column;align-items:center;gap:16px;transition:transform .3s ease}.design-mockup-item:hover{transform:translateY(-5px)}.design-mockup-item img{width:280px;height:auto}.mockup-label{font-family:Inter,sans-serif;font-size:.95rem;color:var(--text-color);font-weight:500;text-align:center}@media(max-width:768px){.design-decisions-mockups{gap:40px;padding:30px 0}.design-mockup-item img{width:240px}}@media(max-width:480px){.design-mockup-item img{width:200px}.design-decisions-mockups{padding:20px 0}}.section-design-comparison.reduced-top-gap-small{margin-top:-30px}.design-comparison-wrapper{display:flex;justify-content:center;gap:40px;padding:20px 0;flex-wrap:wrap}.design-comparison-item{display:flex;flex-direction:column;align-items:center;gap:16px}.design-comparison-item img{max-width:280px;height:auto;border-radius:8px}.design-comparison-label{font-family:Inter,sans-serif;font-size:.95rem;color:var(--text-color);font-weight:500;text-align:center}@media(max-width:768px){.design-comparison-wrapper{gap:30px}.design-comparison-item img{max-width:240px}}@media(max-width:480px){.design-comparison-wrapper{gap:24px}.design-comparison-item img{max-width:200px}}.lightbox-overlay{position:fixed;inset:0;background:#000000e6;display:flex;justify-content:center;align-items:center;z-index:10000;cursor:pointer;padding:40px}.lightbox-image{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:8px;cursor:default}.lightbox-close{position:absolute;top:20px;right:30px;background:none;border:none;color:#fff;font-size:40px;cursor:pointer;opacity:.8;transition:opacity .2s ease;line-height:1;z-index:10001}.lightbox-close:hover{opacity:1}@media(max-width:768px){.persona-expand-hint{opacity:.8;font-size:.75rem;padding:6px 10px}.lightbox-overlay{padding:80px 20px 20px}.lightbox-close{top:80px;right:20px;font-size:36px;width:44px;height:44px;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;background:#00000080;border-radius:50%}.lightbox-overlay.light .lightbox-close{background:#0000004d;color:#333}}.section-image-full.reduced-top-gap{margin-top:-40px}.lightbox-overlay.light{background:#fffffff2}.lightbox-overlay.light .lightbox-close{color:#333}.lightbox-overlay.zoomed{overflow-y:scroll;align-items:flex-start;overscroll-behavior:contain}.lightbox-overlay.zoomed .lightbox-image{max-width:60vw;max-height:none;margin:40px 0;flex-shrink:0}.section-image-full.expandable{position:relative;transition:transform .3s ease;cursor:pointer}.section-image-full.expandable:hover{transform:scale(1.01)}.image-expand-hint{position:absolute;bottom:20px;right:20px;background:#000000b3;color:#fff;padding:10px 16px;border-radius:8px;display:flex;align-items:center;gap:8px;font-size:.85rem;opacity:0;transition:opacity .3s ease;pointer-events:none}.section-image-full.expandable:hover .image-expand-hint{opacity:1}.section-image-full .image-label{display:block;text-align:center;margin-top:12px;font-family:Inter,sans-serif;font-size:.9rem;color:#888;font-weight:400}.section-inspiration-images h3{font-family:Inter,sans-serif;font-size:1.2rem;margin-bottom:15px;color:var(--text-color)}.section-inspiration-images .inspiration-content{font-family:Inter,sans-serif;font-size:1rem;line-height:1.6;color:#555;margin-bottom:20px}.inspiration-images-column{display:flex;flex-direction:column;gap:20px}.inspiration-images-column img{width:100%;height:auto}.section-phone-grid h3{font-family:Inter,sans-serif;font-size:1.2rem;margin-bottom:15px;color:var(--text-color)}.phone-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;justify-items:center}.phone-grid-item{width:100%;max-width:280px}.phone-grid-item img{width:100%;height:auto;display:block;border-radius:4px}.phone-label{font-family:Inter,sans-serif;font-size:.95rem;color:var(--text-color);font-weight:400;text-align:center;margin-top:8px;margin-bottom:0}@media(max-width:1200px){.phone-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.phone-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.phone-grid{grid-template-columns:1fr}.phone-grid-item{max-width:240px}}.section-masonry-grid h3{font-family:Inter,sans-serif;font-size:1.2rem;margin-bottom:15px;color:var(--text-color)}.masonry-grid{column-count:4;column-gap:16px}.masonry-item{break-inside:avoid;margin-bottom:16px;border-radius:8px;overflow:hidden}.masonry-item .lazy-image-wrapper{min-height:100px;width:100%;background-color:#f5f5f5}.masonry-item .lazy-image-wrapper:has(.loaded){min-height:unset}.masonry-item img{width:100%;height:auto;display:block;border-radius:8px;transition:transform .3s ease}.masonry-item:hover img{transform:scale(1.02)}.masonry-item.full-width{column-span:all}.section-masonry-grid.reduced-top-gap{margin-top:-50px}.section-masonry-grid.compact .masonry-grid{column-count:3}.section-masonry-grid.crop-overflow .masonry-grid{max-height:1080px;overflow:hidden}@media(max-width:1200px){.section-masonry-grid.crop-overflow .masonry-grid{max-height:900px}}@media(max-width:900px){.section-masonry-grid.crop-overflow .masonry-grid{max-height:800px}}@media(max-width:480px){.section-masonry-grid.crop-overflow .masonry-grid{max-height:none}}@media(max-width:1200px){.masonry-grid{column-count:3}}@media(max-width:900px){.masonry-grid{column-count:2}.masonry-item{-webkit-tap-highlight-color:transparent;transform:translateZ(0);backface-visibility:hidden}.masonry-item img{transform:translateZ(0)}}@media(max-width:480px){.masonry-grid{column-count:2;column-gap:12px}.masonry-item{margin-bottom:12px;-webkit-tap-highlight-color:transparent}.masonry-item img{border-radius:8px!important}}.section-poster-grid h3{font-family:Inter,sans-serif;font-size:1.2rem;margin-bottom:15px;color:var(--text-color)}.poster-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.poster-item{overflow:hidden;border-radius:8px}.poster-item img{width:100%;height:auto;display:block;transition:transform .3s ease}.poster-item:hover img{transform:scale(1.02)}@media(max-width:900px){.poster-grid{grid-template-columns:repeat(2,1fr);gap:20px}}@media(max-width:480px){.poster-grid{grid-template-columns:1fr;gap:16px}}.section-photo-grid-3 h3{font-family:Inter,sans-serif;font-size:1.2rem;margin-bottom:15px;color:var(--text-color)}.photo-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.photo-grid-item{overflow:hidden;border-radius:8px;aspect-ratio:4 / 3}.photo-grid-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}.photo-grid-item:hover img{transform:scale(1.05)}@media(max-width:768px){.photo-grid-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.photo-grid-3{grid-template-columns:1fr}.photo-grid-item{aspect-ratio:16 / 9}}.section-video-full.uncropped{overflow:visible!important;border-radius:8px;max-height:none!important}.section-video-full.uncropped video{width:100%;height:auto!important;max-height:none!important;border-radius:8px;object-fit:unset}.section-inspiration-grid.full-height .inspiration-item{aspect-ratio:auto}.section-inspiration-grid.full-height .inspiration-item img{height:auto;object-fit:contain}.section-video-grid.single-column .video-grid{grid-template-columns:1fr}.section-video-grid.uncropped .video-grid-item video{width:100%;height:auto!important;max-height:none!important;object-fit:unset}.section-video-grid.tight-to-video{margin-top:-60px}@media(max-width:768px){.section-video-grid.tight-to-video{margin-top:-40px}}.section-wireframes-grouped h3{font-family:Inter,sans-serif;font-size:1.2rem;margin-bottom:30px;color:var(--text-color)}.wireframes-group{margin-bottom:60px}.wireframes-group:last-child{margin-bottom:0}.wireframes-group-header{font-family:Inter,sans-serif;font-size:1rem;font-weight:500;margin-bottom:20px;color:var(--text-color)}.wireframes-group-grid{display:grid;grid-template-columns:3fr 2fr 1fr;gap:20px;align-items:start}.wireframes-group-item{display:flex;flex-direction:column}.wireframes-group-item img{width:100%;height:auto;border-radius:4px}.wireframes-group-item .label{font-family:Inter,sans-serif;font-size:.95rem;color:var(--text-color);margin-bottom:8px;text-align:center}@media(max-width:768px){.wireframes-group-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.wireframes-group-grid{grid-template-columns:1fr}}.section-digital-layout-grouped h3{font-family:Inter,sans-serif;font-size:1.2rem;margin-bottom:30px;color:var(--text-color)}.digital-layout-group{margin-bottom:60px}.digital-layout-group:last-child{margin-bottom:0}.digital-layout-group-header{font-family:Inter,sans-serif;font-size:1rem;font-weight:500;margin-bottom:20px;color:var(--text-color)}.digital-layout-group-grid{display:grid;grid-template-columns:3fr 2fr 1fr;gap:20px;align-items:start}.digital-layout-group-item{display:flex;flex-direction:column}.digital-layout-group-item img{width:100%;height:auto;border-radius:4px}.digital-layout-group-item .label{font-family:Inter,sans-serif;font-size:.95rem;color:var(--text-color);margin-bottom:8px;text-align:center}.digital-layout-group-item .image-wrapper{position:relative;border-radius:4px;overflow:hidden}.digital-layout-group-item .image-wrapper img{display:block;transition:transform .3s ease}.digital-layout-group-item.clickable:hover .image-wrapper img{transform:scale(1.02)}.digital-layout-group-item .expand-hint{position:absolute;bottom:12px;right:12px;background:#000000b3;color:#fff;padding:6px 12px;border-radius:20px;font-family:Inter,sans-serif;font-size:.75rem;display:flex;align-items:center;gap:6px;opacity:0;transition:opacity .3s ease;pointer-events:none}.digital-layout-group-item .expand-icon{font-size:1rem}.digital-layout-group-item.clickable:hover .expand-hint{opacity:1}@media(hover:none)and (min-width:769px){.digital-layout-group-item .expand-hint{opacity:1}}@media(max-width:768px){.digital-layout-group-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.digital-layout-group-grid{grid-template-columns:1fr}}.section-photo-grid-2row h3{font-family:Inter,sans-serif;font-size:1.2rem;margin-bottom:15px;color:var(--text-color)}.section-photo-grid-2row p{font-family:Inter,sans-serif;font-size:1rem;line-height:1.6;color:#333;margin-bottom:30px}.photo-grid-2row{display:flex;flex-direction:column;gap:20px}.photo-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.photo-row .photo-item{overflow:hidden;border-radius:8px}.photo-row.top-row .photo-item{aspect-ratio:4 / 3}.photo-row.bottom-row .photo-item{aspect-ratio:3 / 4}.photo-row .photo-item img{width:100%;height:100%;object-fit:cover}@media(max-width:768px){.photo-row{grid-template-columns:repeat(2,1fr)}.photo-row .photo-item:nth-child(3){grid-column:span 2}}@media(max-width:480px){.photo-row{grid-template-columns:1fr}.photo-row .photo-item:nth-child(3){grid-column:span 1}}.section-text+.section-masonry-grid,.section-text+.section-image-full,.section-text+.section-digital-layout,.section-text+.section-inspiration-grid,.section-text+.section-image-grid,.section-text+.section-photo-grid-3,.section-text+.section-poster-grid,.section-text+.section-video-full,.section-text+.section-video-grid{margin-top:-60px}.section-text+.simple-phone-wrapper{margin-top:-50px}.section-image-full.keep-top-gap,.section-digital-layout.keep-top-gap,.section-masonry-grid.keep-top-gap,.section-video-full.keep-top-gap{margin-top:0}.section-video-full.contained{display:flex;justify-content:center}.section-video-full.contained video{width:100%;max-width:320px;height:auto;border-radius:8px}@media(max-width:480px){.section-video-full.contained video{max-width:280px}}.project-quickway .detail-info{min-width:220px}.project-quickway .section-video-full.contained{background-color:#fff;padding:40px 60px;border-radius:12px}@media(max-width:768px){.image-expand-hint,.expand-hint{display:none!important}.section-image-full.expandable,.final-collage-item.expandable,.final-collage-item.clickable,.digital-item.clickable,.digital-layout-group-item.clickable{cursor:default!important;pointer-events:none}.section-image-full.expandable img,.final-collage-item.expandable img,.final-collage-item.clickable img,.digital-item.clickable img,.digital-layout-group-item.clickable img{pointer-events:auto}.section-image-full.expandable:hover,.final-collage-item.expandable:hover{transform:none!important}.lightbox-overlay{display:none!important}}.lazy-image-wrapper{position:relative;overflow:hidden}.lazy-image{width:100%;height:auto;display:block;opacity:0;transition:opacity .3s ease-in-out}.lazy-image.loaded{opacity:1}.analysis-skeleton{width:100%;padding:2rem}.skeleton-tabs{display:flex;gap:1rem;margin-bottom:2rem}.skeleton-tab{width:100px;height:36px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite;border-radius:4px}.skeleton-chart{width:100%;height:300px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite;border-radius:8px}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.simple-phone-wrapper{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding:40px 0;justify-items:center}.simple-phone-wrapper.reduced-top-gap{padding-top:10px}.simple-phone-wrapper.centered-pair{display:flex;justify-content:center;gap:40px}.simple-phone-item{display:flex;flex-direction:column;align-items:center;gap:16px}.simple-phone-mockup{position:relative;width:220px;aspect-ratio:9 / 19.5;background:linear-gradient(145deg,#2a2a2a,#1a1a1a);border-radius:44px;padding:10px;box-shadow:inset 0 0 0 1px #ffffff1a,0 0 0 1px #0000004d,0 25px 50px -12px #00000040,0 12px 24px -8px #00000026;transition:transform .3s ease}.simple-phone-mockup:hover{transform:translateY(-5px)}.simple-phone-mockup:before{content:"";position:absolute;top:14px;left:50%;transform:translate(-50%);width:80px;height:24px;background:#000;border-radius:16px;z-index:10}.simple-phone-mockup:after{content:"";position:absolute;right:-3px;top:100px;width:3px;height:60px;background:linear-gradient(to bottom,#333,#222);border-radius:0 2px 2px 0}.simple-phone-screen{width:100%;height:100%;border-radius:36px;overflow:hidden;background:#000;position:relative}.simple-phone-screen img{width:100%;height:100%;object-fit:cover;object-position:center}.simple-phone-label{font-family:Inter,sans-serif;font-size:.95rem;color:var(--text-color);font-weight:500;text-align:center}.simple-phone-mockup.iphone-15-pro{width:260px;padding:8px;border-radius:52px;background:linear-gradient(160deg,#5c5c5e,#3d3d3f 20%,#2a2a2c,#3d3d3f 80%,#4a4a4c);box-shadow:inset 0 1px 1px #ffffff26,inset 0 -1px 1px #0003,0 0 0 1px #00000080,0 30px 60px -15px #0006,0 15px 30px -10px #00000040}.simple-phone-mockup.iphone-15-pro .simple-phone-screen{border-radius:46px}.simple-phone-mockup.iphone-15-pro:before{width:72px;height:22px;top:18px;background:#000;border-radius:14px}.simple-phone-mockup.iphone-15-pro:after{display:none}@media(max-width:1024px){.simple-phone-mockup.iphone-15-pro{width:230px;padding:7px;border-radius:46px}.simple-phone-mockup.iphone-15-pro .simple-phone-screen{border-radius:40px}.simple-phone-mockup.iphone-15-pro:before{width:62px;height:19px;top:15px;border-radius:12px}}@media(max-width:640px){.simple-phone-mockup.iphone-15-pro{width:180px;padding:5px;border-radius:38px}.simple-phone-mockup.iphone-15-pro .simple-phone-screen{border-radius:34px}.simple-phone-mockup.iphone-15-pro:before{width:48px;height:15px;top:12px;border-radius:10px}}.simple-phone-mockup.iphone-13-pro-max:before{width:100px;height:26px;top:10px;border-radius:0 0 20px 20px;background:#1a1a1a}@media(max-width:1024px){.simple-phone-mockup.iphone-13-pro-max:before{width:85px;height:22px;top:8px;border-radius:0 0 16px 16px}}@media(max-width:640px){.simple-phone-mockup.iphone-13-pro-max:before{width:65px;height:18px;top:6px;border-radius:0 0 12px 12px}}@media(max-width:1024px){.simple-phone-wrapper{grid-template-columns:repeat(3,1fr);gap:25px;padding:30px 0}.simple-phone-mockup{width:200px;border-radius:38px;padding:8px}.simple-phone-mockup:before{width:70px;height:20px;top:12px}.simple-phone-screen{border-radius:32px}.simple-phone-label{font-size:.9rem}}@media(max-width:640px){.simple-phone-wrapper{grid-template-columns:repeat(2,1fr);gap:20px;padding:20px 0}.simple-phone-mockup{width:160px;border-radius:32px;padding:6px}.simple-phone-mockup:before{width:50px;height:16px;top:10px}.simple-phone-screen{border-radius:26px}.simple-phone-label{font-size:.85rem}}@media(prefers-reduced-motion:reduce){.simple-phone-mockup{transition:none}.simple-phone-mockup:hover{transform:none}}.logo-carousel{position:relative;width:100%;margin-top:-60px;margin-bottom:0}.logo-carousel-container{position:relative;width:100%;aspect-ratio:4838 / 3219;overflow:hidden;border-radius:8px;background-color:#f5f5f5}.logo-carousel-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain}.logo-carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;background-color:#ff5f85;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #00000026;transition:all .2s ease;z-index:10;color:#fff}.logo-carousel-arrow:hover{background-color:#ff4570;box-shadow:0 4px 12px #0003;transform:translateY(-50%) scale(1.05)}.logo-carousel-arrow-left{left:16px}.logo-carousel-arrow-right{right:16px}.logo-carousel-dots{display:flex;justify-content:center;gap:4px;margin-top:16px}.logo-carousel-dot{width:10px;height:10px;border-radius:50%;border:none;background-color:#d1d1d1;cursor:pointer;transition:all .2s ease;box-sizing:content-box;padding:17px;margin:-17px;background-clip:content-box}.logo-carousel-dot:hover{background-color:#999}.logo-carousel-dot.active{background-color:#ff5f85;transform:scale(1.2)}@media(max-width:768px){.logo-carousel-arrow{width:40px;height:40px}.logo-carousel-arrow-left{left:8px}.logo-carousel-arrow-right{right:8px}.logo-carousel-arrow svg{width:20px;height:20px}}@media(max-width:480px){.logo-carousel-arrow{width:44px;height:44px}.logo-carousel-arrow svg{width:18px;height:18px}.logo-carousel-dot{width:8px;height:8px;padding:18px;margin:-18px}}@media(hover:none){.logo-carousel-arrow:hover{background-color:#ff5f85;box-shadow:0 2px 8px #00000026;transform:translateY(-50%)}.logo-carousel-dot:hover{background-color:#d1d1d1}.logo-carousel-arrow:active{background-color:#ff4570;transform:translateY(-50%) scale(.95)}.logo-carousel-dot:active{background-color:#999}}.project-carousel-section{margin-top:120px;padding:60px 0;background-color:var(--bg-color)}.carousel-label{display:block;text-align:center;font-family:Inter,sans-serif;font-size:.9rem;text-transform:uppercase;letter-spacing:.1em;color:#666;margin-bottom:30px}.project-carousel-wrapper{position:relative;max-width:100%;padding:0 60px}.carousel-scroll-container{display:flex;gap:20px;overflow-x:auto;scroll-behavior:smooth;padding:10px 20px 20px;cursor:grab;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none}.carousel-scroll-container::-webkit-scrollbar{display:none}.carousel-scroll-container.dragging{cursor:grabbing;scroll-behavior:auto}.carousel-card{flex:0 0 360px;background:var(--bg-color, #fff);border:1px solid rgba(0,0,0,.08);border-radius:16px;overflow:hidden;cursor:pointer;transition:box-shadow .3s ease,border-color .3s ease;-webkit-user-select:none;user-select:none;scroll-snap-align:start}.carousel-card:hover{box-shadow:0 12px 24px #00000014;border-color:#0000001f}.carousel-card-image{aspect-ratio:4 / 3;overflow:hidden;background:#f0f0f0}.carousel-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;pointer-events:none}.carousel-card:hover .carousel-card-image img{transform:scale(1.03)}.carousel-card-content{padding:16px}.carousel-card-title{font-family:var(--font-serif, "Noto Serif", serif);font-size:1.25rem;font-weight:400;margin-bottom:6px;color:var(--text-color, #1a1a1a);line-height:1.2}.carousel-card-description{font-family:Inter,sans-serif;font-size:.875rem;color:#666;line-height:1.4;margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.carousel-card-meta{font-family:Inter,sans-serif;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:#999}.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background-color:#ff5f85;border:1px solid #FF5F85;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #ff5f854d;transition:all .2s ease;z-index:10;color:#fff}.carousel-arrow:hover{background-color:#fff;color:#333;border-color:#0000001a;box-shadow:0 4px 12px #0000001a}.carousel-arrow-left{left:10px}.carousel-arrow-right{right:10px}@media(max-width:900px){.project-carousel-section{margin-top:60px;padding:40px 0}.project-carousel-wrapper{padding:0 40px}.carousel-card{flex:0 0 320px}.carousel-card-title{font-size:1.1rem}.carousel-arrow{width:38px;height:38px}}@media(max-width:600px){.project-carousel-wrapper{padding:0 16px}.carousel-scroll-container{padding:10px 0 16px;gap:16px}.carousel-card{flex:0 0 280px}.carousel-card-content{padding:12px}.carousel-card-title{font-size:1rem}.carousel-card-description{font-size:.8rem}.carousel-arrow{display:none}}@media(hover:none){.carousel-scroll-container:after{content:"";flex:0 0 1px}.carousel-card:hover{box-shadow:none;border-color:#00000014}.carousel-card:hover .carousel-card-image img{transform:none}.carousel-card:active{transform:scale(.98);transition:transform .1s ease}.carousel-arrow:hover{background-color:#ff5f85;color:#fff;border-color:#ff5f85;box-shadow:0 2px 8px #ff5f854d}.carousel-arrow:active{background-color:#ff4570;transform:translateY(-50%) scale(.95)}}.about-page{padding-top:180px;padding-bottom:80px;min-height:100vh;min-height:100dvh;background-color:var(--bg-color);color:var(--text-color)}.about-container{max-width:1200px;margin:0 auto;padding:0 2rem}.about-hero{margin-bottom:6rem}.about-title{font-family:Outfit,sans-serif;font-size:8rem;font-weight:300;line-height:1;margin-bottom:2rem;color:#ff69b4;letter-spacing:-.02em}.about-content{display:grid;grid-template-columns:1fr 1.5fr;gap:3rem;align-items:end}.about-image img{width:100%;height:auto;border-radius:8px;transition:transform .3s ease}.about-image img:hover{transform:scale(1.02)}.about-bio p{font-size:1.05rem;line-height:1.6;margin-bottom:1.5rem;color:var(--text-secondary)}.about-bio p:last-child{margin-bottom:0}.about-grid{display:block;margin-bottom:2rem}.experience-section{width:100%}.experience-section h2,.education-section h2,.skills-section h2,.software-section h2{font-size:.9rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:2rem;color:var(--text-secondary);font-weight:500}.experience-item,.education-item,.skills-grid,.software-grid{border-top:1px solid rgba(0,0,0,.1);padding-top:2rem;padding-bottom:2rem}.exp-header{margin-bottom:.5rem}.exp-company{font-family:var(--font-serif);font-size:1.75rem;font-weight:400;margin-bottom:.5rem;color:var(--text-color)}.exp-role{font-size:1.2rem;font-weight:500;color:var(--text-color);display:block;margin-bottom:.25rem}.exp-date{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary);display:block;margin-bottom:1rem;font-weight:500}.exp-description{font-size:1rem;line-height:1.6;color:var(--text-secondary);max-width:800px}.nested-group .exp-company{margin-bottom:2.5rem}.nested-role{position:relative;padding-left:2.5rem;margin-bottom:3rem}.nested-role:last-child{margin-bottom:0}.nested-group{position:relative;padding-bottom:2rem}.nested-group:before{content:"";position:absolute;left:9px;top:calc(6.2rem + 9px);bottom:3rem;width:1px;background-color:var(--text-color);opacity:.2}.role-marker{position:absolute;left:0;top:.2rem;width:18px;height:18px;border-radius:50%;background-color:var(--bg-color);border:1.5px solid var(--text-color);z-index:1}.role-content .exp-role{font-size:1.2rem;font-weight:500;color:var(--text-color);margin-bottom:.25rem}.role-description{list-style:none;padding:0;margin-top:1rem}.role-description li{position:relative;padding-left:1.5rem;margin-bottom:.25rem;font-size:1rem;line-height:1.6;color:var(--text-secondary)}.role-description li:before{content:"•";position:absolute;left:0;color:var(--text-color);opacity:.5}.education-section{margin-top:0}@media(max-width:900px){.about-page{padding-top:140px}.about-container{padding:0 var(--spacing-page-x)}.about-title{font-size:clamp(4rem,12vw,6rem)}.about-content{grid-template-columns:1fr;gap:2rem}.about-hero{margin-bottom:4rem}.about-grid{grid-template-columns:1fr;gap:2rem}.nested-group:before{display:none}.nested-role{padding-left:0;border-left:2px solid var(--text-secondary);padding-left:1.5rem;margin-left:.5rem}.role-marker{display:none}.about-bio p{font-size:var(--font-size-body)}.exp-company{font-size:var(--font-size-title)}.exp-role{font-size:var(--font-size-body-lg)}.exp-description,.role-description li{font-size:var(--font-size-body)}}@media(max-width:480px){.about-page{padding-top:110px}.about-title{margin-bottom:1.5rem}.about-hero{margin-bottom:3rem}.experience-item,.education-item,.skills-grid,.software-grid{padding-top:1.5rem;padding-bottom:1.5rem}.nested-role{margin-bottom:2rem}}.skills-section,.software-section{margin-top:2rem}.skills-grid,.software-grid{display:flex;flex-wrap:wrap;gap:1rem}.skill-item,.software-item{font-size:1rem;color:var(--text-color);padding:.75rem 1.5rem;min-height:44px;display:inline-flex;align-items:center;background-color:#00000008;border-radius:50px;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid transparent;cursor:default}.skill-item:hover,.software-item:hover{transform:translateY(-3px) scale(1.02);background-color:var(--bg-color);border-color:#ff69b4;box-shadow:0 4px 12px #ff69b426;color:#ff69b4}.skill-item:active,.software-item:active{transform:translateY(-1px) scale(.98);background-color:var(--bg-color);border-color:#ff69b4;box-shadow:0 2px 8px #ff69b426;color:#ff69b4}@media(max-width:900px){.skills-grid,.software-grid{gap:.75rem}.skill-item,.software-item{font-size:var(--font-size-small);padding:.6rem 1.2rem;min-height:44px}}@media(max-width:480px){.skills-grid,.software-grid{gap:.5rem}.skill-item,.software-item{padding:.5rem 1rem}}.contact-page{padding-top:8rem;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}@media(max-width:900px){.contact-page{padding-top:6rem}}.contact-container{max-width:1400px;margin:0 auto;padding-left:15%;padding-right:2rem;width:100%;flex:1;display:flex;flex-direction:column;justify-content:center;padding-bottom:8rem}.contact-title{font-size:4.5rem;font-weight:600;line-height:1.1;margin-bottom:2rem;color:var(--color-text)}.text-pink{color:#ff69b4}.contact-subtitle{font-size:1.5rem;color:var(--color-text-light);margin-bottom:2rem;max-width:600px}.social-title{font-family:var(--font-sans);font-size:.9rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-light);margin-bottom:2rem;border-bottom:1px solid #e5e5e5;padding-bottom:1rem;width:100%;max-width:600px}.social-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;max-width:800px}.social-item{display:flex;flex-direction:column;text-decoration:none;color:var(--color-text);padding:1.5rem;border:1px solid rgba(0,0,0,.05);border-radius:8px;transition:all .3s ease;background:var(--bg-color)}.social-item:hover{transform:translateY(-5px);box-shadow:0 10px 20px #00000008;border-color:#ff69b4}.social-item:active{transform:translateY(-2px);box-shadow:0 5px 10px #0000000d}.social-name{font-weight:600;margin-bottom:.5rem}.social-handle{font-family:var(--font-sans);font-size:.9rem;color:var(--color-text-light)}@media(max-width:900px){.contact-container{padding-left:var(--spacing-page-x);padding-right:var(--spacing-page-x);padding-bottom:6rem}.contact-title{font-size:var(--font-size-hero)}.contact-subtitle{font-size:var(--font-size-body-lg);margin-bottom:2rem}.social-grid{grid-template-columns:1fr;gap:1rem}}@media(max-width:480px){.contact-container{padding-bottom:5rem}.social-item{padding:1.25rem}}.contact-form-container{width:100%;max-width:800px;margin:2rem 0 4rem}.form-title{font-family:var(--font-serif);font-style:italic;font-size:3rem;color:#ff69b4;text-align:left;margin-bottom:3rem;font-weight:400}.contact-form{display:flex;flex-direction:column;gap:2rem}.form-row{display:flex;gap:2rem}.form-group{display:flex;flex-direction:column;gap:.5rem;flex:1}label{font-family:var(--font-serif);font-size:1.1rem;color:var(--color-text)}.required{font-family:var(--font-sans);font-size:.9rem;color:var(--color-text-light);font-weight:400}input,textarea{background:#f9f9f9;border:none;border-radius:8px;padding:1rem;font-family:var(--font-sans);font-size:1rem;color:var(--color-text);transition:all .3s ease}input:focus,textarea:focus{outline:none;background:#fff;box-shadow:0 0 0 2px #ff9eb5}textarea{resize:vertical;min-height:150px}.submit-btn{align-self:flex-start;background-color:#ff69b4;color:#fff;border:none;padding:1rem 3rem;border-radius:8px;font-family:var(--font-serif);font-size:1.1rem;cursor:pointer;transition:transform .2s ease,background-color .2s ease;margin-top:1rem}.submit-btn:hover{background-color:#c03565;transform:translateY(-2px)}.submit-btn:active{transform:translateY(0)}@media(max-width:900px){.form-row{flex-direction:column;gap:1.5rem}.hide-label-mobile{display:none}.form-title{font-size:var(--font-size-section);margin-bottom:2rem}.contact-form{gap:1.5rem}input,textarea{padding:1rem;min-height:48px;font-size:16px}.submit-btn{min-height:48px;padding:.875rem 2rem;width:100%;text-align:center}}@media(max-width:480px){.contact-form-container{margin:1.5rem 0 3rem}}@media(hover:none){.submit-btn:hover{background-color:#ff69b4;transform:none}.submit-btn:active{background-color:#c03565;transform:scale(.98)}}
