.snappy-app{--bg:#FFFFFF;--bg-alt:#F4F4F4;--ink:#0A0A0A;--ink-2:#0A0A0A;--mute:#6B6B6B;--line:#E5E5E5;--accent:#180655;--accent-soft:#E7EBF6;--accent-ink:#180655;--display:"Inter",system-ui,-apple-system,sans-serif;--body:"Inter",system-ui,-apple-system,sans-serif;--mono:"Inter",system-ui,-apple-system,sans-serif;--maxw:1280px;--pad-x:clamp(20px,5vw,64px);--radius:10px;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-height:100vh;scroll-behavior:smooth}.snappy-app *{box-sizing:border-box}.snappy-app ::-moz-selection{background:var(--accent);color:#fff}.snappy-app ::selection{background:var(--accent);color:#fff}.snappy-app a{color:inherit;text-decoration:none}.snappy-app a:hover{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}.snappy-app button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}.snappy-app img{max-width:100%;display:block}.snappy-app .wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad-x)}.snappy-app .display,.snappy-app .h1,.snappy-app .h2,.snappy-app h1,.snappy-app h2{font-family:var(--display);font-weight:400;line-height:1;letter-spacing:-.01em}.snappy-app .eyebrow,.snappy-app .label{font-family:var(--mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--mute);font-weight:500}.snappy-app .lede{font-size:clamp(18px,1.6vw,22px);line-height:1.5;color:var(--ink-2);max-width:56ch;text-wrap:pretty}.snappy-app em.italic{font-style:italic}.snappy-app .nav{position:fixed;top:0;left:0;right:0;z-index:50;padding:18px 0;background:var(--bg);border-bottom:1px solid transparent;transition:border-color .2s ease,padding .2s ease}.snappy-app .nav.scrolled{border-bottom-color:var(--line);padding:12px 0}.snappy-app .nav-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}.snappy-app .nav .brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--display);font-size:22px;line-height:1;letter-spacing:-.01em;white-space:nowrap;flex-shrink:0}.snappy-app .nav .brand-logo{display:block;height:96px;width:auto;max-width:none}@media (max-width:720px){.snappy-app .nav .brand-logo{height:48px}}.snappy-app .nav-links{display:flex;align-items:center;gap:32px;font-size:17px}.snappy-app .nav-links a{color:var(--ink-2);position:relative;padding:4px 0;transition:color .2s ease}.snappy-app .nav-links a:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .24s cubic-bezier(.6,.05,.2,1)}.snappy-app .nav-links a:hover{color:var(--accent);text-decoration:none}.snappy-app .nav-links a:hover:after{transform:scaleX(1)}.snappy-app .nav-cta{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:var(--radius);background:transparent;color:var(--ink);border:1px solid var(--line);font-size:15px;font-weight:500;white-space:nowrap;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}.snappy-app .nav-cta:hover{background:var(--accent);color:var(--bg);border-color:var(--accent);text-decoration:none;transform:translateY(-1px)}.snappy-app .nav-cta .arrow{transition:transform .22s ease}.snappy-app .nav-cta:hover .arrow{transform:translate(2px,-2px)}.snappy-app .lang-switch{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--line);border-radius:var(--radius);margin-right:4px}.snappy-app .lang-switch button{font-family:var(--body);font-size:11px;letter-spacing:.08em;padding:6px 10px;border-radius:7px;color:var(--mute);transition:background .18s ease,color .18s ease}.snappy-app .lang-switch button.on{background:var(--accent);color:var(--bg)}@media (max-width:720px){.snappy-app .nav-links{display:none}}.snappy-app .hero{padding-top:clamp(110px,14vh,160px);padding-bottom:clamp(60px,9vh,120px);position:relative;overflow:hidden;background:var(--bg);color:var(--ink)}.snappy-app .hero-bz{position:relative;z-index:1}.snappy-app .hero-greet{font-family:var(--body);font-size:clamp(15px,1.5vw,21px);color:var(--ink);margin:0 0 clamp(20px,3vh,36px);line-height:1.4;text-align:center;font-weight:400}.snappy-app .hero-greet .wave{display:inline-block;transform-origin:70% 70%;animation:snappyWave 2.8s ease-in-out infinite}@keyframes snappyWave{0%,60%,to{transform:rotate(0deg)}10%{transform:rotate(14deg)}20%{transform:rotate(-8deg)}30%{transform:rotate(14deg)}40%{transform:rotate(-4deg)}50%{transform:rotate(10deg)}}.snappy-app .hero-greet .name{font-family:var(--display);font-style:italic;color:var(--ink);font-size:1.1em}.snappy-app .hero-stage{text-align:center}.snappy-app .hero-title{font-family:var(--body);font-weight:800;font-size:clamp(72px,11vw,160px);line-height:1.15;letter-spacing:-.025em;margin:0;padding-top:.08em;text-transform:none;white-space:normal;text-wrap:balance}.snappy-app .hero-title.fill{color:var(--ink);position:relative;z-index:3;transition:color .28s ease;margin-top:clamp(20px,4vh,60px)}.snappy-app .hero-title:focus,.snappy-app .hero-title:focus-visible{outline:none}.snappy-app .hero-title.fill.lang-uk{font-size:clamp(64px,10vw,144px)}.snappy-app .hero-title.is-outline{color:var(--mute);font-size:clamp(32px,4.4vw,60px);line-height:1.15;letter-spacing:-.015em;position:relative;z-index:1;margin-top:.18em;font-weight:500;transition:color .28s ease}.snappy-app .hero-stage:has(.hero-title.is-outline:hover) .hero-title.fill{color:var(--mute)}.snappy-app .hero-title.is-outline:hover{color:var(--ink)}.snappy-app .hero-stage:has(.hero-title.fill:hover) .hero-title.is-outline{color:var(--mute);opacity:.6}.snappy-app .hero-title.fill:hover{color:var(--accent)}.snappy-app .hero-title.fill,.snappy-app .hero-title.is-outline{transform-origin:center;transition:color .28s ease,opacity .28s ease,transform .28s cubic-bezier(.6,.05,.2,1)}.snappy-app .hero-stage[data-cta-hover=fill] .hero-title.fill{color:var(--accent);transform:scale(1.02)}.snappy-app .hero-stage[data-cta-hover=fill] .hero-title.is-outline{opacity:.55}.snappy-app .hero-stage[data-cta-hover=outline] .hero-title.is-outline{color:var(--accent);transform:scale(1.02)}.snappy-app .hero-stage[data-cta-hover=outline] .hero-title.fill{color:var(--mute)}.snappy-app .hero-title .amp{font-style:normal;padding-right:.06em}.snappy-app .hero-photo-wrap{position:absolute;bottom:0;left:clamp(-60px,-2vw,0px);width:clamp(220px,26vw,380px);aspect-ratio:4/5;z-index:2;pointer-events:none;overflow:hidden}.snappy-app .hero-photo-wrap img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center top;object-position:center top;filter:grayscale(1) contrast(1.05);display:block}.snappy-app .hero-loc{font-family:var(--body);font-size:clamp(15px,1.5vw,21px);color:var(--ink);margin:clamp(20px,3vh,32px) 0 0;line-height:1.4;text-align:center;position:relative;z-index:5;padding-top:.5em}.snappy-app .hero-loc .place{font-family:var(--display);font-style:italic;color:var(--ink);font-size:1.1em}.snappy-app .hero-ctas{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin-top:clamp(28px,4vh,48px);position:relative;z-index:5}.snappy-app .bz-cta{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:var(--radius);font-family:var(--body);font-size:15px;font-weight:500;line-height:1;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;border:1px solid var(--accent);white-space:nowrap}.snappy-app .bz-cta.fill{background:var(--accent);color:var(--bg)}.snappy-app .bz-cta.fill:hover{background:color-mix(in srgb,var(--accent) 85%,#000);border-color:color-mix(in srgb,var(--accent) 85%,#000);color:#fff;text-decoration:none;transform:translateY(-2px)}.snappy-app .bz-cta.outline{background:transparent;color:var(--accent)}.snappy-app .bz-cta.outline:hover{background:var(--accent);color:var(--bg);text-decoration:none;transform:translateY(-2px)}.snappy-app section{padding:clamp(60px,10vh,120px) 0;position:relative}.snappy-app .sec-head{display:grid;grid-template-columns:220px 1fr;gap:clamp(20px,4vw,60px);align-items:baseline;margin-bottom:clamp(40px,6vh,72px);padding-bottom:24px;border-bottom:1px solid var(--line)}.snappy-app .sec-head .num{font-family:var(--mono);font-size:12px;color:var(--mute);letter-spacing:.1em}.snappy-app .sec-head h2{font-size:28px;margin:0;text-wrap:balance;font-family:var(--body);font-weight:600;line-height:1.25;letter-spacing:-.015em}.snappy-app .sec-head h2 .it{font-style:italic;color:var(--accent-ink);font-family:var(--display);font-weight:400}@media (max-width:640px){.snappy-app .sec-head{grid-template-columns:1fr;gap:8px}}.snappy-app .work{display:grid;grid-template-columns:1fr}.snappy-app .work-row{display:grid;grid-template-columns:56px 1fr 1.4fr 110px 90px;gap:clamp(16px,3vw,40px);align-items:center;padding:clamp(20px,3vw,32px) 0;border-top:1px solid var(--line);color:var(--ink);transition:padding .22s ease,color .22s ease;position:relative;cursor:pointer}.snappy-app .work-row:last-child{border-bottom:1px solid var(--line)}.snappy-app .work-row:hover{color:var(--accent-ink);text-decoration:none}.snappy-app .work-row .idx{font-family:var(--mono);font-size:12px;color:var(--mute)}.snappy-app .work-row .title{font-family:var(--body);font-size:20px;line-height:1.3;letter-spacing:-.01em;font-weight:600}.snappy-app .work-row .title .it{font-style:italic;font-family:var(--display);font-weight:400}.snappy-app .work-row .desc{font-size:14.5px;color:var(--mute);line-height:1.45;max-width:42ch}.snappy-app .work-row .stack{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--mute)}.snappy-app .work-row .arrow{justify-self:end;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;transition:background .22s ease,border-color .22s ease,transform .22s ease}.snappy-app .work-row:hover .arrow{background:var(--accent);border-color:var(--accent);color:#fff;transform:translate(3px,-3px)}.snappy-app .work-row .arrow svg{width:14px;height:14px}@media (max-width:900px){.snappy-app .work-row{grid-template-columns:36px 1fr 70px}.snappy-app .work-row .desc,.snappy-app .work-row .stack{display:none}}.snappy-app .work-preview{position:fixed;pointer-events:none;width:320px;height:220px;border-radius:var(--radius);overflow:hidden;background:var(--bg-alt);border:1px solid var(--line);opacity:0;transform:translate(-50%,-50%) scale(.94);transition:opacity .22s ease,transform .24s cubic-bezier(.6,.05,.2,1);z-index:60;will-change:transform,opacity;display:flex;flex-direction:column}.snappy-app .work-preview.show{opacity:1;transform:translate(-50%,-50%) scale(1)}.snappy-app .work-preview .browser-bar{height:28px;background:var(--bg);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:6px;padding:0 12px}.snappy-app .work-preview .dots{display:inline-flex;gap:5px}.snappy-app .work-preview .dots span{width:8px;height:8px;border-radius:50%;background:var(--line)}.snappy-app .work-preview .url{flex:1;text-align:center;font-family:var(--mono);font-size:10.5px;color:var(--mute);background:var(--bg-alt);padding:3px 8px;border-radius:4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.snappy-app .work-preview .canvas{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px}.snappy-app .work-preview .canvas .glyph{font-size:44px;line-height:1}.snappy-app .work-preview .canvas .name{font-family:var(--display);font-size:28px;line-height:1;letter-spacing:-.01em}.snappy-app .work-preview .canvas .tag{font-family:var(--mono);font-size:10.5px;color:var(--mute);text-transform:uppercase;letter-spacing:.1em}.snappy-app .work-preview[data-tone=purple]{background:var(--accent);color:#fff}.snappy-app .work-preview[data-tone=purple] .browser-bar{background:rgba(0,0,0,.18);border-bottom-color:rgba(255,255,255,.12)}.snappy-app .work-preview[data-tone=purple] .url{background:rgba(255,255,255,.12);color:rgba(255,255,255,.7)}.snappy-app .work-preview[data-tone=purple] .dots span{background:rgba(255,255,255,.3)}.snappy-app .work-preview[data-tone=purple] .tag{color:rgba(255,255,255,.65)}.snappy-app .work-preview[data-tone=cream]{background:#F4E9C8;color:#5A4920}.snappy-app .work-preview[data-tone=cream] .tag{color:#8C7A4A}.snappy-app .work-preview[data-tone=ink]{background:var(--ink);color:var(--bg)}.snappy-app .work-preview[data-tone=ink] .browser-bar{background:rgba(255,255,255,.06);border-bottom-color:rgba(255,255,255,.08)}.snappy-app .work-preview[data-tone=ink] .url{background:rgba(255,255,255,.06);color:rgba(255,255,255,.5)}.snappy-app .work-preview[data-tone=ink] .dots span{background:rgba(255,255,255,.25)}.snappy-app .work-preview[data-tone=ink] .tag{color:rgba(255,255,255,.5)}.snappy-app .work-preview[data-tone=pink]{background:#F4D4F0;color:#5C2A55}.snappy-app .work-preview[data-tone=pink] .tag{color:#8E5485}.snappy-app .work-preview[data-tone=cool]{background:#ECEAFE;color:#2A2266}.snappy-app .work-preview[data-tone=cool] .tag{color:#5A4F95}@media (max-width:760px){.snappy-app .work-preview{display:none}}.snappy-app .services{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.snappy-app .svc{padding:clamp(28px,3.6vw,48px) clamp(20px,2.4vw,32px);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:18px;position:relative}.snappy-app .svc:last-child{border-right:0}.snappy-app .svc .num{font-family:var(--mono);font-size:12px;color:var(--mute);letter-spacing:.12em}.snappy-app .svc h3{font-family:var(--body);font-weight:600;font-size:20px;margin:0;line-height:1.3;letter-spacing:-.01em}.snappy-app .svc h3 .it{font-style:italic;font-family:var(--display);font-weight:400}.snappy-app .svc p{color:var(--ink-2);font-size:15px;margin:0;max-width:32ch}.snappy-app .svc ul{list-style:none;padding:0;margin:4px 0 0;display:flex;flex-direction:column;gap:6px}.snappy-app .svc ul li{font-size:13.5px;color:var(--mute);padding-left:18px;position:relative}.snappy-app .svc ul li:before{content:"—";position:absolute;left:0;color:var(--accent)}.snappy-app .svc .price{margin-top:auto;padding-top:18px;display:flex;align-items:baseline;gap:10px;border-top:1px solid var(--line)}.snappy-app .svc .price .from{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--mute)}.snappy-app .svc .price .amt{font-family:var(--display);font-size:clamp(28px,3vw,36px);font-style:italic;line-height:1}.snappy-app .svc .price-note{margin-top:auto;padding-top:18px;border-top:1px solid var(--line);font-size:13px;line-height:1.5;color:var(--mute);font-style:italic}@media (max-width:880px){.snappy-app .services{grid-template-columns:1fr}.snappy-app .svc{border-right:0;border-bottom:1px solid var(--line)}.snappy-app .svc:last-child{border-bottom:0}}.snappy-app .ai-section,.snappy-app .photo-section{padding:clamp(80px,12vh,140px) 0;border-top:1px solid var(--line)}.snappy-app .ai-section{background:var(--bg-alt)}.snappy-app .photo-cats{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 32px}.snappy-app .pcat{font-family:var(--body);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;padding:8px 14px;border:1px solid var(--line);border-radius:var(--radius);color:var(--mute);transition:all .18s ease}.snappy-app .pcat:hover{color:var(--ink);border-color:var(--ink)}.snappy-app .pcat.on{background:var(--accent);color:var(--bg);border-color:var(--accent)}.snappy-app .ai-grid,.snappy-app .photo-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-flow:dense;gap:14px}@media (max-width:900px){.snappy-app .ai-grid,.snappy-app .photo-grid{grid-template-columns:repeat(2,1fr)}}.snappy-app .agrid-item,.snappy-app .pgrid-item{position:relative;margin:0;aspect-ratio:3/4;overflow:hidden;border-radius:var(--radius);background:var(--bg-alt);transition:opacity .22s ease,transform .38s ease}.snappy-app .pgrid-item.tall{grid-row:span 2;aspect-ratio:3/8}.snappy-app .pgrid-item.wide{grid-column:span 2;aspect-ratio:3/2}.snappy-app .agrid-item img,.snappy-app .pgrid-item img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1)}.snappy-app .agrid-item:hover img,.snappy-app .pgrid-item:hover img{transform:scale(1.03)}.snappy-app .agrid-item figcaption,.snappy-app .pgrid-item figcaption{position:absolute;left:12px;bottom:12px;right:12px;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:#fff;opacity:0;transform:translateY(6px);transition:opacity .22s ease,transform .22s ease;text-shadow:0 1px 8px rgba(0,0,0,.5)}.snappy-app .agrid-item:hover figcaption,.snappy-app .pgrid-item:hover figcaption{opacity:1;transform:translateY(0)}.snappy-app .pgrid-item.hide{display:none}.snappy-app .ai-grid{grid-template-columns:repeat(3,1fr)}@media (max-width:900px){.snappy-app .ai-grid{grid-template-columns:repeat(2,1fr)}}.snappy-app .agrid-item{aspect-ratio:3/4}.snappy-app .proc{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.snappy-app .proc-step{background:var(--bg);padding:clamp(22px,2.6vw,32px);display:flex;flex-direction:column;gap:12px;min-height:220px}.snappy-app .proc-step .pn{font-family:var(--body);font-weight:700;font-size:40px;line-height:1;color:var(--accent)}.snappy-app .proc-step h4{font-family:var(--body);font-weight:600;font-size:18px;margin:0;line-height:1.3}.snappy-app .proc-step p{font-size:14px;color:var(--mute);margin:0;line-height:1.5}@media (max-width:880px){.snappy-app .proc{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.snappy-app .proc{grid-template-columns:1fr}}.snappy-app .about-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(40px,6vw,80px);align-items:center}.snappy-app .about-photo{aspect-ratio:4/5;background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--accent) 32%,var(--bg-alt)) 0,var(--bg-alt) 70%);border-radius:var(--radius);border:1px solid var(--line);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--mute)}.snappy-app .about-photo img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.snappy-app .about-photo .photo-tag{position:absolute;top:16px;left:16px;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--mute)}.snappy-app .about-text p{font-family:var(--body);font-size:18px;line-height:1.55;margin:0 0 18px;text-wrap:pretty;font-weight:400}.snappy-app .about-text p .it{font-style:italic;color:var(--accent-ink);font-family:var(--display)}.snappy-app .about-text .signoff{margin-top:28px;display:flex;flex-wrap:wrap;gap:10px 24px;font-family:var(--mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--mute)}.snappy-app .about-text .signoff span:before{content:"→ ";color:var(--accent)}@media (max-width:760px){.snappy-app .about-grid{grid-template-columns:1fr}}.snappy-app .contact{background:var(--bg-alt);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:clamp(80px,14vh,140px) 0}.snappy-app .contact-left{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.snappy-app .contact-photo{width:100%;max-width:320px;aspect-ratio:4/5;overflow:hidden;border-radius:var(--radius)}.snappy-app .contact-photo img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center top;object-position:center top;filter:grayscale(1) contrast(1.05);display:block}.snappy-app .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,80px);align-items:center}.snappy-app .contact-h{font-family:var(--body);font-weight:700;font-size:44px;line-height:1.1;letter-spacing:-.015em;margin:0 0 24px}.snappy-app .contact-h .it{font-style:italic;color:var(--accent-ink);font-family:var(--display);font-weight:400}.snappy-app .contact-sub{font-size:16px;line-height:1.55;color:var(--ink-2);max-width:40ch;margin-bottom:28px}.snappy-app .contact-email{display:inline-flex;align-items:center;gap:12px;padding:14px 20px;border:1px solid var(--line);background:var(--bg);border-radius:var(--radius);font-size:15px;font-weight:500;transition:background .2s ease,color .2s ease,border-color .2s ease}.snappy-app .contact-email:hover{background:var(--accent);color:var(--bg);border-color:var(--accent);text-decoration:none}.snappy-app .contact form{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-content:center}.snappy-app .contact form .full{grid-column:1/-1}.snappy-app .contact form label{display:block;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--mute);margin-bottom:8px}.snappy-app .contact input,.snappy-app .contact textarea{width:100%;background:var(--bg);border:1px solid var(--line);padding:12px 14px;font:inherit;font-size:15px;color:var(--ink);border-radius:var(--radius);outline:none;transition:border-color .18s ease,background .18s ease}.snappy-app .contact input:focus,.snappy-app .contact textarea:focus{border-color:var(--accent)}.snappy-app .contact textarea{resize:vertical;min-height:100px;line-height:1.5}.snappy-app .contact button[type=submit]{grid-column:1/-1;background:var(--accent);color:var(--bg);padding:14px 22px;border-radius:var(--radius);font-size:14.5px;font-weight:500;justify-self:start;display:inline-flex;align-items:center;gap:10px;transition:background .2s ease,transform .2s ease}.snappy-app .contact button[type=submit]:hover{background:color-mix(in srgb,var(--accent) 85%,#000);transform:translateY(-1px)}@media (max-width:760px){.snappy-app .contact-grid{grid-template-columns:1fr}}.snappy-app .snappy-footer{padding:40px 0 60px;color:var(--mute);font-size:13px}.snappy-app .snappy-footer .foot-grid{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}.snappy-app .snappy-footer .socials{display:inline-flex;gap:18px;font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.1em}.snappy-app .snappy-footer a:hover{color:var(--ink)}.snappy-app .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s cubic-bezier(.4,0,.2,1),transform .7s cubic-bezier(.4,0,.2,1)}.snappy-app .reveal.in{opacity:1;transform:none}.snappy-app .reveal.delay-1{transition-delay:80ms}.snappy-app .reveal.delay-2{transition-delay:.16s}.snappy-app .reveal.delay-3{transition-delay:.24s}.snappy-app .reveal.delay-4{transition-delay:.32s}.snappy-app .bh-head{padding:clamp(120px,14vh,160px) 0 clamp(40px,6vh,60px)}.snappy-app .bh-head .back-link{font-size:14px;color:var(--mute);display:inline-flex;gap:6px;align-items:center;margin-bottom:24px;transition:color .18s ease}.snappy-app .bh-head .back-link:hover{color:var(--accent);text-decoration:none}.snappy-app .bh-head-row{display:grid;grid-template-columns:1fr auto;align-items:end;gap:32px;border-bottom:1px solid var(--line);padding-bottom:32px}.snappy-app .bh-head-title{font-size:clamp(36px,5vw,56px);font-weight:700;line-height:1.1;letter-spacing:-.02em;margin:0 0 16px;font-family:var(--body)}.snappy-app .bh-head-title .it{font-style:italic;font-weight:500;color:var(--accent)}.snappy-app .bh-head-lede{font-size:17px;line-height:1.55;color:var(--ink-2);max-width:56ch;margin:0}.snappy-app .bh-head-stats{display:inline-flex;gap:8px;align-items:baseline;font-size:13px;color:var(--mute);white-space:nowrap}.snappy-app .bh-head-stats strong{color:var(--ink);font-weight:600;font-size:15px}@media (max-width:720px){.snappy-app .bh-head-row{grid-template-columns:1fr}}.snappy-app .bh-grid-section{padding:clamp(40px,6vh,80px) 0 clamp(80px,12vh,140px)}.snappy-app .bh-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(20px,3vw,36px)}@media (max-width:720px){.snappy-app .bh-grid{grid-template-columns:1fr;gap:24px}}.snappy-app .bh-card{display:flex;flex-direction:column;gap:14px;color:inherit;text-decoration:none;transition:transform .24s cubic-bezier(.4,0,.2,1)}.snappy-app .bh-card:hover{text-decoration:none;transform:translateY(-4px)}.snappy-app .bh-cover{position:relative;aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden;background:var(--bg-alt);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;transition:filter .24s ease}.snappy-app .bh-card:hover .bh-cover{filter:brightness(.96)}.snappy-app .bh-cover-img{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center top;object-position:center top;display:block;transition:transform .32s ease}.snappy-app .bh-card:hover .bh-cover-img{transform:scale(1.02)}.snappy-app .bh-cover-glyph{font-size:clamp(56px,8vw,96px);line-height:1}.snappy-app .bh-cover-name{font-size:clamp(18px,2vw,24px);font-weight:600;letter-spacing:-.01em;color:var(--ink);opacity:.5}.snappy-app .bh-cover:after{content:"";position:absolute;inset:0;border:1px solid transparent;border-radius:var(--radius);pointer-events:none;transition:border-color .24s ease}.snappy-app .bh-card:hover .bh-cover:after{border-color:var(--accent)}.snappy-app .bh-card[data-tone=purple] .bh-cover{background:linear-gradient(135deg,#E7EBF6,#C5CFEA)}.snappy-app .bh-card[data-tone=cool] .bh-cover{background:linear-gradient(135deg,#EAF1F8,#C8D7EA)}.snappy-app .bh-card[data-tone=ink] .bh-cover{background:linear-gradient(135deg,#1E2233,#0A0F1F);color:#fff}.snappy-app .bh-card[data-tone=ink] .bh-cover-name{color:#fff;opacity:.7}.snappy-app .bh-card[data-tone=pink] .bh-cover{background:linear-gradient(135deg,#F4E1EE,#E8C2D5)}.snappy-app .bh-card[data-tone=cream] .bh-cover{background:linear-gradient(135deg,#F4ECDB,#E5D4B4)}.snappy-app .bh-card-meta{display:flex;flex-direction:column;gap:4px;padding:0 2px}.snappy-app .bh-card-title{font-size:18px;font-weight:600;line-height:1.3;margin:0;font-family:var(--body);letter-spacing:-.01em;color:var(--ink)}.snappy-app .bh-card-sub{font-size:14px;line-height:1.4;color:var(--mute);margin:0}.snappy-app .bh-card-foot{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--mute);border-top:1px solid var(--line);padding:12px 2px 0}.snappy-app .bh-card:hover .bh-card-link{color:var(--accent)}.snappy-app .bh-card-link{transition:color .2s ease}.snappy-app .bh-cats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:clamp(24px,4vh,40px)}.snappy-app .bh-cat{font-family:var(--body);font-size:13px;letter-spacing:.02em;padding:8px 16px;border:1px solid var(--line);background:transparent;border-radius:var(--radius);color:var(--mute);font-weight:500;transition:all .18s ease}.snappy-app .bh-cat:hover{color:var(--ink);border-color:var(--ink)}.snappy-app .bh-cat.on{background:var(--accent);border-color:var(--accent);color:var(--bg)}.snappy-app .bh-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-flow:dense;gap:clamp(20px,2.4vw,28px)}@media (max-width:980px){.snappy-app .bh-photo-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.snappy-app .bh-photo-grid{grid-template-columns:1fr}}.snappy-app .bh-ai-grid{grid-template-columns:repeat(3,1fr)}@media (max-width:980px){.snappy-app .bh-ai-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.snappy-app .bh-ai-grid{grid-template-columns:1fr}}.snappy-app .bh-photo-card{display:flex;flex-direction:column;gap:12px;margin:0;transition:transform .24s cubic-bezier(.4,0,.2,1)}.snappy-app .bh-photo-card:hover{transform:translateY(-3px)}.snappy-app .bh-photo-card.tall{grid-row:span 2}.snappy-app .bh-photo-card.wide{grid-column:span 2}.snappy-app .bh-photo-cover{position:relative;aspect-ratio:4/5;border-radius:var(--radius);overflow:hidden;background:var(--bg-alt)}.snappy-app .bh-photo-card.wide .bh-photo-cover{aspect-ratio:3/2}.snappy-app .bh-photo-card.tall .bh-photo-cover{aspect-ratio:3/5}.snappy-app .bh-photo-cover img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1)}.snappy-app .bh-photo-card:hover .bh-photo-cover img{transform:scale(1.03)}.snappy-app .bh-photo-cover:after{content:"";position:absolute;inset:0;border:1px solid transparent;border-radius:var(--radius);pointer-events:none;transition:border-color .24s ease}.snappy-app .bh-photo-card:hover .bh-photo-cover:after{border-color:var(--accent)}.snappy-app .bh-ai-section{padding-top:clamp(80px,12vh,140px);border-top:1px solid var(--line);margin-top:clamp(60px,10vh,100px)}.snappy-app .bh-first-section{padding-top:clamp(140px,18vh,200px);border-top:0;margin-top:0}.snappy-app .bh-first-section .back-link{transition:color .18s ease}.snappy-app .bh-first-section .back-link:hover{color:var(--accent);text-decoration:none}