:root{--paper:#f3eee4;--ink:#20221d;--muted:#77776e;--green:#a9d85a;--forest:#365b43;--orange:#eb8245;--pink:#eb9fac;--line:rgba(32,34,29,.17);--mono:'DM Mono',monospace;--sans:'Manrope',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}.topbar{height:76px;padding:0 6.1vw;display:flex;align-items:center;border-bottom:1px solid var(--line);gap:35px}.wordmark{font-weight:800;display:flex;align-items:center;gap:11px;margin-right:auto;font-size:13px}.mark{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--ink);color:var(--paper);font-size:14px;position:relative}.mark span{position:absolute;color:var(--green);font-size:9px;right:-4px;top:-3px}.topbar nav{display:flex;gap:30px;color:#5c5e56;font-size:12px}.topbar nav a:hover,.text-link:hover{color:#6e9d36}.top-telegram{font-size:12px;border-bottom:1px solid var(--ink);padding:7px 0}.top-telegram span{margin-left:8px}.hero{min-height:685px;padding:96px 6.1vw 0;position:relative;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;overflow:hidden}.hero-copy{max-width:640px;position:relative;z-index:2;padding-bottom:90px}.eyebrow{font:10px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:#68695f;display:flex;align-items:center;gap:10px}.live-dot{width:7px;height:7px;border-radius:50%;background:#77aa42;box-shadow:0 0 0 4px #77aa421b}.hero h1{font-size:clamp(48px,6.5vw,92px);line-height:.99;letter-spacing:-.075em;margin:28px 0 22px;font-weight:600;max-width:680px}.hero h1 em{font-style:normal;color:#7c9f49}.hero-intro{font-size:15px;line-height:1.75;color:#62635c;max-width:440px;margin:0}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:31px}.button{padding:15px 19px;display:inline-flex;gap:24px;align-items:center;font-size:12px;font-weight:600}.button-dark{background:var(--ink);color:#f5f1e8;border-radius:2px;transition:transform .25s,background .25s}.button-dark:hover{background:#43553a;transform:translateY(-2px)}.text-link{font-size:12px;font-weight:600}.text-link span{margin-left:7px}.hero-note{display:flex;align-items:flex-start;gap:14px;margin-top:53px}.note-line{width:26px;height:1px;background:#8e8f83;margin-top:8px}.hero-note p{font:10px/1.7 var(--mono);color:#77786e;margin:0}.art-stage{height:520px;position:relative;display:grid;place-items:center;isolation:isolate}.art-halo{position:absolute;width:74%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#e6ddc9 0%,#e9dfca 47%,transparent 70%);z-index:-1}.orb{position:absolute;border-radius:50%;box-shadow:inset -17px -25px 31px #253c244d,inset 13px 14px 19px #ffffff8a,18px 34px 35px #443d2c22}.orb-back{background:radial-gradient(circle at 34% 25%,#d1e69b,var(--forest) 70%);width:190px;height:190px;top:14%;right:25%;z-index:-1}.ring{position:absolute;border-radius:50%;filter:drop-shadow(13px 18px 15px #352b1e2a);transform-style:preserve-3d}.ring:after{content:'';position:absolute;inset:25%;border-radius:50%;background:var(--paper);box-shadow:inset 5px 8px 14px #554c372c}.ring-green{width:310px;height:190px;background:linear-gradient(130deg,#d1ed8c 5%,#78b959 38%,#2f694b 80%);transform:rotate(-33deg) rotateX(64deg);z-index:3;top:28%;left:23%;box-shadow:inset -10px -11px 17px #21523a82,inset 8px 8px 11px #e2f6ad}.ring-orange{width:273px;height:177px;background:linear-gradient(130deg,#ffc077,#ed8448 54%,#b74e37);transform:rotate(48deg) rotateX(62deg);z-index:2;top:36%;left:25%;box-shadow:inset -12px -10px 16px #93402966,inset 8px 8px 11px #ffe3ac}.ring-pink{width:242px;height:154px;background:linear-gradient(130deg,#ffd0be,#e8a0a8 54%,#b96273);transform:rotate(-68deg) rotateX(64deg);z-index:4;top:36%;left:32%;box-shadow:inset -12px -10px 16px #984a5b66,inset 8px 8px 12px #fff0dc}.orb-lime{width:74px;height:74px;background:radial-gradient(circle at 35% 28%,#efffb2,#add557 63%,#688c35);top:22%;right:19%;z-index:5;box-shadow:inset -7px -9px 13px #4763295c,inset 8px 7px 9px #ffffd880,9px 15px 15px #493f2b29}.art-shadow{position:absolute;bottom:17%;width:62%;height:35px;background:#65564228;border-radius:50%;filter:blur(16px);z-index:-1}.art-caption{position:absolute;bottom:13%;left:20%;right:15%;display:flex;justify-content:space-between;font:8px var(--mono);letter-spacing:.1em;color:#818074}.sparkle{position:absolute;color:#e17c50;font-size:17px}.sparkle-one{top:20%;left:16%}.sparkle-two{bottom:30%;right:14%;font-size:11px;color:#8aaf50}.hero-bottom{position:absolute;left:6.1vw;right:6.1vw;bottom:0;border-top:1px solid var(--line);min-height:61px;display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#77786e}.hero-bottom .mono{font:8px var(--mono);letter-spacing:.1em}.scroll-cue{font-size:17px;color:var(--ink)}.about-strip{padding:83px 12vw 94px;display:grid;grid-template-columns:136px 1fr;gap:6vw;border-bottom:1px solid var(--line);align-items:center}.about-portrait{display:block;width:136px;height:136px;object-fit:cover;object-position:center 32%;border-radius:50%;filter:saturate(.84)}.about-copy{display:grid;grid-template-columns:1fr .85fr;gap:5vw;align-items:center}.about-copy>p{font-size:19px;line-height:1.65;letter-spacing:-.035em;max-width:535px;margin:0}.about-facts{display:flex;flex-direction:column;justify-content:center;gap:12px}.about-facts span{font-size:11px;color:#73746b;padding-bottom:12px;border-bottom:1px solid var(--line)}.work-section{padding:106px 6.1vw 100px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:34px}.section-heading .eyebrow{margin-bottom:14px}.section-heading h2{font-size:clamp(49px,7vw,86px);letter-spacing:-.075em;line-height:.9;margin:0;font-weight:600}.heading-period{color:#83a64d}.section-aside{text-align:right;color:#77786e;font-size:11px;line-height:1.7;margin:0 2px 3px}.project-viewport{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);touch-action:pan-y}.project-track{display:flex;transition:transform .58s cubic-bezier(.22,.75,.2,1);will-change:transform}.project-slide{min-width:100%;display:grid;grid-template-columns:1.08fr .92fr;min-height:410px}.project-preview{position:relative;overflow:hidden;min-height:410px;display:grid;place-items:center;background:#dfdcca}.screenshot-frame{display:block;width:90%;height:85%;background:#f9f8f2;border:1px solid #ffffffa6;box-shadow:8px 18px 35px #30352925;overflow:hidden}.project-screenshot{display:block;width:100%;height:100%;object-fit:contain;object-position:center}.project-screenshot.messenger{object-fit:contain;object-position:center}.project-label{position:absolute;left:22px;bottom:19px;font:9px var(--mono);letter-spacing:.08em;color:#77796e;background:#f3eee4d9;padding:6px 8px;border-radius:2px}.preview-uni{background:#e0e6d6}.preview-crm{background:#dddcd0}.preview-messenger{background:#d8e4e0}.preview-tabs{background:#e8ddd0}.preview-network{background:#e4dacb}.screen{width:77%;height:66%;background:#fbfaf4;box-shadow:8px 18px 35px #30352925;border-radius:5px;overflow:hidden;position:relative;transform:rotate(-3deg);border:1px solid #ffffffa6}.screen-top{height:24px;display:flex;align-items:center;gap:5px;padding:0 10px;border-bottom:1px solid #e9e6dc}.screen-top i{width:5px;height:5px;background:#d8d1bf;border-radius:50%}.screen-body{padding:18px 20px}.screen-kicker{font:7px var(--mono);color:#8b8c7f;letter-spacing:.06em}.screen-title{font-size:clamp(17px,2.7vw,31px);font-weight:700;line-height:1.05;letter-spacing:-.06em;margin:9px 0 12px}.screen-copy{font-size:7px;color:#797a70;line-height:1.6;max-width:80%}.screen-button{margin-top:14px;display:inline-block;padding:7px 11px;background:#27372b;color:white;border-radius:2px;font-size:7px}.screen-shape{position:absolute;width:110px;height:110px;border-radius:50%;right:9%;bottom:3%;background:linear-gradient(135deg,#d5eb9f,#578653);box-shadow:inset -10px -13px 15px #294a2e59,inset 8px 8px 9px #faffd5}.crm-layout{display:grid;grid-template-columns:42px 1fr;gap:10px}.crm-nav{height:110px;background:#29392f;border-radius:4px}.crm-rows{display:flex;flex-direction:column;gap:6px}.crm-rows b{height:22px;background:#eeeee4;border-radius:3px;position:relative}.crm-rows b:after{content:'';position:absolute;left:9px;top:9px;width:38%;height:4px;background:#d0d4c6;border-radius:4px}.crm-rows b:nth-child(2):after{width:55%}.crm-rows b:nth-child(3):after{width:29%}.chat{width:78%;height:67%;background:#f9faf7;box-shadow:8px 18px 35px #30352925;border-radius:7px;display:flex;overflow:hidden;transform:rotate(2deg)}.chat-sidebar{width:34%;background:#e9efeb;padding:19px 11px}.chat-sidebar i{display:block;height:15px;margin:0 0 10px;border-radius:4px;background:#d3ded7}.chat-window{flex:1;padding:24px 17px;display:flex;flex-direction:column;gap:12px}.bubble{font-size:7px;padding:9px 11px;border-radius:10px;background:#e8eee9;max-width:80%;color:#5a655d}.bubble.self{align-self:flex-end;background:#c8dfb1}.song-page{width:70%;min-height:70%;background:#fffdf8;box-shadow:8px 18px 35px #30352925;padding:28px 31px;transform:rotate(-2deg)}.song-page h3{font-size:20px;margin:4px 0 15px;letter-spacing:-.06em}.song-page p{font-size:8px;color:#74766d;line-height:2.2;margin:0}.song-page b{color:#a87346}.network-circle{position:absolute;border:1px solid #96a58e;border-radius:50%;width:180px;height:180px;left:20%;top:27%}.network-circle:before,.network-circle:after{content:'';position:absolute;border:1px solid #96a58e;border-radius:50%;inset:20px -35px;transform:rotate(60deg)}.network-circle:after{transform:rotate(-60deg)}.network-node{position:absolute;width:15px;height:15px;border-radius:50%;background:#87a96c;box-shadow:0 0 0 7px #87a96c24}.network-node.n1{top:22%;left:54%}.network-node.n2{bottom:22%;left:28%;background:#e48c58}.network-node.n3{top:44%;right:16%;background:#d68c9b}.project-label{position:absolute;left:22px;bottom:19px;font:9px var(--mono);letter-spacing:.08em;color:#77796e}.project-info{padding:52px 7%;display:flex;flex-direction:column;justify-content:center;position:relative}.project-number{font:9px var(--mono);color:#929286;letter-spacing:.1em}.project-info h3{font-size:clamp(31px,4.3vw,53px);line-height:1;letter-spacing:-.065em;font-weight:600;margin:23px 0 13px}.project-info p{font-size:12px;color:#73746b;line-height:1.8;max-width:340px;margin:0}.project-type{font:9px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#85867a;margin-top:25px}.carousel-controls{display:flex;align-items:center;padding:18px 0}.project-index{display:flex;align-items:center;gap:12px;font:11px var(--mono)}.project-index span:last-of-type{color:#898a80}.index-divider{width:34px;height:1px;background:#b7b6a8}.index-label{font-size:8px;letter-spacing:.1em;color:#8e8f84;margin-left:8px}.control-buttons{display:flex;gap:8px;margin-left:auto}.arrow-button{width:39px;height:39px;background:transparent;border:1px solid #aaa99d;border-radius:50%;font-size:16px;cursor:pointer;transition:background .2s,color .2s,transform .2s}.arrow-button:hover{background:var(--ink);color:var(--paper);transform:scale(1.04)}.arrow-button:disabled{opacity:.4}.swipe-hint{display:none}.contact-section{min-height:440px;background:#22251f;color:#f4f0e6;position:relative;overflow:hidden;padding:76px 6.1vw 24px;display:flex;flex-direction:column;justify-content:space-between}.contact-content{position:relative;z-index:2}.contact-section .eyebrow{color:#c0c1b5}.contact-section h2{font-size:clamp(54px,8vw,92px);letter-spacing:-.08em;line-height:.88;font-weight:600;margin:32px 0}.contact-link{font-size:13px;border-bottom:1px solid #b6c19e;padding-bottom:12px;display:inline-flex;gap:39px;color:#d0e6a6}.contact-art{position:absolute;right:7%;top:3%;width:42%;height:85%;opacity:.8}.contact-shape{position:absolute;border:31px solid;border-radius:50%;width:220px;height:220px;filter:drop-shadow(10px 12px 8px #0005)}.shape-one{border-color:#73994f;left:23%;top:14%;transform:rotate(30deg) scaleY(.66)}.shape-two{border-color:#e18c55;left:42%;top:30%;transform:rotate(-39deg) scaleY(.62)}.shape-three{border-color:#bd7784;left:33%;top:30%;transform:rotate(67deg) scaleY(.6)}.contact-foot{border-top:1px solid #ffffff32;padding-top:19px;display:flex;justify-content:space-between;font-size:9px;color:#b0b1a5}.contact-foot a{color:#f4f0e6;font-weight:700}.contact-foot span:nth-child(2){font-family:var(--mono);letter-spacing:.05em;font-size:8px}:focus-visible{outline:2px solid #719d48;outline-offset:4px}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}@keyframes float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-9px) rotate(2deg)}}@keyframes greenFloat{0%,100%{transform:rotate(-33deg) rotateX(64deg) translateY(0)}50%{transform:rotate(-33deg) rotateX(64deg) translateY(-9px)}}.ring-green{animation:greenFloat 7s ease-in-out infinite}.orb-lime{animation:float 5s ease-in-out infinite reverse}@media(max-width:800px){.topbar{height:66px;padding:0 5vw;gap:14px}.topbar nav{gap:17px}.hero{padding:65px 5vw 0;min-height:660px;grid-template-columns:1fr .9fr}.hero h1{font-size:clamp(49px,8vw,72px)}.art-stage{height:420px;transform:scale(.85);transform-origin:center}.about-strip{padding:65px 8vw;gap:5vw}.about-portrait{width:118px;height:118px}.about-copy{gap:4vw}.project-slide{grid-template-columns:1fr .9fr;min-height:350px}.project-preview{min-height:350px}.screenshot-frame{width:90%;height:83%}.project-info{padding:35px 6%}.screen{width:84%;height:62%}}@media(max-width:600px){.topbar{height:61px;padding:0 20px}.wordmark{font-size:12px}.topbar nav{display:none}.top-telegram{font-size:11px}.hero{display:flex;flex-direction:column;align-items:stretch;padding:47px 21px 0;min-height:auto}.hero-copy{padding:0}.hero h1{font-size:clamp(51px,13vw,72px);max-width:450px;margin:24px 0 17px}.hero-intro{font-size:13px;max-width:390px}.hero-actions{margin-top:23px;gap:18px}.button{padding:14px 15px;font-size:11px}.text-link{font-size:11px}.hero-note{margin-top:27px}.art-stage{height:340px;transform:none;margin:-8px -24px 0;overflow:hidden}.art-halo{width:80%}.orb-back{width:140px;height:140px;right:24%;top:13%}.ring-green{width:265px;height:160px;left:20%;top:26%}.ring-orange{width:235px;height:150px;left:21%;top:34%}.ring-pink{width:208px;height:132px;left:29%;top:35%}.orb-lime{width:58px;height:58px;top:18%;right:19%}.art-caption{bottom:10%;left:13%;right:12%}.hero-bottom{position:static;min-height:59px;margin-top:0;gap:12px;font-size:8px}.hero-bottom .mono{font-size:6px;text-align:right}.scroll-cue{font-size:14px}.about-strip{padding:56px 22px 61px;grid-template-columns:1fr;gap:21px}.about-portrait{width:106px;height:106px}.about-copy{grid-template-columns:1fr;gap:24px}.about-copy>p{font-size:17px}.about-facts{gap:10px}.about-facts span{font-size:10px;padding-bottom:10px}.work-section{padding:74px 20px 70px}.section-heading{align-items:flex-end;margin-bottom:25px}.section-heading h2{font-size:62px}.section-aside{font-size:9px}.project-slide{display:flex;flex-direction:column;min-height:auto}.project-preview{min-height:250px}.screenshot-frame{width:94%;height:80%}.project-label{left:12px;bottom:10px;font-size:7px}.project-info{min-height:225px;padding:27px 24px 28px}.project-info h3{font-size:39px;margin:13px 0 10px}.project-info p{font-size:11px;max-width:330px}.project-type{margin-top:17px;font-size:8px}.screen{width:78%;height:67%}.screen-body{padding:15px}.screen-title{font-size:23px}.song-page{width:67%;min-height:68%;padding:19px 22px}.song-page h3{font-size:17px}.song-page p{font-size:7px}.network-circle{transform:scale(.8);left:18%;top:19%}.carousel-controls{padding:14px 0}.project-index{font-size:10px}.arrow-button{width:36px;height:36px}.swipe-hint{display:block;margin-left:16px;font-size:8px;color:#8d8e82}.swipe-hint span{font-size:13px;margin-left:4px}.contact-section{min-height:420px;padding:60px 22px 20px}.contact-content{position:relative}.contact-section h2{font-size:69px;margin:27px 0}.contact-art{right:-20%;top:18%;width:76%;height:60%;transform:scale(.76);transform-origin:center}.contact-foot{gap:8px;font-size:8px}.contact-foot span:nth-child(2){display:none}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* Bound screenshots independently of their intrinsic page height. */
.project-preview{height:410px;min-width:0;flex-shrink:0}.screenshot-frame{position:absolute;inset:24px 20px 44px;width:auto;height:auto;display:block;overflow:hidden}.project-screenshot{display:block;width:100%;height:100%;object-fit:contain}.project-screenshot.messenger{object-fit:contain;object-position:center}@media(max-width:800px){.project-preview{height:350px}}@media(max-width:600px){.project-preview{height:250px;min-height:250px}.screenshot-frame{inset:15px 10px 32px}}

/* Captions take their own row and never cover project screenshots. */
.project-preview{display:flex;flex-direction:column;padding:18px;gap:12px;align-items:stretch}
.screenshot-frame{position:relative;inset:auto;width:100%;height:0;flex:1 1 auto;min-height:0}
.project-label{position:static;flex:0 0 auto;align-self:flex-start;max-width:100%;line-height:1.5;font-size:9px;white-space:normal;overflow-wrap:anywhere;padding:0!important;background:transparent!important;border:0!important}
@media(max-width:600px){.project-preview{padding:12px;gap:10px}.project-label{font-size:8px}.section-aside{max-width:145px}.section-heading h2{font-size:56px}}

.mark.avatar{border-radius:50%!important;overflow:hidden;background:transparent}.mark.avatar img{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:600px){.section-heading{display:block}.section-heading h2{font-size:62px}.section-aside{max-width:none;text-align:left;font-size:11px;margin-top:18px;line-height:1.65}}
