:root{--acid:#e6ff74;--black:#080808;--grey:#848484;--ink:#080808}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--black);background:#fff;font-family:"DM Sans",Arial,sans-serif}a{color:inherit;text-decoration:none}.nav{height:68px;padding:0 32px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid #ddd;background:#fff}.logo{font-size:18px;font-weight:500}.nav nav{display:flex;gap:34px;font-size:14px}.inquire{justify-self:end;font-size:14px}.hero{overflow:hidden}.hero-copy{min-height:370px;display:grid;grid-template-columns:270px 1fr;gap:38px;align-items:center;padding:34px 5.5vw 25px}.portrait{width:230px;height:230px;border-radius:50%;background:radial-gradient(circle at 55% 30%,#f5f5f1 0 19%,#d8d8d2 20% 44%,#171717 45% 54%,#aaa 55% 70%,#eee 71%);display:grid;place-items:center}.portrait span{font-size:11px;text-transform:uppercase;text-align:center;letter-spacing:.1em;background:#fff;padding:8px 12px;border-radius:30px}.hero h1{margin:0;font:400 clamp(51px,6.3vw,106px)/.93 "Italiana",Georgia,serif;letter-spacing:-.045em}.hero h1 i{font-family:Georgia,serif}.signature{margin-left:calc(5.5vw + 308px);display:flex;gap:35px;padding-bottom:35px;font-size:17px}.signature span:first-child{color:var(--grey)}.collage{height:445px;display:grid;grid-template-columns:18% 29% 29% 24%;gap:46px;align-items:end}.visual{height:330px;padding:18px;position:relative;overflow:hidden}.visual small{font-size:10px;letter-spacing:.1em}.visual-a{background:#9d6648;color:#f7d8be;transform:translateY(45px);display:flex;flex-direction:column;justify-content:flex-end}.visual-a b{font:400 54px "Italiana"}.visual-a span{font:italic 15px Georgia}.visual-b{height:410px;background:linear-gradient(110deg,#1b201d,#9bbd22);display:grid;place-items:center}.screen{width:80%;height:65%;background:#f1f1eb;transform:perspective(500px) rotateY(8deg) rotateX(3deg);padding:40px 25px;display:flex;flex-direction:column;justify-content:space-between}.screen b{font-size:24px;font-weight:400}.screen span{font-size:10px}.visual-c{height:340px;background:#176457;display:grid;place-items:center}.phone{width:42%;height:115%;border:8px solid #141414;border-radius:34px;background:#102f2a;color:#cbe1d8;transform:rotate(-13deg);display:grid;place-items:center;text-align:center;box-shadow:0 20px 30px #08251f}.phone span{font-size:15px;letter-spacing:.25em}.visual-d{height:410px;background:#f1f1ee;color:#164d30;display:flex;flex-direction:column;justify-content:center}.visual-d:before,.visual-d:after{content:"";position:absolute;background:var(--acid);border:2px solid #164d30;border-radius:50%}.visual-d:before{width:160px;height:75px;right:-35px;top:20px}.visual-d:after{width:85px;height:85px;left:20px;bottom:15px}.visual-d b{font:400 45px/1 "Italiana";z-index:1}.visual-d span{z-index:1;margin-top:16px;font-size:12px}.ticker{min-height:75px;background:var(--acid);display:grid;grid-template-columns:260px 1fr;align-items:center;padding:0 34px;font-size:17px;overflow:hidden}.ticker>span{color:#777;text-transform:uppercase}.ticker>div{display:flex;justify-content:space-between;gap:38px}.ticker b{white-space:nowrap;font-size:21px;font-weight:400}.work,.services{padding:130px 32px}.section-title{display:grid;grid-template-columns:80px 1fr auto;align-items:end;border-bottom:1px solid #111;padding-bottom:22px}.section-title span{font-size:12px;text-transform:uppercase}.section-title h2{margin:0;font:400 clamp(50px,6vw,92px)/1 "Italiana",Georgia,serif;letter-spacing:-.04em}.projects{display:grid;grid-template-columns:1fr 1fr;gap:85px 22px;padding-top:55px}.project-art{height:500px;position:relative;overflow:hidden;transition:transform .4s}.project:hover .project-art{transform:scale(.985)}.art-one{background:#e4ff6c;display:grid;place-items:center}.art-one span{font:400 clamp(60px,9vw,150px) "Italiana"}.art-one i{position:absolute;bottom:20px;font-family:Georgia}.art-two{background:#d5cabd;display:grid;place-items:center}.pack{width:38%;height:70%;background:#f7efe3;border-radius:50% 50% 12px 12px;display:grid;place-items:center;font:30px "Italiana";z-index:1}.circle{width:360px;height:360px;border-radius:50%;background:#b74d32;position:absolute}.art-three{background:#142821;display:grid;place-items:center}.card{width:70%;height:62%;padding:35px;background:#dde4d7;color:#142821;font:60px/1 "Italiana";transform:rotate(-5deg);box-shadow:30px 30px 0 #6d8e81}.card small{font:12px "DM Sans"}.art-four{background:#d5d7ff;color:#222;padding:28px;display:flex;justify-content:space-between}.art-four strong{align-self:center;font:400 72px/.88 "Italiana"}.meta{display:grid;grid-template-columns:1fr 1fr;margin-top:15px;gap:6px}.meta h3{margin:0;font-size:22px;font-weight:500}.meta p,.meta span{margin:0;font-size:12px;text-transform:uppercase}.meta span{text-align:right;color:#777}.about{padding:120px 32px 170px;background:#f3f3ef;display:grid;grid-template-columns:25% 1fr}.about>span{font-size:12px;text-transform:uppercase}.about h2{margin:0;font:400 clamp(42px,5.4vw,82px)/1.02 "Italiana",Georgia,serif;letter-spacing:-.035em}.about h2 i{font-family:Georgia}.about p{max-width:560px;margin:55px 0 0 auto;font-size:19px;line-height:1.5}.service-row{display:grid;grid-template-columns:80px 1fr 1fr;gap:25px;align-items:center;min-height:125px;border-bottom:1px solid #ccc}.service-row>span{font-size:12px}.service-row h3{font:400 36px "Italiana";margin:0}.service-row p{margin:0;max-width:420px;color:#666}.play{margin:0 32px 140px;padding:35px;background:var(--acid);min-height:380px;display:flex;flex-direction:column;justify-content:space-between}.play>span{font-size:12px;text-transform:uppercase}.play>a{font:400 clamp(58px,8vw,125px)/.9 "Italiana";display:flex;justify-content:space-between;align-items:end}.play b{font:400 60px "DM Sans"}footer{min-height:610px;padding:40px 32px 22px;background:#080808;color:#fff;display:flex;flex-direction:column;justify-content:space-between}footer>span{text-transform:uppercase;font-size:12px}footer>a{font:400 clamp(60px,8.7vw,140px)/.88 "Italiana"}footer>a i{color:var(--acid);font-family:Georgia}footer>div{display:flex;justify-content:space-between;padding-top:17px;border-top:1px solid #777;font-size:12px;text-transform:uppercase}
@media(max-width:800px){.nav{height:58px;padding:0 16px;grid-template-columns:1fr auto}.nav nav{display:none}.hero-copy{grid-template-columns:1fr;padding:28px 16px 20px}.portrait{width:115px;height:115px}.hero h1{font-size:48px}.signature{margin:10px 16px 25px;display:grid;gap:5px;font-size:12px}.collage{height:310px;grid-template-columns:56% 56% 56% 56%;gap:10px;transform:translateX(-22%)}.visual{height:270px}.visual-b,.visual-d{height:300px}.ticker{grid-template-columns:1fr;padding:15px 16px;gap:10px}.ticker>div{justify-content:flex-start;overflow:hidden}.ticker b{font-size:16px}.work,.services{padding:80px 16px}.section-title{grid-template-columns:35px 1fr}.section-title>span:last-child{display:none}.projects{grid-template-columns:1fr;gap:55px}.project-art{height:380px}.about{padding:75px 16px 100px;grid-template-columns:1fr;gap:45px}.about p{font-size:16px}.service-row{grid-template-columns:35px 1fr;padding:24px 0}.service-row p{grid-column:2}.play{margin:0 16px 80px;min-height:280px;padding:22px}.play>a{font-size:49px}.play b{font-size:35px}footer{padding:30px 16px 18px;min-height:450px}footer>div span:nth-child(2){display:none}}

/* Real portfolio assets */
.portrait{background-image:url("image/shared/my photo.png");background-position:center 22%;background-size:cover;background-repeat:no-repeat;position:relative;overflow:hidden}.portrait span{display:none}.art-one{background:#f4f4f1;padding:7%}.art-one img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 18px 22px rgba(0,0,0,.12))}.art-one span{position:absolute;right:18px;bottom:16px;background:#fff;border:1px solid #111;border-radius:30px;padding:9px 13px;font:11px "DM Sans";text-transform:uppercase;opacity:0;transform:translateY(8px);transition:.25s}.project:hover .art-one span{opacity:1;transform:none}

.real-art{background:#f1f1ee;padding:6%}.real-art img{width:100%;height:100%;object-fit:contain;filter:none;box-shadow:0 18px 28px rgba(0,0,0,.1)}.real-art span{position:absolute;right:18px;bottom:16px;background:#fff;border:1px solid #111;border-radius:30px;padding:9px 13px;font:11px "DM Sans";text-transform:uppercase;opacity:0;transform:translateY(8px);transition:.25s}.project:hover .real-art span{opacity:1;transform:none}

/* Unified typography with case pages */
.hero h1{font-family:"Italiana",Georgia,serif;font-style:normal;font-weight:400;font-size:clamp(51px,6.3vw,106px);line-height:.93;letter-spacing:-.045em}.hero h1 i,.section-title h2 i,.about h2 i{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-weight:400}.section-title h2,.about h2{font-family:"Italiana",Georgia,serif;font-style:normal;font-weight:400;font-size:clamp(33.66px,4.59vw,68.85px);line-height:1;letter-spacing:-.04em}
@media(max-width:800px){.hero h1{font-size:48px}.section-title h2,.about h2{font-size:33.66px}}

/* Homepage motion */
.home-motion .portrait,.home-motion .signature,.home-motion .collage{opacity:0;transform:translateY(30px);animation:home-enter .85s cubic-bezier(.22,1,.36,1) forwards}.home-motion .portrait{animation-delay:.16s}.home-motion .signature{animation-delay:.22s}.home-motion .collage{animation-delay:.3s}

/* Seamless expertise ticker */
.ticker{display:block;min-height:75px;padding:0;overflow:hidden;background:var(--acid)}.ticker-track{display:flex;width:max-content;min-height:75px;align-items:center;animation:ticker-scroll 28s linear infinite;will-change:transform}.ticker-set{display:flex;align-items:center;gap:52px;padding-right:52px}.ticker-set b{flex:none;white-space:nowrap;font:400 21px/1 "DM Sans",Arial,sans-serif}.ticker-set .ticker-en{font:italic 400 27px/1 Georgia,"Times New Roman",serif;text-transform:none}@keyframes ticker-scroll{to{transform:translate3d(-50%,0,0)}}
@media(max-width:800px){.ticker,.ticker-track{min-height:64px}.ticker-set{gap:34px;padding-right:34px}.ticker-set b{font-size:17px}.ticker-set .ticker-en{font-size:22px}}
@media(prefers-reduced-motion:reduce){.ticker-track{animation-play-state:paused}}

.ticker-set{gap:0}.ticker-set b{display:flex;align-items:center;text-transform:uppercase}.ticker-set b:before{content:none}.ticker-set b:after{content:"*";display:grid;place-items:center;width:104px;flex:0 0 104px;font:400 22px/1 "DM Sans",Arial,sans-serif;transform:translateY(-1px)}
@media(max-width:800px){.ticker-set b:after{width:58px;flex-basis:58px;font-size:18px}}

.ticker-set{padding-right:0}.ticker-set .ticker-en{text-transform:uppercase}.ticker-set b:after{width:96px;flex-basis:96px}.ticker-set b{min-height:32px}.ticker-set .ticker-en{align-items:center}
@media(max-width:800px){.ticker-set b:after{width:58px;flex-basis:58px}}

.ticker-set .ticker-en{font-family:"Italiana",Georgia,serif;font-style:normal;font-weight:400;line-height:1}

.ticker-set b:after{align-self:center;line-height:1;transform:translateY(4px)}

.ticker-set b:not(.ticker-en){font-family:Georgia,"Times New Roman",serif;font-style:italic;font-weight:400;font-size:27px;line-height:1}
.ticker-set b:not(.ticker-en){text-transform:none}
@media(max-width:800px){.ticker-set b:not(.ticker-en){font-size:22px}}

/* Work index refinements */
.work .section-title>span{font-size:16.8px}.project .meta{grid-template-columns:1fr auto;align-items:center}.project .meta h3{font-size:22px}.project .meta p{display:none}.project .meta .project-link{display:inline-flex;align-items:center;margin-right:30px;text-align:right;color:var(--ink);font-size:15px;text-transform:none;transition:transform .2s}.project:hover .meta .project-link{transform:translate(4px,-2px)}.real-art>span{display:none}.project-cursor{position:fixed;left:0;top:0;z-index:1001;width:126px;display:flex;flex-direction:column;align-items:center;gap:9px;color:var(--ink);pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.65);transition:opacity .16s ease,transform .2s cubic-bezier(.22,1,.36,1);will-change:left,top,transform}.project-cursor__icon{width:96px;height:72px;border:1px solid rgba(8,8,8,.55);border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.28);color:var(--ink);font-size:30px;line-height:1;transform:rotate(-4deg);backdrop-filter:blur(13px) saturate(145%);-webkit-backdrop-filter:blur(13px) saturate(145%);box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 10px 28px rgba(0,0,0,.12)}.project-cursor__label{padding:6px 10px;border:1px solid rgba(8,8,8,.28);border-radius:999px;background:rgba(255,255,255,.36);color:var(--ink);font-size:10px;line-height:1;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;backdrop-filter:blur(9px) saturate(135%);-webkit-backdrop-filter:blur(9px) saturate(135%);box-shadow:inset 0 1px 0 rgba(255,255,255,.65)}.project-cursor.is-visible{opacity:1;transform:translate(-50%,-50%) scale(1)}
@media(pointer:fine){.real-art{cursor:none}}@media(max-width:800px){.work .section-title>span{font-size:14px}.project .meta .project-link{font-size:13px}.project-cursor{display:none}}

@media(pointer:fine){.project-cursor{width:190px;gap:13px}.project-cursor__icon{width:150px;height:110px;font-size:48px}.project-cursor__label{padding:9px 16px;font-size:12px}}

/* Hero image collage */
.collage .visual{padding:0;background:#ecebe7;display:block}
.collage .visual::before,.collage .visual::after{display:none}
.collage .visual>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}

/* Telegram links */
.nav .logo{display:inline-flex;min-height:52px;padding-right:12px;align-items:center;gap:9px;width:max-content}.nav .logo img{width:19px;height:19px;object-fit:contain;filter:invert(1)}
.nav-actions{justify-self:end;display:flex;align-items:center;gap:5px}
.nav-actions .inquire{justify-self:auto;display:flex;min-height:52px;padding:0 12px;align-items:center}
.telegram-link,.whatsapp-link{position:relative;display:inline-grid;place-items:center;width:44px;height:44px;overflow:hidden;flex:0 0 auto}
.telegram-link img{position:absolute;left:50%;top:50%;display:block;width:22px;height:18px;object-fit:contain;transform:translate3d(-50%,-50%,0);transition:transform .52s cubic-bezier(.22,1,.36,1)}
.telegram-link .telegram-icon-copy{transform:translate3d(calc(-50% - 44px),calc(-50% + 44px),0)}
.telegram-link:hover img:first-child,.nav-actions:hover .telegram-link img:first-child{transform:translate3d(calc(-50% + 46px),calc(-50% - 46px),0)}
.telegram-link:hover .telegram-icon-copy,.nav-actions:hover .telegram-link .telegram-icon-copy{transform:translate3d(-50%,-50%,0)}
.nav .telegram-link img{filter:invert(1)}
.whatsapp-link img{display:block;width:22px;height:22px;object-fit:contain;transition:transform .52s cubic-bezier(.22,1,.36,1)}.whatsapp-link:hover img{transform:rotate(10deg) scale(1.12)}.nav .whatsapp-link img{filter:brightness(0)}
.footer-socials{display:flex;align-items:center;gap:14px}.footer-socials>a:not(.telegram-link):not(.whatsapp-link){transition:opacity .2s}.footer-socials>a:not(.telegram-link):not(.whatsapp-link):hover{opacity:.55}.footer-socials .whatsapp-link img{filter:grayscale(1) brightness(0) invert(1)}
.footer-bottom{gap:28px}.footer-bottom .footer-nav{margin-left:auto}.footer-bottom .footer-socials{margin-left:auto}
@media(max-width:800px){.nav-actions{gap:11px}.nav-actions .inquire{font-size:12px}.telegram-link img,.faq-social--telegram img{width:20px;height:17px}footer>div>.footer-socials{display:flex}.footer-socials>span{display:none}}

/* Navigation and mobile menu */
.menu-toggle,.mobile-menu{display:none}.footer-nav{display:flex;align-items:center;gap:30px;font-size:13px}.footer-nav a{transition:opacity .2s}.footer-nav a:hover{opacity:.55}
.nav>nav a,.mobile-menu>nav a,.footer-nav a{position:relative;display:inline-block;overflow:hidden;vertical-align:bottom}.nav>nav a>span,.mobile-menu>nav a>span,.footer-nav a>span{display:block;transition:transform .48s cubic-bezier(.22,1,.36,1)}.nav>nav a::after,.mobile-menu>nav a::after,.footer-nav a::after{content:attr(data-text);position:absolute;left:0;top:100%;white-space:nowrap;transition:transform .48s cubic-bezier(.22,1,.36,1)}.nav>nav a:hover>span,.mobile-menu>nav a:hover>span,.footer-nav a:hover>span{transform:translateY(-100%)}.nav>nav a:hover::after,.mobile-menu>nav a:hover::after,.footer-nav a:hover::after{transform:translateY(-100%)}.footer-nav a:hover{opacity:1}
.nav>nav a{padding:16px 10px}.nav>nav a::after{left:10px}.nav>nav a:hover>span{transform:translateY(calc(-100% - 16px))}.nav>nav a:hover::after{transform:translateY(calc(-100% - 16px))}.footer-nav a{padding:12px 6px}.footer-nav a::after{left:6px}.footer-nav a:hover>span{transform:translateY(calc(-100% - 12px))}.footer-nav a:hover::after{transform:translateY(calc(-100% - 12px))}
@media(max-width:800px){html.menu-open{overflow:hidden}.menu-open .nav{transform:none}.nav-actions{display:none}.menu-toggle{display:flex;width:44px;height:44px;padding:0;border:0;background:none;flex-direction:column;align-items:flex-end;justify-content:center;gap:7px}.menu-toggle span{display:block;width:28px;height:1px;background:#080808;transition:transform .35s cubic-bezier(.22,1,.36,1),width .25s}.menu-toggle span:last-child{width:19px}.menu-toggle.is-open span:first-child{width:28px;transform:translateY(4px) rotate(45deg)}.menu-toggle.is-open span:last-child{width:28px;transform:translateY(-4px) rotate(-45deg)}.mobile-menu{position:fixed;display:flex;inset:58px 0 0;padding:42px 16px 24px;background:#fff;flex-direction:column;justify-content:space-between;visibility:hidden;opacity:0;transform:translateY(-18px);transition:opacity .3s,transform .45s cubic-bezier(.22,1,.36,1),visibility 0s .45s;pointer-events:none}.mobile-menu.is-open{visibility:visible;opacity:1;transform:none;transition-delay:0s;pointer-events:auto}.mobile-menu nav{display:flex;flex-direction:column;gap:3px}.mobile-menu nav a{font:400 15vw/.98 "Italiana",Georgia,serif;letter-spacing:-.045em}.mobile-menu__contacts{display:grid;gap:12px;padding-top:22px;border-top:1px solid #bbb;font-size:14px}.footer-nav{display:grid;grid-template-columns:1fr 1fr;gap:14px 25px;padding-bottom:28px}.footer-nav a{font-size:14px}.footer-nav a:last-child{grid-column:1/-1;padding-top:12px}}
@media(max-width:800px){footer .footer-bottom{display:grid;gap:22px}.footer-bottom .footer-nav,.footer-bottom .footer-socials{margin-left:0}.footer-bottom .footer-socials{flex-wrap:wrap}}

.footer-bottom,.footer-bottom a,.footer-bottom .footer-nav a,.footer-bottom .footer-socials{font-size:13px;line-height:1.2;font-weight:400}
.footer-legal{max-width:340px;text-transform:none;line-height:1.45}.footer-socials>a:not(.telegram-link):not(.whatsapp-link){position:relative;display:inline-block;overflow:hidden;vertical-align:bottom}.footer-socials>a:not(.telegram-link):not(.whatsapp-link)>span{display:block;transition:transform .48s cubic-bezier(.22,1,.36,1)}.footer-socials>a:not(.telegram-link):not(.whatsapp-link)::after{content:attr(data-text);position:absolute;left:0;top:100%;white-space:nowrap;transition:transform .48s cubic-bezier(.22,1,.36,1)}.footer-socials>a:not(.telegram-link):not(.whatsapp-link):hover>span,.footer-socials>a:not(.telegram-link):not(.whatsapp-link):hover::after{transform:translateY(-100%)}

.section-title>span,.about>span{font-size:16.8px}
@media(max-width:800px){.section-title>span,.about>span{font-size:14px}}

.footer-bottom{align-items:center}

/* FAQ */
.play.faq{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(480px,1.2fr);gap:8vw;margin-bottom:140px;padding:48px 35px;background:var(--acid)}.faq-intro{display:flex;min-height:430px;flex-direction:column}.faq-intro>span{font-size:16.8px;text-transform:uppercase}.faq-intro h2{margin:55px 0 0;font:400 clamp(33.66px,4.59vw,68.85px)/1 "Italiana",Georgia,serif;letter-spacing:-.04em}.faq-intro h2 i{font-family:Georgia,"Times New Roman",serif;font-weight:400}.faq-intro p{max-width:390px;margin:auto 0 0;font-size:17px;line-height:1.45}.faq-list{border-top:1px solid #080808}.faq-list details{border-bottom:1px solid #080808}.faq-list summary{position:relative;display:grid;grid-template-columns:48px 1fr auto;gap:16px;align-items:center;min-height:78px;padding:18px 4px;cursor:pointer;font-size:19px;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span{font-size:12px}.faq-list summary::after{content:"+";font-size:25px;font-weight:300;transition:transform .35s cubic-bezier(.22,1,.36,1)}.faq-list details[open] summary::after{transform:rotate(45deg)}.faq-list details>p{max-width:650px;padding:0 46px 26px 68px;font-size:15px;line-height:1.55;color:#3f3f3f}
@media(max-width:800px){.play.faq{grid-template-columns:1fr;gap:65px;margin:0 16px 80px;padding:28px 20px}.faq-intro{min-height:300px}.faq-intro>span{font-size:14px}.faq-intro h2{margin-top:42px;font-size:33.66px}.faq-intro p{margin-top:auto;font-size:15px}.faq-list summary{grid-template-columns:30px 1fr auto;gap:10px;min-height:70px;font-size:16px}.faq-list details>p{padding:0 30px 24px 40px;font-size:14px}}
.faq-list details>p{overflow:hidden}
.faq-contact{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.faq-list details[open]>p{animation:faq-answer-in .42s cubic-bezier(.22,1,.36,1) both;will-change:transform,opacity,clip-path}@keyframes faq-answer-in{from{opacity:0;transform:translate3d(0,-8px,0);clip-path:inset(0 0 100% 0)}to{opacity:1;transform:none;clip-path:inset(0)}}
@media(prefers-reduced-motion:reduce){.faq-list details[open]>p{animation:none}}
.service-row{transition:transform .55s cubic-bezier(.22,1,.36,1);will-change:transform}.service-row:hover{transform:translate3d(16px,0,0)}
@media(max-width:800px){.faq-contact{align-items:center}.service-row{will-change:auto}.service-row:hover{transform:none}}

/* Lightweight FAQ accordion */
.faq-list{overflow-anchor:none}.faq-item{border-bottom:1px solid #080808}.faq-question{position:relative;display:grid;width:100%;grid-template-columns:48px 1fr auto;gap:16px;align-items:center;min-height:78px;padding:18px 4px;border:0;background:none;color:inherit;text-align:left;cursor:pointer;font:400 19px/normal "DM Sans",Arial,sans-serif}.faq-question>span{font-size:12px}.faq-question::after{content:"+";font-size:25px;font-weight:300;transition:transform .42s cubic-bezier(.22,1,.36,1)}.faq-item.is-open .faq-question::after{transform:rotate(45deg)}.faq-answer{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .46s cubic-bezier(.22,1,.36,1),opacity .28s ease}.faq-answer>div{min-height:0;overflow:hidden}.faq-answer p{max-width:650px;margin:15px 0;padding:0 46px 26px 68px;color:#3f3f3f;font-size:15px;line-height:1.55}.faq-item.is-open .faq-answer{grid-template-rows:1fr;opacity:1}
.faq-question{transition:transform .55s cubic-bezier(.22,1,.36,1);will-change:transform}.faq-question:hover{transform:translate3d(16px,0,0)}
@media(max-width:800px){.faq-question{grid-template-columns:30px 1fr auto;gap:10px;min-height:70px;font-size:16px}.faq-answer p{padding:0 30px 24px 40px;font-size:14px}}
@media(max-width:800px){.faq-question{will-change:auto}.faq-question:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.faq-answer,.faq-question::after{transition:none}}

/* Footer contact hero */
footer>.footer-hero{display:flex;align-items:flex-end;justify-content:space-between;padding:0;border:0;text-transform:none}.footer-hero>p{margin:0;font:400 clamp(60px,8.7vw,140px)/.88 "Italiana",Georgia,serif;letter-spacing:-.035em}.footer-hero>p i{color:var(--acid);font-family:Georgia,"Times New Roman",serif;font-weight:400}.footer-hero__contacts{display:flex;align-items:center;gap:18px;padding:0 10px 12px 0;border:0}.footer-contact-icon{display:grid;width:112px;height:112px;place-items:center;border:1px solid rgba(255,255,255,.55);border-radius:50%;transition:background .3s,transform .45s cubic-bezier(.22,1,.36,1)}.footer-contact-icon img{display:block;width:52px;height:48px;object-fit:contain}.footer-contact-icon--whatsapp img{filter:grayscale(1) brightness(0) invert(1)}.footer-contact-icon:hover{background:rgba(255,255,255,.1);transform:translateY(-8px)}
@media(max-width:800px){footer>.footer-hero{align-items:flex-end;gap:18px}.footer-hero>p{font-size:49px}.footer-hero__contacts{gap:8px;padding:0}.footer-contact-icon{width:58px;height:58px}.footer-contact-icon img{width:27px;height:25px}}

/* Big footer-hero contact icons keep their own larger fly-through offset */
.footer-contact-icon--telegram{position:relative;overflow:hidden}.footer-contact-icon--telegram img{position:absolute;left:50%;top:50%;transition:transform .55s cubic-bezier(.22,1,.36,1)}.footer-contact-icon--telegram img:first-child{transform:translate3d(-50%,-50%,0)}.footer-contact-icon--telegram .telegram-icon-copy{transform:translate3d(calc(-50% - 120px),calc(-50% + 120px),0)}.footer-contact-icon--telegram:hover img:first-child{transform:translate3d(calc(-50% + 120px),calc(-50% - 120px),0)}.footer-contact-icon--telegram:hover .telegram-icon-copy{transform:translate3d(-50%,-50%,0)}
@media(max-width:800px){.footer-contact-icon--telegram .telegram-icon-copy{transform:translate3d(calc(-50% - 65px),calc(-50% + 65px),0)}.footer-contact-icon--telegram:hover img:first-child{transform:translate3d(calc(-50% + 65px),calc(-50% - 65px),0)}}

.faq-question::after,.faq-item.is-open .faq-question::after{transition:none;transform:none}

.home-progress{position:fixed;left:0;top:0;z-index:1000;width:100%;height:3px;background:var(--acid);transform:scaleX(0);transform-origin:left center;pointer-events:none}.home-motion .eyebrow,.home-motion .hero h1,.home-motion .hero-bottom{opacity:0;transform:translateY(30px);animation:home-enter .85s cubic-bezier(.22,1,.36,1) forwards}.home-motion .hero h1{animation-delay:.08s}.home-motion .hero-bottom{animation-delay:.2s}.home-motion .home-reveal{opacity:0;transform:translateY(55px);transition:opacity .85s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1)}.home-motion .home-reveal.is-visible{opacity:1;transform:none}.home-motion .project{opacity:0;transform:translateY(30px);transition:opacity .65s ease,transform .8s cubic-bezier(.22,1,.36,1)}.home-motion .work.is-visible .project{opacity:1;transform:none}.home-motion .work.is-visible .project:nth-child(2){transition-delay:.08s}.home-motion .work.is-visible .project:nth-child(3){transition-delay:.16s}.home-motion .work.is-visible .project:nth-child(4){transition-delay:.24s}.home-motion .work.is-visible .project:nth-child(5){transition-delay:.32s}.home-motion .work.is-visible .project:nth-child(6){transition-delay:.4s}.home-motion-word{opacity:.16;transition:opacity .12s linear;will-change:opacity}@keyframes home-enter{to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.home-progress{display:none}.home-motion *{animation:none!important;transition:none!important;opacity:1!important;transform:none!important}}

/* Hero heading word reveal */
.home-motion .hero h1.hero-word-reveal{opacity:1;transform:none;animation:none}
.hero-word{display:inline-block;opacity:0;transform:translate3d(0,.35em,0);animation:hero-word-in 1.05s cubic-bezier(.16,1,.3,1) forwards;animation-delay:calc(100ms + var(--word-index) * 105ms);will-change:transform,opacity}
.hero-word.hero-word-settled{will-change:auto}
@keyframes hero-word-in{to{opacity:1;transform:translate3d(0,0,0)}}
@media(prefers-reduced-motion:reduce){.hero-word{opacity:1;transform:none;animation:none;will-change:auto}}

html.lenis{height:auto}.lenis.lenis-smooth{scroll-behavior:auto}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}

body{padding-top:68px}.nav{position:fixed;inset:0 0 auto;z-index:1100;width:100%;transition:transform .42s cubic-bezier(.22,1,.36,1);will-change:transform}.nav.header-hidden{transform:translate3d(0,-105%,0)}
@media(max-width:800px){body{padding-top:58px}}

/* Cases grid stays static for smoother scrolling */
.home-motion .work,.home-motion .work .project{opacity:1;transform:none;transition:none}

/* FAQ hover moves text only; plus animates only on click */
.faq-question,.faq-question:hover{transform:none}.faq-question__text{font-size:19px}.faq-question>span:first-child,.faq-question__text{transition:transform .55s cubic-bezier(.22,1,.36,1)}.faq-question:hover>span:first-child,.faq-question:hover>.faq-question__text{transform:translate3d(16px,0,0)}.faq-question::after{transition:transform .38s cubic-bezier(.22,1,.36,1);transform:rotate(0)}.faq-item.is-open .faq-question::after{transform:rotate(45deg)}
@media(max-width:800px){.faq-question__text{font-size:16px}.faq-question:hover>span:first-child,.faq-question:hover>.faq-question__text{transform:none}}

/* Isolated and precisely centered FAQ contact icons */
.faq-contact__links{display:flex;height:44px;align-items:center;gap:10px}.faq-social{position:relative;display:grid;flex:0 0 44px;width:44px;height:44px;margin:0;padding:0;overflow:hidden;place-items:center}.faq-social--telegram img{position:absolute;left:50%;top:50%;display:block;width:22px;height:18px;object-fit:contain;filter:invert(1);transition:transform .52s cubic-bezier(.22,1,.36,1)}.faq-social--telegram img:first-child{transform:translate3d(-50%,-50%,0)}.faq-social--telegram .telegram-icon-copy{transform:translate3d(calc(-50% - 44px),calc(-50% + 44px),0)}.faq-social--telegram:hover img:first-child{transform:translate3d(calc(-50% + 46px),calc(-50% - 46px),0)}.faq-social--telegram:hover .telegram-icon-copy{transform:translate3d(-50%,-50%,0)}.faq-social--whatsapp img{display:block;width:22px;height:22px;object-fit:contain;filter:grayscale(1) brightness(0)}
.faq-question>.faq-question__text{font-size:19px}
@media(max-width:800px){.faq-question>.faq-question__text{font-size:16px}}
.faq-answer p{transition:transform .55s cubic-bezier(.22,1,.36,1)}.faq-item:hover .faq-answer p{transform:translate3d(16px,0,0)}
@media(max-width:800px){.faq-item:hover .faq-answer p{transform:none}}
html.loader-pending body>*{visibility:hidden}
footer>span{font-size:16.8px}
@media(max-width:800px){footer>span{font-size:14px}}
.footer-legal{width:480px;max-width:480px;flex:0 0 480px}
@media(max-width:800px){.footer-legal{width:auto;max-width:none;flex:auto}}
.footer-bottom{position:relative}.footer-bottom .footer-nav{position:absolute;left:50%;margin:0;transform:translateX(-50%)}
@media(max-width:800px){.footer-bottom .footer-nav{position:static;transform:none}}

/* Portrait ring: spinning caps text along the inner edge of the photo circle */
.portrait-logo{position:absolute;left:50%;top:75%;width:13.5%;height:auto;transform:translate(-50%,-50%);filter:brightness(0) invert(1);pointer-events:none;perspective:300px;animation:portrait-logo-flip 5s ease-in-out infinite}
@keyframes portrait-logo-flip{0%,84%{transform:translate(-50%,-50%) rotateY(0deg)}100%{transform:translate(-50%,-50%) rotateY(360deg)}}
.portrait-ring{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;animation:portrait-ring-spin 36s linear infinite}
.portrait-ring__text{font:400 11.7px/1 "DM Sans",Arial,sans-serif;letter-spacing:1px;text-transform:uppercase;fill:#fff;paint-order:stroke;stroke:#fff;stroke-width:1px;stroke-linejoin:round}
@keyframes portrait-ring-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.portrait-ring{animation:none}.portrait-logo{animation:none}}
