:root{--bg:#faf7f1;--fg:#1f2a26;--muted:#7a766d;--line:#e6dfd2;
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#171615;--fg:#f1ece2;--muted:#9b958a;--line:#2b2927}}
:root[data-theme="dark"]{--bg:#171615;--fg:#f1ece2;--muted:#9b958a;--line:#2b2927}
html{scroll-padding-top:env(safe-area-inset-top,0px);scroll-behavior:smooth}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font-family:"Jost",system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.55}
a{color:inherit}
.wrap{max-width:1040px;margin:0 auto;padding:0 20px}
.top{position:relative;text-align:center;padding:40px 0 34px}
.logo{display:inline-block;text-decoration:none;font-size:clamp(22px,4vw,30px);letter-spacing:.32em;text-transform:uppercase;font-weight:400;padding-left:.32em}
.tag{display:block;margin-top:6px;font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--muted)}
.menu{position:absolute;right:0;top:44px;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.menu a{margin-left:18px;text-decoration:none;color:var(--muted)}
.menu a:hover{color:var(--fg)}
.intro{text-align:center;max-width:52ch;margin:0 auto 38px;color:var(--muted);font-size:17px}
.avail{display:inline-flex;align-items:center;gap:8px;margin-top:10px;font-size:13px;letter-spacing:.06em;color:var(--fg);text-decoration:none;border-bottom:1px solid var(--fg);padding-bottom:2px}
.avail:hover{opacity:.65}
.avail i{width:7px;height:7px;border-radius:50%;background:#2fb67c;animation:pulse 1.6s infinite}
.reel{border-radius:3px;margin-bottom:22px}
.sound{position:absolute;z-index:3;left:14px;bottom:14px;border:0;background:var(--bg);color:var(--fg);font:inherit;font-size:13px;letter-spacing:.1em;text-transform:uppercase;padding:9px 16px;border-radius:2px;cursor:pointer}
.reelnote{text-align:right;margin:-8px 0 30px;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.reelnote a{color:var(--muted);text-decoration:none}
.reelnote a:hover{color:var(--fg)}
.masonry{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:start}
.col{display:flex;flex-direction:column;gap:22px;min-width:0}
.tile{position:relative;display:block;margin:0;break-inside:avoid;overflow:hidden;border-radius:3px;text-decoration:none;color:var(--fg)}
.tile>.ph,.tile>img,.tile>video{display:block;width:100%;height:auto;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.tile:hover>.ph,.tile:hover>img,.tile:hover>video,.tile:focus-visible>.ph,.tile:focus-visible>img,.tile:focus-visible>video{transform:scale(1.06)}
.tile::after{content:"";position:absolute;inset:0;z-index:2;background:rgba(0,0,0,.45);opacity:0;transition:opacity .4s;pointer-events:none}
.tile:hover::after,.tile:focus-visible::after{opacity:1}
.cap{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:16px;color:#fff;opacity:0;transform:translateY(8px);transition:opacity .4s,transform .4s;pointer-events:none}
.tile:hover .cap,.tile:focus-visible .cap{opacity:1;transform:none}
.cap b{font-weight:500;font-size:clamp(17px,1.8vw,22px);letter-spacing:.02em}
.cap span{margin-top:6px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;opacity:.9}
@media (hover:none){.tile::after{display:none}.cap{inset:auto auto 12px 12px;max-width:calc(100% - 24px);align-items:flex-start;text-align:left;background:var(--bg);color:var(--fg);padding:8px 14px;border-radius:2px;opacity:1;transform:none}.cap span{margin-top:0;color:var(--muted);opacity:1}}
.ph{position:relative;background:var(--a);overflow:hidden}
.ph::before,.ph::after,.ph i{content:"";position:absolute;animation:float 5s ease-in-out infinite}
.ph::before{width:46%;aspect-ratio:1;border-radius:50%;background:var(--b);left:10%;top:14%}
.ph::after{width:34%;height:12%;border-radius:99px;background:var(--c);right:10%;bottom:20%;animation-delay:-2s}
.ph video{position:absolute;inset:0;z-index:2;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .4s}
.ph video.on{opacity:1}
.ph i{width:22%;aspect-ratio:1;border-radius:30%;background:var(--c);right:16%;top:12%;animation-delay:-3.5s}
.info{margin-top:0;padding:24px 0 56px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:36px;text-align:center}
.info h3,.clients h3{margin:0 0 18px;font-size:12px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
.info p{margin:0}
.clients{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 0 34px;padding:44px 0 40px;text-align:center}
.clients ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:14px 40px;font-size:clamp(18px,3vw,26px);letter-spacing:.06em}
.clients ul{font-size:clamp(15px,2.2vw,20px);align-items:baseline}
.clients li{color:var(--muted)}
.clients .t1{font-size:2.4em;color:var(--fg);letter-spacing:.03em}
.clients .t2{font-size:1.6em;color:var(--fg)}
.about{border-top:1px solid var(--line);margin-top:30px;padding:56px 0 26px}
.about .in{display:flex;flex-wrap:wrap;gap:28px 48px;align-items:center;justify-content:center;max-width:780px;margin:0 auto}
.about img{width:220px;height:auto;flex:none;animation:float 6s ease-in-out infinite}
.about .in>div{flex:1 1 280px;max-width:46ch}
.about h3{margin:0 0 14px;font-size:12px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
.about p{margin:0;font-size:18px}
.clients ul{align-items:center}
.clients li img{display:none;width:auto;height:24px;max-width:170px;object-fit:contain;filter:grayscale(1) brightness(0);opacity:.72}
.clients .t1 img{height:50px;max-width:300px}
.clients .t2 img{height:34px;max-width:210px}
.clients img[alt="C&A"]{height:30px}
.clients img[alt="ATR"],.clients img[alt="Arianee"]{height:22px}
.clients img[alt="MEETT"]{height:30px}
.clients img[alt="Valorem"]{height:32px}
.clients li.ok img{display:block}
.clients li.ok span{display:none}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .clients li img{filter:grayscale(1) brightness(0) invert(1)}}
:root[data-theme="dark"] .clients li img{filter:grayscale(1) brightness(0) invert(1)}
.contact h3{margin:0 0 14px;font-size:12px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
.contact p{margin:0 0 14px;color:var(--muted)}
.contact .alt{display:block;margin-top:12px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-decoration:none}
.back{margin:0 0 6px;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.back a{text-decoration:none;color:var(--muted)}
.back a:hover{color:var(--fg)}
.case{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:40px;align-items:center;padding:36px 0;border-top:1px solid var(--line);scroll-margin-top:10px}
.case:first-of-type{border-top:0}
.cv{border-radius:3px}
.ct h2{margin:0 0 8px;font-size:clamp(24px,3vw,32px);font-weight:500;letter-spacing:-.01em}
.ct .m{margin:0 0 18px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.ct p{margin:0 0 12px;font-size:18px;max-width:42ch}
.ct .m{max-width:none}
@media (max-width:820px){.case{grid-template-columns:1fr;gap:20px}}
.info p{max-width:34ch;margin:0 auto}
@media (max-width:480px){.tag{letter-spacing:.16em;font-size:11px}}
.contact{text-align:center;padding:10px 0 60px}
.mail{display:inline-block;font-size:clamp(16px,2.4vw,20px);text-decoration:none;border-bottom:1px solid var(--fg);word-break:break-all}
.soc{margin-top:22px;font-size:12px;letter-spacing:.22em;text-transform:uppercase}
.soc a{margin:0 12px;text-decoration:none;color:var(--muted)}
.soc a:hover{color:var(--fg)}
footer{text-align:center;color:var(--muted);font-size:12px;letter-spacing:.1em;padding:0 0 28px}
@media (max-width:820px){.masonry{display:block;column-count:2;column-gap:14px}.col{display:contents}.tile{margin-bottom:14px}.menu{position:static;margin-top:16px}.menu a{margin:0 10px}}
@media (max-width:480px){.masonry{column-count:1}}
@keyframes float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-8px) rotate(7deg)}}
@keyframes pulse{50%{opacity:.3}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
