@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Manrope:wght@300;400;500;600&display=swap');

:root{--ink:#0b0c0c;--paper:#f2f0e9;--acid:#d7ff5f;--line:rgba(11,12,12,.18);--muted:#64665f;--pad:clamp(1.25rem,4vw,4.5rem);--display:'Manrope',Arial,sans-serif;--body:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:7rem}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.5;overflow-x:hidden}
body.intro-active{overflow:hidden}
body.site-ready{overflow-x:hidden}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
img{display:block;max-width:100%}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.honey{position:absolute!important;left:-9999px!important}
.eyebrow{font-size:.72rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;display:inline-flex;align-items:center;gap:.65rem}
.eyebrow:before{content:"";width:1.7rem;height:1px;background:currentColor}
.section-pad{padding:clamp(5rem,11vw,10rem) var(--pad)}
.section-grid{display:grid;grid-template-columns:minmax(9rem,1fr) minmax(0,4.25fr) minmax(9rem,1.1fr);gap:clamp(1rem,3vw,3rem)}

.intro{position:fixed;inset:0;z-index:1000;background:var(--ink);color:#fff;display:grid;place-items:center;transition:clip-path 1s cubic-bezier(.76,0,.24,1),visibility 1s;clip-path:inset(0 0 0 0)}
.intro--done{clip-path:inset(0 0 100% 0);visibility:hidden}
.intro-skip{position:absolute;right:2rem;top:1.5rem;border:0;background:none;color:#fff;font-size:.7rem;text-transform:uppercase;letter-spacing:.16em;cursor:pointer;opacity:.7}
.intro-wordmark{position:absolute;bottom:2.2rem;left:var(--pad);font-size:.75rem;letter-spacing:.18em;text-transform:uppercase}
.intro-counter{position:absolute;bottom:1.8rem;right:var(--pad);font:300 clamp(2rem,5vw,4.5rem)/1 var(--display);margin:0;font-variant-numeric:tabular-nums}
.intro-orbit{position:absolute;width:min(58vw,35rem);aspect-ratio:1;border:1px solid rgba(255,255,255,.13);border-radius:50%;animation:orbitPulse 2s ease-in-out infinite}
.butterfly{position:relative;width:8rem;height:7rem;transform-style:preserve-3d}
.wing{position:absolute;top:.6rem;width:4.2rem;height:5rem;background:var(--acid);display:block;transform-origin:100% 55%;border-radius:78% 22% 70% 30% / 62% 35% 65% 38%;box-shadow:inset -12px -12px 25px rgba(11,12,12,.2);animation:wingLeft .65s ease-in-out infinite alternate}
.wing:after{content:"";position:absolute;inset:.8rem;border:1px solid rgba(11,12,12,.35);border-radius:inherit}
.wing--left{right:50%;transform:rotate(-18deg) rotateY(15deg)}
.wing--right{left:50%;transform-origin:0 55%;transform:scaleX(-1) rotate(-18deg) rotateY(15deg);animation-name:wingRight}
.butterfly-body{position:absolute;z-index:2;left:calc(50% - .16rem);top:1.5rem;width:.32rem;height:4rem;background:var(--ink);border-radius:50%}
.butterfly-body:before,.butterfly-body:after{content:"";position:absolute;width:1.8rem;height:1.8rem;top:-1.1rem;border-top:1px solid currentColor;border-radius:50%}
.butterfly-body:before{right:.05rem;transform:rotate(-25deg)}.butterfly-body:after{left:.05rem;transform:scaleX(-1) rotate(-25deg)}
.butterfly--intro{width:12rem;height:10rem;animation:butterflyFloat 2s ease-in-out infinite}.butterfly--intro .wing{width:6rem;height:7.3rem}.butterfly--intro .butterfly-body{background:#fff;height:5.4rem;top:1.8rem}.butterfly--intro .butterfly-body:before,.butterfly--intro .butterfly-body:after{color:#fff}
@keyframes wingLeft{to{transform:rotate(-8deg) rotateY(42deg)}}@keyframes wingRight{to{transform:scaleX(-1) rotate(-8deg) rotateY(42deg)}}
@keyframes butterflyFloat{50%{transform:translateY(-1.2rem) rotate(3deg)}}@keyframes orbitPulse{50%{transform:scale(1.08);opacity:.55}}

.cursor-dot{position:fixed;top:-8px;left:-8px;z-index:900;width:16px;height:16px;border-radius:50%;background:var(--acid);pointer-events:none;mix-blend-mode:difference;transition:width .2s,height .2s,margin .2s,opacity .2s;display:none;opacity:0}.cursor-dot.cursor-dot--ready{opacity:1}
@media(pointer:fine){.cursor-dot{display:block}.cursor-dot--active{width:48px;height:48px;margin:-16px}}
.site-header{height:6.5rem;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;gap:2rem;position:relative;z-index:100;border-bottom:1px solid var(--line);background:rgba(242,240,233,.9);backdrop-filter:blur(14px)}
.brand{display:inline-flex;align-items:center;gap:.75rem;line-height:1}.brand-type{display:flex;flex-direction:column}.brand-type strong{font:600 1.02rem/1 var(--display);letter-spacing:-.04em}.brand-type em{font:500 .54rem/1.4 var(--body);font-style:normal;text-transform:uppercase;letter-spacing:.19em;color:var(--muted)}.logo-butterfly{position:relative;width:2.15rem;height:2rem;display:inline-block;flex:0 0 auto}.logo-butterfly i{position:absolute;top:.15rem;width:1rem;height:1.28rem;background:var(--acid);border-radius:85% 15% 72% 28%;transform-origin:100% 75%;transform:rotate(-24deg)}.logo-butterfly i:first-child{right:50%}.logo-butterfly i:nth-child(2){left:50%;transform:scaleX(-1) rotate(-24deg)}.logo-butterfly b{position:absolute;left:calc(50% - 1px);top:.55rem;width:2px;height:1.15rem;background:currentColor;border-radius:2px}.home-body .site-header{background:var(--ink);color:#fff;border-color:rgba(255,255,255,.15)}.home-body .brand-type em{color:#8f918b}.home-body .language-switcher a{color:#9a9c96}.home-body .language-switcher a.active{background:var(--acid);color:var(--ink)}.home-body .header-actions .button{background:var(--acid);border-color:var(--acid);color:var(--ink)}.home-body .menu-toggle{border-color:#fff}.home-body .menu-toggle span:not(.sr-only){background:#fff}
.desktop-nav{display:flex;gap:clamp(1.5rem,3vw,3rem);font-size:.77rem;text-transform:uppercase;letter-spacing:.08em}.desktop-nav a{position:relative}.desktop-nav a:after{content:"";position:absolute;bottom:-.35rem;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .25s}.desktop-nav a:hover:after{transform:scaleX(1);transform-origin:left}
.header-actions{display:flex;align-items:center;gap:1.25rem}.language-switcher{display:flex;gap:.35rem}.language-switcher a{display:grid;place-items:center;width:1.7rem;height:1.7rem;border-radius:50%;font-size:.61rem;font-weight:600;color:var(--muted)}.language-switcher a.active{background:var(--ink);color:#fff}
.button{display:inline-flex;align-items:center;justify-content:center;gap:2rem;min-height:3.4rem;padding:.7rem 1.5rem;border:1px solid var(--ink);background:var(--ink);color:#fff;border-radius:999px;font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;cursor:pointer;transition:background .25s,color .25s,transform .25s}.button:hover{background:var(--acid);color:var(--ink);transform:translateY(-2px)}.button--small{min-height:2.75rem;padding:.6rem 1.15rem}.button--light{background:var(--acid);color:var(--ink);border-color:var(--acid);justify-content:space-between;width:100%;max-width:21rem}.button--light:hover{background:#fff;border-color:#fff}
.menu-toggle{display:none;width:2.8rem;height:2.8rem;border:1px solid var(--ink);border-radius:50%;background:none;padding:.75rem;cursor:pointer}.menu-toggle span:not(.sr-only){display:block;height:1px;background:var(--ink);margin:4px 0;transition:.3s}
.mobile-menu{position:fixed;inset:0;z-index:90;background:var(--acid);padding:9rem var(--pad) 3rem;display:flex;flex-direction:column;justify-content:space-between;transform:translateY(-100%);transition:transform .65s cubic-bezier(.76,0,.24,1)}.menu-open .mobile-menu{transform:translateY(0)}.mobile-menu nav{display:flex;flex-direction:column}.mobile-menu nav a{font:400 clamp(2.5rem,10vw,5rem)/1.15 var(--display);border-bottom:1px solid rgba(0,0,0,.2);padding:.65rem 0}.mobile-menu nav span{font:500 .7rem var(--body);margin-inline-end:1.5rem}.mobile-menu-footer{font-size:.8rem}

.hero{position:relative;min-height:calc(100svh - 6.5rem);padding:clamp(4rem,8vw,8rem) var(--pad) 3rem;overflow:hidden;align-items:start;background:var(--ink);color:#fff}.hero-main{position:relative;z-index:2}.hero-title{font:300 clamp(3rem,7.8vw,8rem)/.94 var(--display);letter-spacing:-.065em;margin:0;max-width:14ch}.hero-title br{display:none}.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:3rem;margin-top:clamp(2rem,6vw,5rem);max-width:55rem}.hero-bottom p{max-width:35rem;margin:0;font-size:clamp(1rem,1.5vw,1.28rem);color:#a9aba5}.circle-link{flex:0 0 auto;width:4.8rem;height:4.8rem;display:grid;place-items:center;border:1px solid rgba(255,255,255,.55);border-radius:50%;font-size:1.5rem;transition:.3s}.circle-link:hover{transform:rotate(45deg);background:var(--acid);border-color:var(--acid);color:var(--ink)}
.hero-art{position:absolute;right:-2vw;top:10%;width:28vw;min-width:20rem;aspect-ratio:1;display:grid;place-items:center;z-index:1}.hero-ring{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(215,255,95,.62),rgba(215,255,95,.1) 42%,transparent 69%);border:1px solid rgba(255,255,255,.14)}.hero-ring:before,.hero-ring:after{content:"";position:absolute;inset:12%;border:1px dashed rgba(255,255,255,.22);border-radius:50%}.hero-ring:after{inset:31%;background:rgba(255,255,255,.12);border-style:solid}.butterfly--hero{z-index:2;transform:rotate(-12deg) scale(.75)}.hero-note{position:absolute;bottom:-1.4rem;right:22%;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;max-width:12rem;color:#a9aba5}.scroll-cue{position:absolute;left:var(--pad);bottom:2rem;display:flex;align-items:center;gap:.7rem;font-size:.58rem;letter-spacing:.18em;transform:rotate(-90deg);transform-origin:left bottom;color:#a9aba5}.scroll-cue span{width:2.5rem;height:1px;background:#a9aba5}
html[dir=rtl] .hero-art{right:auto;left:-2vw}html[dir=rtl] .scroll-cue{left:auto;right:var(--pad);transform:rotate(90deg);transform-origin:right bottom}

.services{background:#f7f6f0;color:var(--ink)}.section-heading{align-items:start;margin-bottom:clamp(3rem,7vw,6rem)}.section-heading h2{font:300 clamp(2.3rem,5vw,5rem)/1.08 var(--display);letter-spacing:-.05em;margin:0;max-width:15ch}.section-count{justify-self:end;color:#90918c;font-size:.75rem}
.service-list{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:minmax(3rem,1fr) minmax(14rem,2.2fr) minmax(15rem,2fr) auto;align-items:center;gap:2rem;padding:2.4rem 0;border-bottom:1px solid var(--line);transition:padding .3s,background .3s}.service-row:hover{padding-inline:1.2rem;background:rgba(11,12,12,.035)}.service-number{font-size:.65rem;color:#8b8c87}.service-row h3{font:400 clamp(1.4rem,2.4vw,2.35rem)/1.1 var(--display);margin:0}.service-row p{color:#686a64;max-width:34rem;margin:0;font-size:.92rem}.service-arrow{width:3rem;height:3rem;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;transition:.3s}.service-row:hover .service-arrow{background:var(--ink);color:var(--acid);border-color:var(--ink);transform:rotate(45deg)}

.work .section-heading{border-bottom:1px solid var(--line);padding-bottom:3rem}.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2.5rem,6vw,6rem) clamp(1.5rem,3vw,3rem)}.project-card--wide{grid-column:span 2}.project-visual{position:relative;aspect-ratio:1.1;background:var(--accent);overflow:hidden}.project-card--wide .project-visual{aspect-ratio:2.05}.project-visual img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.65,.3,1)}.project-card:hover img{transform:scale(1.035)}.project-view{position:absolute;top:1rem;right:1rem;width:6rem;height:6rem;background:var(--paper);border-radius:50%;display:grid;place-items:center;text-align:center;font-size:.61rem;text-transform:uppercase;letter-spacing:.06em;transform:scale(0);transition:.35s;z-index:3}.project-card:hover .project-view{transform:scale(1)}
.project-mockup{position:absolute;inset:8%;background:#f7f5ee;border-radius:.25rem;padding:5%;box-shadow:0 2rem 5rem rgba(0,0,0,.2);transform:rotate(-2deg);transition:.6s}.project-card:hover .project-mockup{transform:rotate(0) scale(1.025)}.project-mockup .mock-nav{display:block;width:100%;height:.5rem;border-top:1px solid #555;border-bottom:1px solid #ddd;margin-bottom:13%}.project-mockup strong{display:block;font:500 clamp(1.5rem,5vw,5.5rem)/.95 var(--display);letter-spacing:-.07em;max-width:8ch}.project-mockup i{display:block;width:48%;height:1px;background:#999;margin-top:1rem}.project-mockup i:last-child{width:29%}.project-mockup--2{background:#101b33;color:white;transform:rotate(2deg);inset:10% 7%}.project-mockup--2 .mock-nav{border-color:#fff}.project-mockup--3{background:#fff5ed;transform:rotate(-3deg);inset:7% 10%}.project-meta{display:grid;grid-template-columns:1fr auto auto;gap:1rem;align-items:end;padding-top:1.2rem;border-top:1px solid var(--line);margin-top:.8rem}.project-meta h3{font:400 clamp(1.4rem,2.1vw,2rem) var(--display);margin:0}.project-meta span,.project-meta em{font-size:.7rem;color:var(--muted);font-style:normal}.project-meta em{margin-inline-start:2rem}

.about{position:relative;background:#d8ff61;min-height:90vh;overflow:hidden}.about-content{position:relative;z-index:2}.about-content h2{font:300 clamp(2.8rem,6.4vw,6.5rem)/1.02 var(--display);letter-spacing:-.065em;margin:0;max-width:13ch}.about-copy{font-size:clamp(1.05rem,1.55vw,1.35rem);max-width:48rem;margin:4rem 0 0 28%;line-height:1.65}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:6rem;border-top:1px solid rgba(0,0,0,.25);padding-top:2rem}.stats div{display:flex;flex-direction:column}.stats strong{font:300 clamp(2.8rem,5vw,5rem)/1 var(--display);letter-spacing:-.06em}.stats span{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;margin-top:.75rem}.about-orb{position:absolute;right:-10vw;bottom:-25vw;width:58vw;aspect-ratio:1;border:1px solid rgba(0,0,0,.18);border-radius:50%}.about-orb:before,.about-orb:after{content:"";position:absolute;border:1px solid rgba(0,0,0,.15);border-radius:50%;inset:12%}.about-orb:after{inset:28%}.about-orb span{position:absolute;inset:42%;background:var(--ink);border-radius:50%}

.contact{background:var(--ink);color:#fff}.contact-heading{text-align:center;max-width:70rem;margin:0 auto clamp(4rem,9vw,8rem)}.contact-heading .eyebrow{color:var(--acid)}.contact-heading h2{font:300 clamp(3rem,7vw,7.5rem)/.98 var(--display);letter-spacing:-.065em;margin:1.2rem auto 1.8rem;max-width:12ch}.contact-heading p{color:#aaa;max-width:35rem;margin:auto}.contact-grid{display:grid;grid-template-columns:1fr 1.7fr;gap:clamp(3rem,8vw,9rem);border-top:1px solid rgba(255,255,255,.18);padding-top:4rem}.contact-details{display:flex;flex-direction:column;align-items:flex-start;gap:.8rem}.contact-details>a{font:400 clamp(1.15rem,2vw,1.7rem) var(--display);border-bottom:1px solid rgba(255,255,255,.3)}.contact-details p{color:#aaa;margin:1.5rem 0}.socials{display:flex;gap:1rem;flex-wrap:wrap}.socials a{font-size:.67rem;text-transform:uppercase;letter-spacing:.07em}.contact-form{display:flex;flex-direction:column;gap:2rem}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.contact-form label{display:flex;flex-direction:column;gap:.55rem}.contact-form label span{font-size:.62rem;text-transform:uppercase;letter-spacing:.09em;color:#aaa}.contact-form input,.contact-form textarea{width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.3);color:#fff;background:transparent;padding:.6rem 0;outline:0;resize:vertical;border-radius:0}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--acid)}.form-notice{padding:1rem;border:1px solid}.form-notice--success{border-color:var(--acid);color:var(--acid)}.form-notice--error{border-color:#ff8292;color:#ff8292}
.site-footer{background:var(--ink);color:#fff;border-top:1px solid rgba(255,255,255,.18);padding:2.5rem var(--pad);display:flex;align-items:center;justify-content:space-between;gap:2rem;font-size:.65rem}.brand--footer .brand-type strong{font-size:1.25rem}.site-footer>p{color:#888}.footer-pages{display:flex;align-items:center;gap:1.5rem;color:#888}.footer-pages a{color:#fff}

.legal-page{min-height:75vh;padding:clamp(5rem,10vw,9rem) var(--pad);display:grid;grid-template-columns:1fr 4fr 1fr;gap:2rem}.legal-page h1{grid-column:2;font:300 clamp(3rem,7vw,7rem)/1 var(--display);letter-spacing:-.06em;margin:0 0 4rem}.page-content{grid-column:2;max-width:55rem;font-size:1.12rem;line-height:1.85;white-space:pre-line}
.reveal{opacity:0;transform:translateY(2rem);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1)}.reveal.is-visible{opacity:1;transform:none}.intro-active .hero-title{opacity:0;transform:translateY(2rem)}.site-ready .hero-title{animation:titleIn .9s .2s both cubic-bezier(.2,.7,.2,1)}@keyframes titleIn{to{opacity:1;transform:none}}

html[dir=rtl] body{font-family:Tahoma,Arial,sans-serif}html[dir=rtl] .hero-title,html[dir=rtl] h2,html[dir=rtl] h3{letter-spacing:-.025em}html[dir=rtl] .project-view{right:auto;left:1rem}html[dir=rtl] .about-orb{right:auto;left:-10vw}
@media(max-width:1050px){.section-grid{grid-template-columns:1fr 4fr}.section-grid>*:nth-child(3){display:none}.hero{grid-template-columns:1fr}.hero-side{margin-bottom:1.5rem}.hero-art{opacity:.7;right:-10vw;top:25%;width:40vw}.hero-main{grid-column:1}.scroll-cue{display:none}.about-copy{margin-left:0;margin-inline-start:12%}.contact-grid{grid-template-columns:1fr 1.4fr}.desktop-nav{display:none}.menu-toggle{display:block}.header-actions .button{display:none}}
@media(max-width:720px){:root{--pad:1.25rem}.site-header{height:5rem;position:sticky;top:0}.brand small{display:none}.language-switcher a{width:1.5rem;height:1.5rem}.menu-toggle{width:2.5rem;height:2.5rem}.hero{min-height:calc(100svh - 5rem);padding-top:3rem;display:block}.hero-title{font-size:clamp(2.9rem,14vw,5rem);max-width:12ch}.hero-bottom{display:block;margin-top:2rem}.hero-bottom p{max-width:82%;font-size:.96rem}.circle-link{width:4rem;height:4rem;margin-top:2.5rem}.hero-art{width:17rem;min-width:0;right:-7rem;top:auto;bottom:5rem;opacity:.55}.butterfly--hero{transform:scale(.55)}.hero-note{display:none}.section-grid{display:block}.section-heading .eyebrow{margin-bottom:1.5rem}.section-heading h2{font-size:clamp(2.2rem,10vw,3.5rem)}.service-row{grid-template-columns:2rem 1fr auto;gap:1rem;padding:1.7rem 0}.service-row p{grid-column:2/4;font-size:.83rem}.service-arrow{grid-column:3;grid-row:1;width:2.5rem;height:2.5rem}.projects-grid{grid-template-columns:1fr;gap:3.5rem}.project-card--wide{grid-column:auto}.project-card--wide .project-visual,.project-visual{aspect-ratio:1.1}.project-view{display:none}.project-meta{grid-template-columns:1fr auto}.project-meta span{grid-column:1}.project-meta em{grid-column:2;grid-row:1;margin:0}.about{min-height:0}.about-content h2{font-size:clamp(2.8rem,12vw,4.2rem)}.about-copy{margin:2.5rem 0 0;font-size:1rem}.stats{gap:.8rem;margin-top:4rem}.stats strong{font-size:2.5rem}.stats span{font-size:.55rem}.about-orb{width:95vw}.contact-heading{text-align:left}.contact-grid{grid-template-columns:1fr}.field-row{grid-template-columns:1fr;gap:2rem}.site-footer{align-items:flex-start;flex-direction:column}.footer-pages{align-items:flex-start;flex-direction:column;gap:.8rem}.legal-page{display:block}.legal-page h1{margin:2rem 0 3rem}.page-content{font-size:1rem}.cursor-dot{display:none!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* Papillon cursor: the pointer becomes the animated brand mark on precise pointers. */
.butterfly-cursor{position:fixed;left:0;top:0;z-index:1200;width:3.4rem;height:2.8rem;pointer-events:none;opacity:0;filter:drop-shadow(0 .35rem .55rem rgba(0,0,0,.28));transition:opacity .2s,width .25s,height .25s;will-change:transform}
.butterfly-cursor--ready{opacity:1}.butterfly-cursor .cursor-wing{position:absolute;top:.18rem;width:1.65rem;height:2rem;background:var(--acid);border:1px solid rgba(11,12,12,.3);border-radius:88% 12% 72% 28%;transform-origin:100% 70%;animation:cursorWingLeft .38s ease-in-out infinite alternate}.butterfly-cursor .cursor-wing--left{right:50%}.butterfly-cursor .cursor-wing--right{left:50%;transform-origin:0 70%;animation-name:cursorWingRight}.butterfly-cursor>b{position:absolute;z-index:2;left:calc(50% - 1.5px);top:.58rem;width:3px;height:1.65rem;background:#111;border-radius:3px}.butterfly-cursor>b:before,.butterfly-cursor>b:after{content:"";position:absolute;top:-.4rem;width:.65rem;height:.65rem;border-top:1px solid #111;border-radius:50%}.butterfly-cursor>b:before{right:1px;transform:rotate(-25deg)}.butterfly-cursor>b:after{left:1px;transform:scaleX(-1) rotate(-25deg)}.butterfly-cursor--active{width:4rem;height:3.2rem}.butterfly-cursor--pressed{filter:drop-shadow(0 .15rem .2rem rgba(0,0,0,.3));scale:.82}.has-butterfly-cursor,.has-butterfly-cursor a,.has-butterfly-cursor button,.has-butterfly-cursor input,.has-butterfly-cursor textarea,.has-butterfly-cursor label{cursor:none!important}
@keyframes cursorWingLeft{from{transform:rotate(-22deg) scaleX(1)}to{transform:rotate(-10deg) scaleX(.72)}}@keyframes cursorWingRight{from{transform:scaleX(-1) rotate(-22deg)}to{transform:scaleX(-.72) rotate(-10deg)}}
.language-leaving{opacity:.86;transition:opacity .2s}.language-switcher{background:rgba(255,255,255,.07);padding:.22rem;border-radius:999px;gap:.15rem}.language-switcher a{width:2rem;height:2rem;transition:background .2s,color .2s,transform .2s}.language-switcher a:hover{transform:translateY(-1px);color:#fff}

/* Full reference-inspired agency sections. */
.section-intro{max-width:42rem;color:var(--muted);font-size:1rem;line-height:1.75;margin:2rem 0 0}
.technology{background:var(--ink);color:#fff}.technology .section-intro{color:#969892}.technology-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.2);border-left:1px solid rgba(255,255,255,.2)}.technology-card{position:relative;min-height:13rem;padding:1.5rem;border-right:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2);display:flex;flex-direction:column;justify-content:flex-end;transition:background .3s,color .3s}.technology-card>span{position:absolute;top:1.2rem;left:1.2rem;color:#777;font-size:.58rem}.technology-card strong{font:400 clamp(1.25rem,2vw,2rem) var(--display)}.technology-card small{color:#898b85;font-size:.65rem;text-transform:uppercase;letter-spacing:.09em;margin-top:.4rem}.technology-card i{position:absolute;right:1.2rem;top:1.1rem;font-style:normal}.technology-card:hover{background:var(--acid);color:var(--ink)}.technology-card:hover small,.technology-card:hover>span{color:#4f523f}
.testimonials{background:#f7f6f0}.testimonial-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.testimonial-card{background:#fff;min-height:27rem;padding:clamp(1.5rem,3vw,2.5rem);display:flex;flex-direction:column}.testimonial-rating{color:#8daf22;letter-spacing:.18em;font-size:.75rem}.testimonial-card blockquote{font:400 clamp(1.4rem,2.2vw,2.15rem)/1.35 var(--display);letter-spacing:-.035em;margin:3rem 0;flex:1}.testimonial-card footer{display:grid;grid-template-columns:auto 1fr auto;gap:.8rem;align-items:center;padding-top:1.3rem;border-top:1px solid var(--line)}.testimonial-card footer>span{width:2.7rem;height:2.7rem;background:var(--acid);border-radius:50%;display:grid;place-items:center;font-size:.7rem}.testimonial-card footer div{display:flex;flex-direction:column}.testimonial-card footer strong{font-size:.75rem}.testimonial-card footer small,.testimonial-card footer em{font-size:.6rem;color:var(--muted);font-style:normal}.testimonial-card footer em{align-self:end}
html[dir=rtl] .technology-grid{border-left:0;border-right:1px solid rgba(255,255,255,.2)}html[dir=rtl] .technology-card>span{left:auto;right:1.2rem}html[dir=rtl] .technology-card i{right:auto;left:1.2rem}
@media(max-width:1050px){.desktop-nav{gap:1.15rem;font-size:.66rem}.technology-grid{grid-template-columns:repeat(2,1fr)}.testimonial-track{grid-template-columns:1fr 1fr}.testimonial-card:last-child{grid-column:1/-1}}
@media(max-width:720px){.language-switcher{margin-inline-start:auto}.language-switcher a{width:1.65rem;height:1.65rem}.technology-grid{grid-template-columns:1fr 1fr}.technology-card{min-height:10rem;padding:1rem}.testimonial-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:1rem}.testimonial-card{min-width:87vw;scroll-snap-align:start;min-height:24rem}.testimonial-card:last-child{grid-column:auto}.mobile-menu{padding-top:7.5rem}.mobile-menu nav a{font-size:clamp(2rem,9vw,3.2rem);padding:.42rem 0}}
@media(pointer:coarse),(prefers-reduced-motion:reduce){.butterfly-cursor{display:none!important}}
.butterfly-cursor .cursor-wing--right{border-radius:12% 88% 28% 72%}
@keyframes cursorWingRight{from{transform:rotate(22deg) scaleX(1)}to{transform:rotate(10deg) scaleX(.72)}}

/* Premium portfolio presentation */
.work{background:var(--paper)}
.work-heading{position:relative;min-height:clamp(25rem,42vw,39rem);background:var(--ink);color:#fff;padding:clamp(1.5rem,4vw,4rem);margin-bottom:clamp(3rem,6vw,6rem);overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}
.work-heading:before{content:"";position:absolute;width:42vw;aspect-ratio:1;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-13vw;bottom:-23vw}.work-heading:after{content:"";position:absolute;width:24vw;aspect-ratio:1;border:1px dashed rgba(215,255,95,.25);border-radius:50%;right:-3vw;bottom:-14vw}
.work-heading-top{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:2rem}.work-heading-label{font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:#898c85}
.work-heading-main{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3rem;align-items:end}.work-heading h2{font:300 clamp(3rem,6.3vw,6.7rem)/.98 var(--display);letter-spacing:-.065em;max-width:13ch;margin:0}.work-count{width:8.5rem;aspect-ratio:1;border-radius:50%;background:var(--acid);color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(7deg);box-shadow:0 0 0 1rem rgba(215,255,95,.07)}.work-count strong{font:300 2.9rem/1 var(--display);letter-spacing:-.06em}.work-count small{font-size:.5rem;text-transform:uppercase;letter-spacing:.1em;margin-top:.4rem;max-width:6rem;text-align:center}
.work-heading-mark{position:absolute;right:20%;top:18%;width:7rem;height:6rem;opacity:.2;transform:rotate(-14deg)}.work-heading-mark i{position:absolute;top:.5rem;width:3.5rem;height:4.5rem;background:var(--acid);border-radius:88% 12% 72% 28%}.work-heading-mark i:first-child{right:50%;transform:rotate(-18deg)}.work-heading-mark i:nth-child(2){left:50%;border-radius:12% 88% 28% 72%;transform:rotate(18deg)}.work-heading-mark b{position:absolute;left:calc(50% - 2px);top:1.3rem;width:4px;height:3.8rem;background:#fff;border-radius:3px}
.project-visual{border-radius:.8rem;box-shadow:0 1.2rem 3.5rem rgba(20,22,18,.08)}.project-mockup{overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;padding:4.5%;background:#fbfaf5;isolation:isolate}.project-mockup:before{content:"";position:absolute;z-index:-1;right:5%;bottom:7%;width:44%;height:58%;border-radius:.35rem;background:radial-gradient(circle at 65% 25%,var(--accent),transparent 30%),linear-gradient(145deg,#152215,#526044);box-shadow:0 1.5rem 3rem rgba(0,0,0,.18)}.project-mockup:after{content:"↗";position:absolute;right:7%;bottom:10%;width:2.6rem;height:2.6rem;border-radius:50%;background:var(--acid);display:grid;place-items:center;color:var(--ink);font:500 .9rem var(--body)}.project-mockup .mock-nav{height:1.5rem;border-top:1px solid #a8aaa4;border-bottom:1px solid #deded8;margin-bottom:9%;position:relative}.project-mockup .mock-nav:after{content:"PAPILLON / CASE STUDY";position:absolute;top:.22rem;left:0;font:500 .42rem var(--body);letter-spacing:.12em;color:#777}.project-mockup strong{position:relative;z-index:2;font-size:clamp(1.6rem,4.7vw,5.2rem);max-width:47%;margin:0 0 .8rem}.project-mockup .mock-category{font-size:.58rem;text-transform:uppercase;letter-spacing:.1em;color:#6e7169;max-width:40%}.project-mockup>i{width:31%;margin-top:.75rem}.project-mockup>i:last-child{width:20%;margin-top:.45rem}
.project-mockup--2:before{background:radial-gradient(circle at 30% 30%,#8eb8ff,transparent 24%),linear-gradient(145deg,#11182b,#3d4f75)}.project-mockup--3:before{background:radial-gradient(circle at 70% 30%,#ff8da1,transparent 28%),linear-gradient(145deg,#4e1922,#ca6b78)}.project-meta{padding:1.25rem .2rem 0;border-top:0}.project-meta h3{font-size:clamp(1.55rem,2.3vw,2.3rem)}.project-meta em{width:2.2rem;height:2.2rem;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center}
html[dir=rtl] .work-heading:before{right:auto;left:-13vw}html[dir=rtl] .work-heading:after{right:auto;left:-3vw}html[dir=rtl] .work-heading-mark{right:auto;left:20%}html[dir=rtl] .project-mockup:before{right:auto;left:5%}html[dir=rtl] .project-mockup:after{right:auto;left:7%}html[dir=rtl] .project-mockup .mock-nav:after{left:auto;right:0}
@media(max-width:720px){.work-heading{min-height:28rem;padding:1.5rem}.work-heading-main{display:flex;flex-direction:column;align-items:flex-start;gap:2rem}.work-heading h2{font-size:clamp(2.8rem,11vw,4rem)}.work-count{width:6rem;align-self:flex-end}.work-count strong{font-size:2.1rem}.work-heading-mark{right:-1rem;top:22%;transform:scale(.7) rotate(-14deg)}html[dir=rtl] .work-heading-mark{right:auto;left:-1rem}.project-visual,.project-card--wide .project-visual{aspect-ratio:1/.95}.project-mockup{inset:6%}.project-mockup strong{max-width:58%;font-size:2rem}.project-mockup:before{width:48%;height:48%}.project-mockup .mock-category{max-width:52%}}
.honey{position:fixed!important;inset:0 auto auto 0!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;opacity:0!important;pointer-events:none!important}
.mobile-menu{visibility:hidden;pointer-events:none;overflow:auto;transition:transform .65s cubic-bezier(.76,0,.24,1),visibility 0s .65s}.menu-open .mobile-menu{visibility:visible;pointer-events:auto;transition-delay:0s}

/* SaberWeb-inspired fixed navigation: same hierarchy, spacing and sticky behavior. */
.home-body .site-header{position:fixed;inset:0 0 auto 0;z-index:1000;height:7.75rem;padding:0 clamp(1.5rem,3.7vw,4.5rem);gap:clamp(1rem,2vw,2.3rem);background:#0b0c0c;border-bottom:1px solid rgba(255,255,255,.12);transition:height .35s ease,background .35s ease,box-shadow .35s ease,transform .35s ease}
.home-body .site-header.is-scrolled{height:5.5rem;background:rgba(11,12,12,.97);box-shadow:0 .8rem 2.5rem rgba(0,0,0,.22);backdrop-filter:blur(18px)}
.home-body main{padding-top:7.75rem}.home-body .hero{min-height:calc(100svh - 7.75rem)}
.home-body .brand{min-width:8.4rem;align-items:center}.home-body .brand-type strong{font-size:1.05rem;color:#fff}.home-body .brand-type em{font-size:.5rem;color:#8e9089}.home-body .logo-butterfly{width:2.35rem;height:2.05rem}
.home-body .desktop-nav{height:100%;flex:1;display:flex;align-items:center;justify-content:center;gap:clamp(1rem,1.7vw,2rem);font-size:clamp(.75rem,1vw,.96rem);font-weight:600;text-transform:none;letter-spacing:0}.home-body .desktop-nav a{height:100%;display:flex;align-items:center;white-space:nowrap;color:#fff;opacity:.9}.home-body .desktop-nav a:after{bottom:1.65rem;height:2px;background:var(--acid)}.home-body .desktop-nav a:hover,.home-body .desktop-nav a.active{opacity:1}.home-body .desktop-nav a.active:after{transform:scaleX(1)}.home-body .site-header.is-scrolled .desktop-nav a:after{bottom:1rem}
.header-phone{display:inline-flex;align-items:center;gap:.55rem;white-space:nowrap;color:#fff;font-size:.78rem;font-weight:600}.header-phone span{font-size:.5rem;color:var(--acid)}
.home-body .header-actions{gap:.9rem}.home-body .language-switcher{flex:0 0 auto;background:#20221f}.home-body .language-switcher a{width:1.75rem;height:1.75rem;font-size:.55rem}.home-body .header-actions .button{min-height:3.3rem;padding:.7rem 1.45rem;border-radius:.65rem;font-size:.67rem;white-space:nowrap;box-shadow:0 .45rem 1.5rem rgba(215,255,95,.12)}.home-body .site-header.is-scrolled .header-actions .button{min-height:2.8rem}
.home-body .mobile-menu{z-index:900;padding-top:9rem}.home-body .site-header.is-scrolled+.mobile-menu{padding-top:7rem}
@media(max-width:1350px){.home-body .site-header{padding-inline:1.5rem;gap:1rem}.home-body .desktop-nav{gap:1rem;font-size:.75rem}.header-phone{font-size:.7rem}.home-body .header-actions{gap:.55rem}.home-body .header-actions .button{padding-inline:1rem}.home-body .brand{min-width:7.4rem}.home-body .language-switcher a{width:1.55rem;height:1.55rem}}
@media(max-width:1150px){.header-phone{display:none}.home-body .desktop-nav{gap:1.15rem}.home-body .header-actions .button{display:inline-flex}}
@media(max-width:1050px){.home-body .site-header{height:5.5rem}.home-body main{padding-top:5.5rem}.home-body .hero{min-height:calc(100svh - 5.5rem)}.home-body .desktop-nav{display:none}.home-body .header-actions .button{display:none}.home-body .menu-toggle{display:block}}
@media(max-width:720px){.home-body .site-header,.home-body .site-header.is-scrolled{height:5rem;padding-inline:1.1rem}.home-body main{padding-top:5rem}.home-body .hero{min-height:calc(100svh - 5rem)}.home-body .brand{min-width:0}.home-body .logo-butterfly{width:2rem;height:1.8rem}.home-body .brand-type strong{font-size:.86rem}.home-body .language-switcher a{width:1.48rem;height:1.48rem}.home-body .header-actions{gap:.45rem}.home-body .mobile-menu,.home-body .site-header.is-scrolled+.mobile-menu{padding-top:6.5rem}}

/* SaberWeb-style portfolio accordion */
.work{background:#f7f8ff;color:#111}
.reference-work-heading{align-items:start;padding-bottom:clamp(2.5rem,5vw,4.5rem);margin-bottom:clamp(3rem,5vw,4.5rem);border-bottom:1px solid #d9dbe2}.reference-work-heading h2{font:500 clamp(2.5rem,4.2vw,4.5rem)/1.12 var(--display);letter-spacing:-.045em;max-width:18ch;margin:0}.reference-work-count{justify-self:end;color:#92959d;font-size:.7rem}
.reference-projects{width:100%}.reference-project-item{position:relative;border-bottom:1px solid #dfe1e8;transition:background .4s,border .4s,border-radius .4s,padding .4s}.reference-project-summary{width:100%;min-height:10.1rem;display:grid;grid-template-columns:minmax(8rem,10rem) minmax(0,1fr) 3rem;align-items:center;gap:clamp(1rem,3vw,3rem);padding:1.2rem .4rem;border:0;background:transparent;color:#111;text-align:inherit;cursor:pointer}.reference-project-category{justify-self:start;border:1px solid #9c9ea5;border-radius:.7rem;padding:.35rem .85rem;font-size:.68rem;color:#666971;white-space:nowrap}.reference-project-summary strong{font:500 clamp(3rem,6.2vw,6.8rem)/.95 var(--display);letter-spacing:-.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reference-project-arrow{justify-self:end;font:300 clamp(2rem,3vw,3.2rem)/1 var(--display);transition:transform .35s,color .35s}.reference-project-summary:hover .reference-project-arrow{transform:rotate(45deg);color:#93b91f}.reference-project-summary:hover strong{color:#373a36}
.reference-project-active{display:none;position:relative;grid-template-columns:minmax(20rem,38%) minmax(0,1fr) 3rem;gap:clamp(2rem,4vw,4rem);align-items:center;min-height:18.4rem}.reference-project-item.active{padding:1.9rem;border:1px solid #171817;border-radius:.75rem;background:#fff;margin-bottom:0}.reference-project-item.active .reference-project-summary{display:none}.reference-project-item.active .reference-project-active{display:grid;animation:projectAccordionIn .48s ease both}.reference-project-media{height:12rem;overflow:hidden;background:var(--accent)}.reference-project-media>img{width:100%;height:100%;object-fit:cover}.reference-project-placeholder{height:100%;padding:1.2rem;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:radial-gradient(circle at 72% 30%,var(--accent),transparent 24%),linear-gradient(145deg,#eef1eb,#cbd6c1);color:#111;position:relative;overflow:hidden}.reference-project-placeholder:after{content:"";position:absolute;right:-8%;bottom:-35%;width:58%;aspect-ratio:1;border:1px solid rgba(0,0,0,.18);border-radius:50%}.reference-project-placeholder--2{background:radial-gradient(circle at 28% 35%,#8eb8ff,transparent 25%),linear-gradient(145deg,#eff3ff,#bccbef)}.reference-project-placeholder--3{background:radial-gradient(circle at 72% 32%,#ff8da1,transparent 25%),linear-gradient(145deg,#fff0ed,#edc0c6)}.placeholder-nav{position:absolute;top:.8rem;left:1rem;font-size:.42rem;letter-spacing:.11em}.reference-project-placeholder strong{font:500 clamp(1.35rem,2.4vw,2.5rem)/1 var(--display);letter-spacing:-.045em;max-width:8ch}.reference-project-placeholder small{font-size:.55rem;text-transform:uppercase;letter-spacing:.08em;margin-top:.7rem}.reference-project-copy h3{font:500 clamp(2.8rem,5vw,5.4rem)/1 var(--display);letter-spacing:-.055em;margin:0 0 1.6rem}.reference-project-copy p{max-width:42rem;margin:0;color:#676a67;font-size:clamp(.9rem,1.25vw,1.08rem);line-height:1.7}.reference-project-open{align-self:start;justify-self:end;color:#d3aa18;font:300 3rem/1 var(--display);transition:transform .3s,color .3s}.reference-project-open:hover{transform:rotate(45deg);color:#789b13}
@keyframes projectAccordionIn{from{opacity:.35;transform:translateY(.7rem)}to{opacity:1;transform:none}}
html[dir=rtl] .placeholder-nav{left:auto;right:1rem}html[dir=rtl] .reference-project-placeholder:after{right:auto;left:-8%}
@media(max-width:900px){.reference-project-summary{grid-template-columns:7rem minmax(0,1fr) 2.5rem;min-height:8.5rem}.reference-project-summary strong{font-size:clamp(2.2rem,7vw,4.2rem)}.reference-project-active{grid-template-columns:42% minmax(0,1fr) 2.5rem;gap:1.5rem}.reference-project-item.active{padding:1.25rem}.reference-project-copy h3{font-size:clamp(2rem,5.5vw,3.5rem)}}
@media(max-width:620px){.reference-work-heading{display:block}.reference-work-heading .eyebrow{margin-bottom:1.4rem}.reference-work-heading h2{font-size:clamp(2.35rem,10vw,3.4rem)}.reference-work-count{display:block;margin-top:1.5rem}.reference-project-summary{grid-template-columns:1fr auto;min-height:7.5rem;gap:.7rem;padding-block:1rem}.reference-project-category{grid-column:1;font-size:.58rem}.reference-project-summary strong{grid-column:1;font-size:clamp(2.1rem,11vw,3.3rem);white-space:normal}.reference-project-arrow{grid-column:2;grid-row:1/3}.reference-project-item.active{padding:1rem}.reference-project-active{display:none;grid-template-columns:1fr;gap:1.25rem}.reference-project-item.active .reference-project-active{display:grid}.reference-project-media{height:12rem}.reference-project-copy h3{font-size:2.5rem;margin-bottom:.9rem}.reference-project-copy p{font-size:.87rem}.reference-project-open{position:absolute;top:.3rem;right:.3rem;width:2.8rem;height:2.8rem;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:1.6rem}html[dir=rtl] .reference-project-open{right:auto;left:.3rem}}

/* Official Papillon Digital butterfly asset: header, footer, intro, hero and cursor. */
.logo-butterfly{display:grid;place-items:center;overflow:visible}.logo-butterfly__image{display:block;width:165%;height:165%;max-width:none;object-fit:contain;pointer-events:none;user-select:none;animation:papillonLogoIdle 3.8s ease-in-out infinite;filter:drop-shadow(0 .18rem .22rem rgba(0,0,0,.16))}.brand:hover .logo-butterfly__image{animation-duration:.65s}
.papillon-art{position:relative;display:block;width:8rem;aspect-ratio:1;overflow:visible;filter:drop-shadow(0 .8rem 1.2rem rgba(0,0,0,.24));transform-style:preserve-3d}.papillon-art img{position:absolute;z-index:1;left:-32.5%;top:-32.5%;width:165%;height:165%;max-width:none;object-fit:contain;pointer-events:none;user-select:none;will-change:transform}.papillon-art__image{transform-origin:50% 52%;animation:papillonSingleFlutter .68s cubic-bezier(.45,.05,.55,.95) infinite alternate}
.papillon-art--intro{width:clamp(12rem,22vw,18rem);animation:papillonAssetFloat 2.6s ease-in-out infinite}.papillon-art--intro .papillon-art__image{animation-duration:.78s}.hero-butterfly-flight{position:relative;z-index:2;will-change:transform}.papillon-art--hero{width:clamp(11rem,14vw,16rem);animation:papillonAssetFloat 3.2s ease-in-out infinite}.papillon-art--hero .papillon-art__image{animation-duration:.9s}
.butterfly-cursor{width:4rem;height:4rem;transition:opacity .2s,width .2s,height .2s}.butterfly-cursor .papillon-art--cursor{width:100%;height:100%;filter:drop-shadow(0 .3rem .4rem rgba(0,0,0,.32))}.butterfly-cursor .papillon-art__image{animation-duration:.34s}.butterfly-cursor--active{width:4.6rem;height:4.6rem}.butterfly-cursor--active .papillon-art__image{animation-duration:.2s}.butterfly-cursor--pressed{scale:1;filter:drop-shadow(0 .15rem .2rem rgba(0,0,0,.3))}.butterfly-cursor--pressed .papillon-art__image{animation-duration:.12s}
.brand--footer .logo-butterfly{width:2.55rem;height:2.35rem}
@keyframes papillonSingleFlutter{from{transform:scaleX(1) scaleY(1)}to{transform:scaleX(.86) scaleY(1.025)}}@keyframes papillonAssetFloat{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-.8rem) rotate(2deg)}}@keyframes papillonLogoIdle{0%,86%,100%{transform:scaleX(1) translateY(0)}92%{transform:scaleX(.8) translateY(-.08rem)}96%{transform:scaleX(.94) translateY(0)}}
@media(max-width:720px){.papillon-art--hero{width:10rem}.butterfly-cursor{display:none!important}.brand--footer .logo-butterfly{width:2.2rem;height:2rem}}
@media(prefers-reduced-motion:reduce){.logo-butterfly__image,.papillon-art,.papillon-art__image{animation:none!important}}
@media(min-width:901px){.reference-work-heading h2{font-size:2.75rem;line-height:1.15}.reference-project-summary strong{font-size:clamp(4.8rem,7.8vw,7rem)}.reference-project-active{min-height:14.5rem}.reference-project-media{height:10.3rem}}

/* Logo uploaded from the multilingual control room. */
.brand-logo-custom{display:flex;align-items:center;min-width:0}.brand-logo-custom img{display:block;width:auto;height:auto;max-width:clamp(7rem,11vw,11rem);max-height:3.6rem;object-fit:contain}.brand--footer .brand-logo-custom img{max-width:12rem;max-height:4rem}.socials a[data-platform]{display:inline-flex;align-items:center;white-space:nowrap}
@media(max-width:720px){.brand-logo-custom img{max-width:6.8rem;max-height:2.75rem}.brand--footer .brand-logo-custom img{max-width:8.5rem;max-height:3.25rem}}

/* Responsive safety: keep the experience clean from small phones to large TVs. */
html{overflow-x:hidden;overflow-y:auto}
body,body.site-ready{overflow:visible;overflow-x:clip}
body.intro-active{overflow:hidden}
html.intro-active,html.menu-open,body.menu-open{overflow:hidden}

/* The animated mouse butterfly is desktop-only. Touch, remote and compact devices never render it. */
@media(max-width:1024px),(hover:none),(pointer:coarse){
  .butterfly-cursor{display:none!important;visibility:hidden!important;opacity:0!important;animation:none!important;transform:none!important}
  .has-butterfly-cursor,.has-butterfly-cursor a,.has-butterfly-cursor button,.has-butterfly-cursor input,.has-butterfly-cursor textarea,.has-butterfly-cursor label{cursor:auto!important}
}

/* Tablets: avoid stretched grid rows and remove the decorative flying artwork. */
@media(max-width:1050px){
  .hero{align-content:start;row-gap:1rem}
  .hero .hero-art{display:none!important}
}

/* Phones. */
@media(max-width:720px){
  :root{--pad:clamp(1rem,5vw,1.35rem)}
  .section-pad{padding-block:clamp(4.25rem,15vw,6rem)}
  .home-body .hero{min-height:calc(100svh - 5rem);padding:clamp(2.75rem,9vw,4rem) var(--pad) 3.5rem;overflow:hidden}
  .hero-side{margin-bottom:1.35rem}
  .hero .eyebrow{max-width:100%;gap:.5rem;font-size:clamp(.56rem,2.65vw,.68rem);letter-spacing:.09em;line-height:1.35}
  .hero .eyebrow:before{width:1.5rem;flex:0 0 1.5rem}
  .hero-title{max-width:100%;font-size:clamp(2.25rem,11.5vw,3.45rem);line-height:.98;letter-spacing:-.055em;overflow-wrap:normal;word-break:normal}
  html[dir=rtl] .hero-title{line-height:1.12;letter-spacing:-.015em}
  .hero-bottom{margin-top:1.75rem}
  .hero-bottom p{max-width:100%;font-size:clamp(.88rem,4vw,1rem);line-height:1.65}
  .circle-link{width:3.75rem;height:3.75rem;margin-top:2rem}
  .technology-grid{grid-template-columns:1fr}
  .technology-card{min-height:8.5rem}
  .stats{grid-template-columns:repeat(3,minmax(0,1fr))}
  .contact-details>a{max-width:100%;overflow-wrap:anywhere}
}

/* Very small phones. */
@media(max-width:380px){
  .home-body .site-header,.home-body .site-header.is-scrolled{padding-inline:.8rem;gap:.45rem}
  .home-body .brand{gap:.35rem}
  .home-body .logo-butterfly{width:1.7rem;height:1.55rem}
  .home-body .brand-type strong{font-size:.76rem}
  .home-body .brand-type em{font-size:.42rem;letter-spacing:.13em}
  .home-body .header-actions{gap:.3rem}
  .home-body .language-switcher{padding:.15rem;gap:.05rem}
  .home-body .language-switcher a{width:1.32rem;height:1.32rem;font-size:.48rem}
  .menu-toggle{width:2.35rem;height:2.35rem;padding:.62rem}
  .hero-title{font-size:clamp(2.15rem,11.4vw,2.75rem)}
  .stats{grid-template-columns:1fr;gap:1.5rem}
}

/* Short desktop/laptop screens: keep the first screen balanced without clipping text. */
@media(min-width:1051px) and (max-height:850px){
  .home-body .hero{padding-top:clamp(3rem,7vh,4.5rem);padding-bottom:2.5rem}
  .hero-title{font-size:clamp(4rem,6.7vw,6.4rem)}
  .hero-bottom{margin-top:clamp(1.75rem,4vh,3rem)}
}

/* Large displays and TVs. */
@media(min-width:2200px){
  html{font-size:clamp(16px,.5vw,20px)}
  :root{--pad:clamp(5rem,5vw,12rem)}
  .hero-title{max-width:16ch;font-size:clamp(7rem,6vw,11rem)}
  .hero-bottom{max-width:70rem}
  .section-grid{grid-template-columns:minmax(12rem,1fr) minmax(0,4.5fr) minmax(12rem,1.2fr)}
}
