:root{--bg:#14151e;--surface:#1d1f2b;--accent:#c4b1ff;--muted:#b3b7c7;--text:#f4f4fa;--line:#3a3d50;--orange-yellow-crayola:#c4b1ff;--vegas-gold:#c4b1ff;--eerie-black-1:#222431;--eerie-black-2:#1b1d28;--smoky-black:#14151e;--jet:#3a3d50;--light-gray:#e0e2ed}
body{font-size:17px;line-height:1.75;background:#14151e;color:#f4f4fa}h1,h2,h3{font-weight:600}.section-label,.case-facts>div>span,.back-link,.next-project>span{font-size:14px;letter-spacing:1.2px}.site-header{background:#14151ef5}.identity{font-size:15px}.site-header nav,.header-contact{font-size:16px}.button,.underlined,.action-link,.project-actions>a,.store-link{font-size:16px}.page-heading>p,.case-intro>p,.about-intro p,.case-story p,.case-story li,.case-facts p{font-size:18px;line-height:1.8}.project-info p{font-size:16px;line-height:1.7}.project-info h3{font-size:27px}.project-meta,.status{font-size:13px}.project-actions{gap:12px}.project-actions>a,.action-link,.store-link{border-radius:8px;border:1px solid #64617f;padding:10px 14px;min-height:46px;display:inline-flex;align-items:center;gap:8px;line-height:1.4}.project-actions>a:hover{background:#c4b1ff;color:#15151e}.store-link{background:#eee9ff;color:#191725}.store-link small{font-size:11px}.contact-section{padding:75px 0;background:#1a1b29}.contact-section h2{font:600 clamp(30px,4vw,54px)/1.2 Grotesk,Manrope,sans-serif;letter-spacing:-1px;margin:18px 0}.contact-description{max-width:680px;font-size:18px;color:#d0d2e0}.clear-contact{display:flex;flex-wrap:wrap;gap:14px;margin:28px 0 48px}.clear-contact>a{display:inline-flex;align-items:center;justify-content:center;border:1px solid #7d719f;background:#252339;border-radius:10px;min-height:54px;padding:14px 23px;font-size:17px;font-weight:650}.clear-contact>a:first-child{background:#c4b1ff;color:#181521;border-color:#c4b1ff}.clear-contact>a:hover{background:#e5dcff;color:#16131d}.contact-section footer{font-size:14px;gap:20px;flex-wrap:wrap}.contact-section footer>a{display:inline-block}.contact-section .container{width:min(1320px,calc(100% - 64px))}.gallery-item figcaption,.project-note{font-size:16px;line-height:1.7}.gallery-section{scroll-margin-top:100px}.gallery-grid{align-items:start}.gallery-item button{width:100%}.gallery-item.kind-document img{height:350px;object-fit:contain}.gallery-item.kind-screen img{height:300px;object-fit:contain;background:#eef1fa}.gallery-item.kind-document{grid-column:auto}.case-title{font-size:clamp(44px,6vw,80px)}
/* vCard template structure and components, adapted from the included MIT source. */
body:has(.vcard-layout){background:radial-gradient(ellipse at top left,#28203d 0,transparent 36%),#14151e;font-family:Manrope,Arial,sans-serif}.vcard-layout{width:min(1480px,calc(100% - 64px));margin:40px auto 80px;max-width:none;gap:28px;align-items:flex-start}.vcard-layout .sidebar{max-height:none;overflow:visible;background:linear-gradient(145deg,#242331,#1c1e29);border-color:#464154;box-shadow:0 20px 60px #0003;padding:30px}.vcard-layout .sidebar-info_more{opacity:1;visibility:visible}.vcard-layout .sidebar-info{gap:24px}.vcard-layout .avatar-box{background:#272534;border-radius:18px;overflow:hidden;flex-shrink:0}.vcard-layout .avatar-box img{width:180px;height:190px;object-fit:cover;object-position:25% 25%}.vcard-layout .info-content .name{font:650 29px/1.22 Grotesk,Manrope,sans-serif;white-space:normal;letter-spacing:-.6px;margin-bottom:15px}.vcard-layout .info-content .title{font:650 21px/1.4 Manrope,sans-serif;background:#353046;color:#e0d4ff;border:1px solid #74638f;padding:9px 12px;border-radius:8px;white-space:normal}.sidebar-location{margin-top:12px;color:#c1bfd2;font-size:16px}.vcard-layout .contacts-list{gap:20px;grid-template-columns:1fr}.vcard-layout .contact-item{min-width:0}.vcard-layout .contact-title{font-size:12px;letter-spacing:1px;color:#b8afc9}.vcard-layout .contact-info{min-width:0;max-width:100%;width:100%}.vcard-layout .contact-link{font-size:19px;text-overflow:clip;white-space:normal;overflow-wrap:anywhere;line-height:1.6}.vcard-layout .contact-link.email{font-size:14px}.sidebar-actions{display:grid;gap:12px;margin-top:28px}.sidebar-actions>a,.intro-actions>a,.intro-actions>button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid #726786;border-radius:10px;padding:13px 16px;min-height:52px;font:600 16px/1.4 Manrope,sans-serif;color:#eeebf7;background:#292537;cursor:pointer}.sidebar-actions>a:hover,.intro-actions>a:hover{border-color:#deceff;background:#453a61}.sidebar-actions>a.primary-cta,.intro-actions>a.primary-cta{background:#c4b1ff;border-color:#c4b1ff;color:#20182c}.sidebar-social{display:flex;justify-content:space-between;gap:15px;margin-top:22px;font-size:15px;color:#ddd2f2}.vcard-layout .main-content{min-width:0;flex:1;width:100%}.vcard-layout .navbar{position:relative;inset:auto;width:100%;border-radius:18px 18px 0 0;background:#252332;border:1px solid #464154;box-shadow:none;padding:0 16px}.vcard-layout .navbar-list{display:flex;flex-wrap:wrap;justify-content:space-between;gap:5px;padding:0}.vcard-layout .navbar-link{font:600 15px/1.5 Manrope,sans-serif;padding:20px 6px;color:#d4cfe0}.vcard-layout .navbar-link.active{color:#dccaff}.vcard-layout article.about{padding:40px;border-radius:0 0 18px 18px;border-top:0;background:#1b1d28;border-color:#464154;box-shadow:0 20px 60px #0002}.professional-heading .hello-line,.template-project-heading .hello-line{font:600 16px/1.5 Manrope,sans-serif;color:#c5b1ef;margin-bottom:20px}.professional-heading .article-title{font:650 clamp(46px,5.5vw,80px)/1.07 Grotesk,Manrope,sans-serif;letter-spacing:-2.5px;padding-bottom:0;margin-bottom:22px;text-transform:none}.professional-heading .article-title:after{display:none}.professional-heading h1 span{color:#c4b1ff}.profession-secondary{font-size:21px;line-height:1.55;color:#e8dfff;font-weight:550;margin-bottom:26px}.vcard-layout .about-text{color:#d6d6e2;margin-bottom:42px}.vcard-layout .about-text p{font-size:18px;line-height:1.85;margin-bottom:15px}.intro-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.intro-actions>button{font-size:14px;background:transparent}.vcard-layout .service-list{grid-template-columns:1fr 1fr;gap:20px}.vcard-layout .service-item{padding:24px;gap:18px;align-items:start}.vcard-layout .service-item-title{font-size:20px;line-height:1.35;letter-spacing:-.4px}.vcard-layout .service-item-text{font-size:16px;line-height:1.75;text-align:left}.service-code{font:500 25px/1.2 Grotesk,sans-serif;color:#c4b1ff;flex-shrink:0}.vcard-layout .service-title{font-size:26px;letter-spacing:-.5px;margin-bottom:24px}.template-project-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:50px 0 28px}.template-project-heading h2{font-size:36px;font-weight:600;letter-spacing:-1px;color:#f4f4fa}.template-project-heading a{font-size:16px;text-decoration:underline;text-underline-offset:6px}.template-project-heading .hello-line{margin-bottom:8px;font-size:13px}.vcard-layout .project-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px 22px}.vcard-layout .project-card{min-width:0;display:block;background:none;border:0;padding:0;box-shadow:none;border-radius:0;animation:none}.vcard-layout .project-art{aspect-ratio:1.18;border-radius:12px}.vcard-layout .project-art img{transition:transform .5s}.vcard-layout .project-card:hover .project-art{box-shadow:0 12px 36px #0004}.vcard-layout .project-info{padding:20px 0 0}.vcard-layout .project-info p{font-size:15px}.vcard-layout .project-info h3{font-size:24px;letter-spacing:-.5px}.vcard-layout .project-title-row>div{display:flex;align-items:center;gap:10px}.vcard-layout .project-title-row .project-logo{width:34px;height:34px;object-fit:contain}.vcard-layout .project-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin-top:16px}.vcard-layout .project-actions>a{font-size:14px;min-height:44px;padding:10px}.vcard-layout .project-meta{gap:8px;flex-wrap:wrap;font-size:12px}.vcard-layout .project-art .art-open{font-size:12px}.vcard-layout .project-art .art-index{font-size:12px}.vcard-layout .browser-scene{width:90%}.vcard-layout .nutrition-scene .scene-phone{height:70%}.vcard-layout .project-arrow{display:none}.vcard-layout .project-info .store-link{color:#20182c;background:#dfd2ff;border-color:#dfd2ff}.vcard-layout .project-info a.action-link{color:#f5edff}.vcard-layout .service{margin-bottom:25px}.vcard-layout .service-title{color:#f4f4fa}.vcard-layout .service-item-title{color:#f4f4fa}.vcard-layout .about{animation:fade .65s ease both}.vcard-layout .sidebar{animation:profile-arrival .85s ease both}@keyframes profile-arrival{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}.intro-word>span,.intro-word>b{color:#d1b9ff}.intro{background:#16121f}.intro-index,.intro-bottom{font-size:14px}
@media(min-width:1250px){.vcard-layout{display:flex}.vcard-layout .sidebar{width:290px;min-width:290px;top:30px;position:sticky;padding:26px}.vcard-layout .sidebar-info{display:flex;flex-direction:column;align-items:stretch}.vcard-layout .avatar-box img{width:100%;height:235px}.vcard-layout .info-content .name{text-align:left;font-size:29px}.vcard-layout .info-content .title{text-align:left;width:auto}.vcard-layout .contact-link.email{font-size:13px}.vcard-layout .sidebar-actions>a{font-size:14px;padding:13px 10px}.vcard-layout .contacts-list{display:grid}}
@media(max-width:1249px){.vcard-layout{display:block}.vcard-layout .sidebar{width:100%;margin-bottom:24px;padding:26px}.vcard-layout .sidebar-info{display:flex;align-items:center}.vcard-layout .sidebar-info_more{display:grid;grid-template-columns:1fr 1.2fr;gap:24px;margin-top:24px}.vcard-layout .separator{display:none}.sidebar-actions{margin-top:0}.sidebar-social{grid-column:1/-1;justify-content:flex-start;margin-top:0;gap:30px}.vcard-layout .info-content .name br{display:none}.vcard-layout .info-content .name{font-size:36px}.vcard-layout .contact-link.email{font-size:16px}.vcard-layout .professional-heading .article-title{font-size:70px}}
@media(max-width:650px){.vcard-layout{width:calc(100% - 28px);margin:18px auto 40px}.vcard-layout .sidebar{padding:22px 18px}.vcard-layout .sidebar-info{gap:18px}.vcard-layout .avatar-box img{width:105px;height:136px}.vcard-layout .info-content .name{font-size:25px}.vcard-layout .info-content .name br{display:block}.vcard-layout .info-content .title{font-size:16px;padding:7px 9px}.sidebar-location{font-size:14px;margin-top:8px}.vcard-layout .sidebar-info_more{display:block;margin-top:22px}.vcard-layout .contacts-list{display:none}.sidebar-actions{display:grid;grid-template-columns:1fr;gap:10px}.sidebar-actions>a{font-size:16px;min-height:50px}.sidebar-social{margin-top:18px}.vcard-layout .navbar{padding:0 9px}.vcard-layout .navbar-list{gap:5px;justify-content:space-evenly}.vcard-layout .navbar-link{font-size:13px;padding:17px 3px}.vcard-layout article.about{padding:30px 19px}.professional-heading .hello-line{font-size:15px}.vcard-layout .professional-heading .article-title{font-size:48px;letter-spacing:-2px}.profession-secondary{font-size:19px}.vcard-layout .about-text p{font-size:17px}.intro-actions>a{width:100%}.intro-actions>button{width:100%}.vcard-layout .service-list{grid-template-columns:1fr}.vcard-layout .service-item{display:flex;text-align:left;padding:22px}.vcard-layout .project-grid{grid-template-columns:1fr;gap:36px}.template-project-heading{display:block}.template-project-heading>a{display:inline-block;margin-top:14px}.template-project-heading h2{font-size:32px}.vcard-layout .project-info h3{font-size:25px}.vcard-layout .project-info p{font-size:16px}.vcard-layout .project-actions>a{font-size:15px;min-height:46px}.clear-contact{display:grid;grid-template-columns:1fr}.clear-contact>a{font-size:16px;padding:14px 12px}.contact-section .container{width:calc(100% - 38px)}.contact-section footer{display:flex;align-items:start;flex-direction:column}.page-heading>p,.case-story p,.case-story li,.case-facts p{font-size:17px}.section-label{font-size:12px}.gallery-grid{grid-template-columns:1fr 1fr;gap:14px}.gallery-item figcaption{font-size:13px}.gallery-item.kind-screen img{height:210px}.gallery-item.kind-document img{height:230px}.site-header .identity{font-size:12px}.case-title{font-size:45px}.intro-index,.intro-bottom{font-size:11px;letter-spacing:1px}}
@media(prefers-reduced-motion:reduce){.vcard-layout .about,.vcard-layout .sidebar{animation:none}*{scroll-behavior:auto!important}}
.gallery-group-heading{grid-column:1/-1;padding:35px 0 15px;border-top:1px solid var(--line);margin-top:25px}.gallery-group-heading h3{font-size:32px;margin-bottom:15px}.gallery-group-heading p{font-size:17px;color:var(--muted)}
.vcard-layout .project-art{width:100%;height:auto;min-height:0;aspect-ratio:1.18}.art-healthy{background:linear-gradient(145deg,#c5e9d5,#88c8ad)}.nutrition-posters .poster{box-shadow:0 20px 45px #0c4b3d28}@media(max-width:650px){.vcard-layout .navbar-list{display:grid;grid-template-columns:1fr 1fr;gap:2px;width:100%;text-align:center}.vcard-layout .navbar-link{padding:12px 4px;font-size:14px}.vcard-layout .navbar-link.active{background:#342c48;border-radius:8px}.vcard-layout .navbar{padding:6px}}
.vcard-layout .info-content{min-width:0;flex:1}@media(max-width:360px){.vcard-layout .avatar-box img{width:85px;height:120px}.vcard-layout .sidebar-info{gap:13px}.vcard-layout .info-content .name{font-size:23px}.vcard-layout .info-content .title{font-size:15px}}
