/* Functional additions to the supplied design. */
html{scroll-padding-top:calc(90px + env(safe-area-inset-top,0px))}
.menu-toggle{display:none;font:inherit;color:var(--ink);border:1px solid var(--line);background:var(--bg);border-radius:12px;width:44px;height:44px;cursor:pointer}
.ring-ctrl button:disabled{opacity:.35;cursor:default}
.ring-ctrl{position:relative;z-index:2}
.ring-stage{z-index:1}
.card:not(.active){pointer-events:none}
.card{overflow:auto;scrollbar-width:thin}
.card ul{padding-top:12px;flex-shrink:0}
@media(max-width:1100px){.nav-links{gap:16px;font-size:14px}.nav .wrap{gap:14px}}

/* Public navigation controls and wide-screen hero refinements. */
.nav .theme-switch{appearance:none;display:inline-grid;place-items:center;width:42px;height:42px;min-width:42px;padding:0;border:1px solid var(--line);border-radius:50%;background:color-mix(in srgb,var(--panel) 78%,transparent);color:var(--ink);cursor:pointer;box-shadow:0 8px 24px rgba(20,10,40,.08);transition:transform .2s ease,border-color .2s ease,background .2s ease}
.nav .theme-switch:hover{transform:translateY(-2px);border-color:var(--violet-ink);background:var(--panel)}
.nav .theme-switch:focus-visible{outline:2px solid var(--violet);outline-offset:3px}
.nav .theme-switch span{grid-area:1/1;display:grid;place-items:center;font-family:Arial,sans-serif;font-size:20px;line-height:1;transition:opacity .2s ease,transform .25s ease}
.nav .theme-switch svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nav .theme-switch .theme-moon{opacity:0;transform:scale(.55) rotate(-30deg)}
:root[data-theme=dark] .nav .theme-switch .theme-sun{opacity:0;transform:scale(.55) rotate(30deg)}
:root[data-theme=dark] .nav .theme-switch .theme-moon{opacity:1;transform:scale(1) rotate(0)}
@media(min-width:1101px){.hero-text{max-width:760px}.hero h1,html[lang=en] .hero h1{font-size:clamp(46px,3vw,58px);line-height:1.08}.hero .wrap{grid-template-columns:minmax(740px,1.6fr) 1fr}}
@media(max-width:760px){.nav .theme-switch{width:38px;height:38px;min-width:38px;order:1}.nav .theme-switch span{font-size:18px}}

.trusted-clients{padding:92px 0;border-block:1px solid var(--line);overflow:hidden;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--violet) 5%,transparent),transparent)}
.trusted-clients-head{text-align:center;margin-bottom:42px}.trusted-clients-head h2{margin:0;font-size:clamp(28px,3.6vw,48px);line-height:1.25}
.trusted-client-marquee{position:relative;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
.trusted-client-track{display:flex;align-items:center;width:max-content;gap:0;direction:ltr;will-change:transform;animation:trusted-client-scroll var(--trusted-loop-duration,32s) linear infinite}
.trusted-client-sequence{display:flex;align-items:center;flex:none;gap:18px;padding-inline-end:18px}
.trusted-client{display:grid;place-items:center;width:210px;height:112px;padding:22px 30px;border:1px solid var(--line);border-radius:18px;background:var(--panel);color:var(--ink);text-decoration:none;filter:saturate(.75);transition:transform .2s ease,border-color .2s ease,filter .2s ease}
.trusted-client:hover{transform:translateY(-4px);border-color:var(--violet-ink);filter:saturate(1)}.trusted-client img{max-width:145px;max-height:58px;width:auto;height:auto;object-fit:contain}.trusted-client strong{font-size:19px;text-align:center}
@keyframes trusted-client-scroll{to{transform:translate3d(calc(-1 * var(--trusted-loop-distance,50%)),0,0)}}
@media(max-width:760px){.trusted-clients{padding:64px 0}.trusted-clients-head{margin-bottom:30px}.trusted-client{width:165px;height:92px;padding:18px}.trusted-client img{max-width:118px;max-height:50px}}
@media(prefers-reduced-motion:reduce){.trusted-client-track{animation-duration:70s}}

.hero-showreel{--video-rx:0deg;--video-ry:0deg;position:relative;z-index:3;width:min(100%,580px);justify-self:end;align-self:center;pointer-events:auto;border-radius:34px;isolation:isolate;transform:perspective(1200px) rotateX(var(--video-rx)) rotateY(var(--video-ry));transform-style:preserve-3d;transition:transform .18s ease-out,filter .3s ease;filter:drop-shadow(0 26px 30px rgba(12,7,22,.2))}
.hero-showreel::before{content:"";position:absolute;z-index:-2;inset:-12% -10% -18%;border-radius:45%;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--violet) 24%,transparent),transparent 68%);filter:blur(28px);transform:translateZ(-70px)}
.hero-showreel::after{content:"";position:absolute;z-index:2;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),inset 0 -38px 60px rgba(12,7,22,.16)}
.hero-showreel.is-portrait{width:min(100%,410px)}
.hero-showreel>div{position:relative;aspect-ratio:var(--video-aspect,16/9);max-height:min(72vh,760px);overflow:hidden;border-radius:34px;background:#09080c;transform:translateZ(12px);-webkit-mask-image:linear-gradient(#000,#000)}.hero-showreel iframe,.hero-showreel video{display:block;width:100%;height:100%;border:0;object-fit:contain;background:#09080c}
.hero-video-controls{position:absolute;z-index:4;inset-inline:16px;bottom:16px;display:flex;align-items:center;gap:8px;padding:6px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(14,10,23,.64);backdrop-filter:blur(14px);box-shadow:0 10px 30px rgba(0,0,0,.24);transition:opacity .2s ease,transform .2s ease}
.hero-video-button{display:grid;place-items:center;width:42px;height:42px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;cursor:pointer;transition:background .2s ease,transform .2s ease}.hero-video-button:hover{background:var(--violet);transform:scale(1.06)}.hero-video-button:focus-visible{outline:2px solid #fff;outline-offset:2px}.hero-video-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.hero-video-button:first-child svg{fill:currentColor}
.hero-video-progress{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.hero-video-progress input{--video-progress:0%;appearance:none;width:100%;height:18px;margin:0;background:transparent;cursor:pointer}.hero-video-progress input::-webkit-slider-runnable-track{height:4px;border-radius:999px;background:linear-gradient(90deg,var(--violet) var(--video-progress),rgba(255,255,255,.28) var(--video-progress))}.hero-video-progress input::-moz-range-track{height:4px;border:0;border-radius:999px;background:rgba(255,255,255,.28)}.hero-video-progress input::-moz-range-progress{height:4px;border-radius:999px;background:var(--violet)}.hero-video-progress input::-webkit-slider-thumb{appearance:none;width:14px;height:14px;margin-top:-5px;border:2px solid #fff;border-radius:50%;background:var(--violet);box-shadow:0 2px 8px rgba(0,0,0,.35)}.hero-video-progress input::-moz-range-thumb{width:12px;height:12px;border:2px solid #fff;border-radius:50%;background:var(--violet)}.hero-video-time{flex:none;min-width:72px;color:#fff;font:600 11px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;text-align:center;direction:ltr}
html[dir=rtl] .hero-showreel{justify-self:start}
.about .wrap.has-showreel{grid-template-areas:"copy video" "statue video";grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);align-items:start;column-gap:clamp(42px,6vw,112px);row-gap:40px}.about .wrap.has-showreel>div:first-child{grid-area:copy;align-self:start;min-width:0}.about .wrap.has-showreel>.hero-showreel{grid-area:video;width:min(100%,620px);margin:0;align-self:start}.about .wrap.has-showreel>.hero-showreel.is-portrait{width:min(100%,40.5vh,410px);justify-self:center}.about .wrap.has-showreel>.statue-stage{grid-area:statue;width:100%;margin:0;align-self:start}
@media(max-width:1100px){.hero-showreel{width:min(70vw,560px);justify-self:center!important;margin-bottom:28px}.hero:has(.hero-showreel:not([hidden])) .wrap{align-content:center;gap:22px;padding-top:100px}.hero:has(.hero-showreel:not([hidden])) .hero-text{align-self:end}}
@media(max-width:760px){.hero-showreel{width:min(100%,430px);justify-self:center!important;border-radius:25px;filter:drop-shadow(0 18px 24px rgba(12,7,22,.16));transform:none}.hero-showreel>div{border-radius:25px;transform:none}.hero-showreel::before,.hero-showreel::after{display:none}}
@media(max-width:900px){
 .menu-toggle{display:block;margin-inline-start:auto}
 .nav .wrap{gap:12px}
 .nav>.wrap>.btn-main{display:none}
 .nav-links{display:none;position:absolute;top:calc(76px + env(safe-area-inset-top,0px));inset-inline:16px;padding:14px;border:1px solid var(--line);border-radius:18px;background:var(--bg);box-shadow:0 15px 35px #0003;max-height:calc(100svh - 100px);overflow:auto}
 .nav-links.is-open{display:flex;flex-direction:column;gap:0}
 .nav-links a{display:block;padding:12px 16px;border-radius:10px;color:var(--ink)}
 .nav-links a:hover{background:var(--panel)}
 .nav .btn{padding:10px 12px;font-size:12px}
 .hero{min-height:760px}
 .hero .wrap{padding-bottom:120px}
 .hero-fallback{transform:translateX(-50%);width:min(50vw,270px);top:14%}
 .ring-stage{scroll-margin-top:100px}
}
@media(min-width:901px) and (max-width:1180px){.about .wrap.has-showreel{grid-template-columns:minmax(0,1fr) minmax(320px,.82fr);column-gap:36px}.about .wrap.has-showreel>.hero-showreel{width:100%}}
@media(min-width:901px) and (max-width:1100px){
 .hero:has(.hero-showreel:not([hidden])) .wrap{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:32px;padding-top:76px}
 .hero:has(.hero-showreel:not([hidden])) .hero-text{min-width:0;max-width:100%}
 .hero:has(.hero-showreel:not([hidden])) h1{font-size:clamp(38px,4vw,42px);line-height:1.08}
 .hero-showreel{width:100%;max-width:510px;padding:8px;border-radius:20px}
}
@media(max-width:900px){
 .hero:has(.hero-showreel:not([hidden])){height:auto;min-height:100svh}
 .hero:has(.hero-showreel:not([hidden])) .wrap{height:auto;min-height:100svh;align-items:start;padding-top:112px;padding-bottom:86px}
 .hero:has(.hero-showreel:not([hidden])) .hero-text{align-self:auto}
 .hero:has(.hero-showreel:not([hidden])) .scroll-hint{display:none}
}
@media(max-width:600px){
 .nav .wrap{height:68px;gap:8px}
 .nav-logo{display:none}
 .menu-toggle{width:38px;height:38px;border-radius:50%;padding:0}
 .nav .theme-switch{width:38px;height:38px;min-width:38px}
 .nav .language-switch{min-height:38px;padding:7px 12px;font-size:13px}
 .hero:has(.hero-showreel:not([hidden])) .wrap{align-content:start;padding-top:420px;padding-bottom:62px;gap:28px}
 .hero:has(.hero-showreel:not([hidden])) h1{font-size:clamp(36px,11vw,48px);line-height:1.08}
 .hero:has(.hero-showreel:not([hidden])) .hero-kicker{font-size:13px;margin-bottom:12px}
 .hero:has(.hero-showreel:not([hidden])) .lead{font-size:15px;line-height:1.7}
 .hero:has(.hero-showreel:not([hidden])) .hero-ctas{display:grid;grid-template-columns:1fr}
 .hero:has(.hero-showreel:not([hidden])) .hero-ctas .btn{justify-content:center;width:100%;padding:12px 16px}
 .hero-showreel{width:100%;margin-inline:auto;justify-self:center!important}.hero-showreel.is-portrait{width:min(calc(100vw - 48px),360px);margin-inline:auto!important;justify-self:center!important}.hero-showreel>div{max-height:76svh}
 .hero-video-controls{inset-inline:12px;bottom:12px;padding:5px}.hero-video-button{width:38px;height:38px;flex:none}.hero-video-progress{gap:6px}.hero-video-time{display:none}
}
@media(max-width:380px){.wrap{width:calc(100% - 32px)}.hero-ctas{gap:10px}.hero-ctas .btn{padding:12px 18px;font-size:14px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
