/* Serval / night system. Geometry, illuminated edges and measured motion. */
:root{--orange:#ff8b36;--signal:#edf45f;--muted:#b6bac4;--line:#45464b;--panel:#101217}
body{background:#08090c;color:#f1f1ed}
body:before{background:linear-gradient(120deg,#100d0c80,#08090c00 55%);pointer-events:none}
.night-city{position:absolute;top:130px;left:0;width:100%;height:710px;overflow:hidden;pointer-events:none;opacity:.65;z-index:0;contain:paint}
.night-city svg{width:100%;height:100%}
.page-grid{opacity:.12;background-size:80px 80px}
.ambient{opacity:.12;filter:blur(70px)}
.site-header{background:#080a0eee;border-bottom:1px solid #ff8b3655;box-shadow:0 1px 0 #edf45f12;backdrop-filter:blur(12px)}
.brand-wordmark{letter-spacing:.18em}.brand-wordmark b{color:var(--signal)}
.desktop-nav a{color:#bfc2cb;font-size:12px}.desktop-nav a small{color:#b8b9c0;font-size:10px}
.desktop-nav a.active,.desktop-nav a:hover{color:var(--signal)}
.language-switcher{gap:3px;color:#969ca6}.lang{color:#c4c7ce;font-size:12px;min-width:32px;min-height:44px;padding:8px 5px;letter-spacing:.04em}
.lang.active{color:var(--signal);text-shadow:none}.lang:hover{color:#fff}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,[tabindex="-1"]:focus-visible{outline:2px solid var(--signal);outline-offset:5px}
.v3-hero{position:relative;padding-top:140px;padding-bottom:68px;isolation:isolate;gap:28px}
.v3-hero:before{content:'';position:absolute;left:0;top:114px;height:4px;width:96px;background:var(--signal);box-shadow:108px 0 #ff8b36}
.v3-hero h1{font-weight:600;font-size:clamp(52px,5.6vw,86px);line-height:.9;letter-spacing:-.045em;text-transform:uppercase}
.v3-hero h1 .orange{color:#ff8b36;text-shadow:3px 2px 0 #ff8b3618}
.hero-kicker,.eyebrow{color:#d7b69b;font-size:12px;line-height:1.6;letter-spacing:.12em}
.hero-description,.v3-hero .hero-description{font-size:16px;line-height:1.75;color:#c9cbd2}
.hero-mini{font-size:12px;color:#bdc1c9}.hero-catalogue,.catalogue-shortcut{font-size:12px;color:#c5c8cf}
.hero-actions{gap:12px}.button{border-radius:2px;font-size:12px;letter-spacing:.05em;min-height:50px}
.button-primary{background:var(--signal);color:#10120a;border-color:var(--signal);clip-path:polygon(0 0,calc(100% - 13px) 0,100% 13px,100% 100%,13px 100%,0 calc(100% - 13px));box-shadow:none}
.button-primary:hover{background:#f5ff82;color:#080909;transform:translateY(-2px)}
.core-column{min-width:0;overflow:clip;contain:paint;isolation:isolate}
.orbit{max-width:88%;aspect-ratio:1;height:auto!important}.orbit-2{max-width:75%}.orbit-3{max-width:62%}
.core-label{color:#b9b7b2;font-size:11px}.core-shadow{opacity:.3}
.webgl-core,.serval-core{max-width:100%}
.core-label,.core-ui,.core-caption{letter-spacing:.08em}
.studio-heading{border-color:#edf45f60;background:linear-gradient(120deg,#edf45f08,transparent);padding:18px 0 0 18px;border-left:2px solid var(--signal)}
.studio-heading h2{font-size:32px}.studio-heading p{font-size:14px;color:#c4c7cf}
.studio-products>small,.studio-products a small{font-size:12px;color:#b8c0cd}
.studio-products a{transition:border-color .2s,transform .2s}.studio-products a:hover{transform:translateX(4px);border-color:var(--orange)}
.studio-products a b,.studio-process-link{color:var(--signal)}
.work-section{padding-top:70px}.v3-section-heading h2{font-size:clamp(48px,6vw,84px);line-height:.92}
.section-intro p{font-size:16px;color:#c2c5cf;line-height:1.75}
.route-choice{display:flex;align-items:center;gap:24px;margin:30px 0;flex-wrap:wrap}.route-choice p{max-width:400px;font-size:14px;line-height:1.7;color:#b9c0cb}
.project-index-head{margin:30px 0 12px;padding-top:28px;scroll-margin-top:105px}.project-index-head h3{font-size:34px}
.filter{font-size:12px;color:#c3c7ce;min-height:44px;padding:10px 14px;border-color:#4b4e56;border-radius:2px}
.filter.active{color:#090b0d;background:var(--signal);border-color:var(--signal)}.filter:hover{border-color:var(--signal);color:var(--signal)}.filter.active:hover{color:#090b0d}
.result-count{font-size:12px;color:#b8bfc9;margin:16px 0}.index-group-label{font-size:12px;color:#e7b78d;letter-spacing:.1em;padding:25px 0 14px}
.index-row{grid-template-columns:34px minmax(160px,1fr) minmax(100px,.6fr) minmax(220px,1.6fr) 48px;gap:20px;padding:20px 12px;min-height:100px;position:relative;transition:background .2s,border-color .2s}
.index-row:before{content:'';position:absolute;left:0;top:20%;height:60%;width:2px;background:var(--signal);transform:scaleY(0);transition:transform .25s;transform-origin:bottom}
.index-row:hover{padding-left:12px;background:#edf45f06;border-color:#edf45f55}.index-row:hover:before{transform:scaleY(1)}
.index-row .index-num{color:#b7bcc7;font-size:12px}.index-row h4{font-size:26px;color:#f1f1ed}
.index-row .index-type{color:#d5c8b7;font-size:11px;line-height:1.5;letter-spacing:.04em}
.index-row p{display:block;font-size:13px;line-height:1.6;color:#bfc4cf}
.index-open{display:grid;place-items:center;color:var(--signal);border-color:#666a49;border-radius:0;width:46px;height:46px;font-size:22px}
.index-open:hover{background:var(--signal);color:#0b0c09;border-color:var(--signal)}
.project-shortcuts{margin:55px 0 0}.project-shortcuts a{font-size:14px;border-radius:0;color:#d7dae0}
.story-intro{padding-top:35px}.story-intro h3{font-size:clamp(43px,5.8vw,76px)}.story-intro>p{font-size:16px;color:#c4c9d2}
.story-chapter{gap:40px;padding-top:32px}.story-scene{border-radius:2px;border-color:#64708270;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 9%,#0c1016),#0c1016 60%);box-shadow:8px 8px 0 #0003;min-height:420px}
.story-scene:before{content:'';height:3px;position:absolute;top:0;left:0;width:25%;background:var(--accent);box-shadow:0 0 18px color-mix(in srgb,var(--accent) 40%,transparent)}
.story-scene-top{font-size:12px;color:#c5cbd3;letter-spacing:.06em}.story-scene h3{font-size:clamp(32px,3.5vw,53px)}
.assembly-status{font-size:12px;letter-spacing:.04em;line-height:1.55}.story-scene-caption{font-size:11px;color:#c1c7d1;letter-spacing:.04em;line-height:1.4}
.story-beat{min-height:45svh;opacity:1;padding:25px 0}.story-beat small{font-size:13px}.story-beat h4{font-size:clamp(27px,3vw,39px)}.story-beat p{color:#c9ced7;font-size:16px}
.story-stages li{height:4px}.story-next{min-height:44px;display:flex;align-items:center}
.story-outro{border-top:1px solid #ff8b3640;background:linear-gradient(100deg,#ff8b3609,transparent);padding:50px 12px}.story-outro a{border-radius:0;background:var(--signal);font-size:15px}
.services-section{padding:75px 0;border-top:1px solid var(--line);scroll-margin-top:95px}
.services-heading{max-width:720px;margin-bottom:35px}.services-heading h2{font:600 clamp(38px,5vw,68px)/1 Rajdhani,Inter,sans-serif;letter-spacing:-.035em;margin:18px 0}.services-heading>p{font-size:16px;line-height:1.7;color:#c4c7ce}
.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.service-card{padding:30px;background:linear-gradient(135deg,#171b22,#0c0e13);border:1px solid #42464d;position:relative;display:flex;flex-direction:column;align-items:start}
.service-card:after{content:'';position:absolute;right:-1px;top:-1px;width:18px;height:18px;background:linear-gradient(45deg,transparent 46%,#8b9659 48%,#8b9659 51%,#08090c 53%)}
.service-number{font:500 14px Rajdhani,sans-serif;color:var(--signal);letter-spacing:.1em}.service-card h3{font:600 30px/1.1 Rajdhani,sans-serif;margin:20px 0 14px;max-width:400px}.service-card p{font-size:15px;line-height:1.8;color:#bfc5d1;margin:0 0 20px}.service-card strong{font-size:14px;color:#e8eacb;font-weight:500;border-left:2px solid var(--signal);padding-left:14px;margin-bottom:20px}.service-card button,.service-card a{min-height:44px;font:500 13px Inter,sans-serif;display:inline-flex;align-items:center;background:none;border:0;padding:9px 0;color:#ffd0a6;text-align:left}.service-card button{margin-top:auto}.service-card a{color:var(--signal)}
.process-section{margin-top:0;padding:75px 0}.process-heading .eyebrow,.process-deliverable small,.process-example button{font-size:12px}.process-example{border-radius:0;border-color:#474d59;background:#11151d}.process-expand{color:#b8becb}.process-step h3{font-weight:600}
.about-section{border-top:1px solid #ff8b3640}.founder-model-shell{border-radius:2px;border-color:#ff8b3650}.founder-core-meta,.founder-core-label{font-size:12px;color:#bfc5cf}
.contact-section{background:linear-gradient(125deg,#15170f,#111219 50%,#19110d);border:1px solid #6e7250;border-radius:0;margin-bottom:60px}
.contact-section h2{font-weight:600}.contact-intents label{border-radius:2px;border-color:#5b606c}.contact-intents label:has(input:checked){border-color:var(--signal);background:#24281a}.contact-intents input{accent-color:var(--signal)}.contact-intents legend,.message-preview small{font-size:12px;color:#c5cbd6}.message-preview{border-color:var(--signal)}.contact-panel .contact-note{color:#c1c7d0}.contact-alternatives a b{overflow-wrap:anywhere}
.whatsapp-float{border-radius:2px;border-color:#edf45f70;background:#0c0f0ef7;color:var(--signal);box-shadow:0 8px 22px #0008;min-height:48px}.whatsapp-float.contact-visible{visibility:hidden;opacity:0;pointer-events:none}
.command-toggle{border-radius:2px;background:#10141af5;color:#d8dce4;font-size:12px}.command-panel{z-index:11000;border-radius:2px;border-color:#edf45f80;background:#10131b;backdrop-filter:none}.command-panel:before{content:'';position:fixed;inset:-100vh -100vw;background:#0009;z-index:-1;pointer-events:none}.command-head small{font-size:12px}.command-head b{font-size:20px;color:#eef0f3}.command-option{min-height:55px}.command-option b{font-size:13px;color:#d3d9e2}
.motion-toggle{position:relative;display:flex;gap:12px;align-items:center;min-height:44px;margin:16px auto 85px;padding:10px 15px;background:#11151b;border:1px solid #5d6570;color:#d0d6df;font:500 12px Inter,sans-serif}.motion-toggle[aria-pressed=true]{border-color:var(--signal);color:var(--signal)}
.case-shell{border-radius:0;border:1px solid #75804a}.case-topbar{background:#13171e}.case-topbar small{font-size:12px;color:#c2c7d0}.case-topbar>div:first-child b{max-width:none}.case-nav button{color:#c5cad3;font-size:12px}.case-nav button span{color:#b8c0cd}.case-close,.project-lightbox-close{min-height:44px;min-width:44px;color:#eee;background:#151a23;border-color:#a2a97c}
.case-type,.case-section-label,.tech-chip,.real-preview-tag,.zoom-hint{font-size:12px;color:#c8ced9}.case-hero-copy p{color:#c8cdd5}.copy-project{min-height:44px;color:var(--signal);background:none;border:1px solid #7d8449;padding:10px 18px;margin-top:15px;font:500 13px Inter,sans-serif}.copy-status{display:block;font-size:13px;color:#ccd3dd;margin-top:8px}.case-assembly{padding:38px;display:grid;grid-template-columns:1.15fr 1fr;gap:25px;background:#0d121b;border-block:1px solid #303c4b}.case-assembly>div:first-child{grid-column:1/-1}.case-assembly p{font-size:14px;line-height:1.7;color:#c0c7d2}.case-assembly-art{position:relative;aspect-ratio:640/450;align-self:start;border:1px solid #515c6c;background:#0a1018}.case-assembly-art .assembly-piece{opacity:1;transform:none}.case-assembly ol{padding-left:22px;margin:0}.case-assembly li{padding:0 0 12px 8px;color:var(--accent)}.case-assembly b{font-size:15px;line-height:1.5;color:#ecedf0}.case-assembly li p{margin:7px 0 0}.visual-story-head>span,.case-visual-copy>span{font-size:12px;color:#bcc4cf}.case-visual-copy p{color:#bfc5cf}
body.command-open{overflow:hidden}.command-open .whatsapp-float{visibility:hidden}
@media(min-width:981px) and (prefers-reduced-motion:no-preference){.v3-hero:before{animation:signal-in .8s ease-out both}.hero-copy{animation:panel-in .65s .08s both}.studio-overview{animation:panel-in .65s .2s both}.service-card{transition:transform .25s,border-color .25s}.service-card:hover{transform:translateY(-4px);border-color:var(--signal)}.case-assembly-art .assembly-piece{animation:part-in .45s both}.case-assembly-art .assembly-piece:nth-child(2){animation-delay:.08s}.case-assembly-art .assembly-piece:nth-child(3){animation-delay:.16s}.case-assembly-art .assembly-piece:nth-child(4){animation-delay:.24s}.case-assembly-art .assembly-piece:nth-child(5){animation-delay:.32s}}
@keyframes signal-in{from{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}
@keyframes panel-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes part-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media(max-width:1100px){.v3-hero h1{font-size:clamp(56px,7.5vw,86px)}.index-row{grid-template-columns:30px 1fr 110px 48px;gap:14px}.index-row p{grid-column:2/4;grid-row:2}.index-open{grid-column:4;grid-row:1/3}.index-row .index-type{grid-column:3;grid-row:1}.case-assembly{grid-template-columns:1fr}.case-assembly>div:first-child{grid-column:auto}.case-assembly-art{max-height:460px;width:100%}.night-city{height:900px}}
@media(max-width:760px){.service-grid{grid-template-columns:1fr}.service-card{padding:25px}.services-section,.process-section{padding:55px 0}.services-heading h2{font-size:45px}.night-city{top:90px;height:650px;opacity:.4}.studio-heading{padding-left:14px}.core-column{max-height:350px}.v3-hero{padding-top:115px;gap:25px}.v3-hero:before{top:91px}.route-choice{gap:8px}.route-choice .button{width:100%;justify-content:space-between}.route-choice p{font-size:14px}.case-hero-copy h2{font-size:45px}.case-assembly{padding:25px 18px}.case-assembly-art{min-height:230px}.case-topbar>div:first-child b{max-width:150px;font-size:16px}.case-lang{display:flex}.case-lang .lang{min-width:28px;padding:4px;font-size:11px}.case-topbar>div:first-child small{display:none}.case-top-actions{gap:8px}}
@media(max-width:640px){.v3-hero h1{font-size:clamp(46px,14vw,72px)}.hero-description,.v3-hero .hero-description{font-size:16px}.studio-products a small{font-size:12px}.studio-products a span{font-size:24px}.studio-process-link{font-size:13px}.hero-mini,.hero-catalogue{font-size:12px}.hero-actions .button{font-size:12px}.work-section{padding-top:45px}.v3-section-heading h2{font-size:48px}.project-index-head h3{font-size:30px}.filters{gap:6px;flex-wrap:wrap}.filter{padding:9px 11px;font-size:12px}.index-row{grid-template-columns:24px minmax(0,1fr) 46px;gap:7px 10px;padding:18px 0}.index-row:hover{padding-left:0}.index-row h4{font-size:25px;grid-column:2;grid-row:1}.index-row .index-num{grid-column:1;grid-row:1;font-size:11px}.index-row .index-type{display:block;grid-column:2;grid-row:2;font-size:11px}.index-row p{display:block;grid-column:2;grid-row:3;font-size:13px;line-height:1.65}.index-open{grid-column:3;grid-row:1/4}.index-group-label{font-size:12px}.project-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:8px}.project-shortcuts a{font-size:14px;padding:14px}.story-chapter{padding-top:24px}.story-scene-top{font-size:11px;padding:12px 15px}.story-scene h3{font-size:32px}.assembly-status{font-size:11px;min-height:17px}.story-scene-caption{font-size:10px;padding:7px 15px 10px}.story-scene{border-radius:2px}.story-beat{min-height:55svh}.assembly-ready .story-beat{min-height:55svh}.assembly-ready .story-scene{min-height:0;height:calc(100svh - 160px);max-height:720px}.assembly-ready .story-narrative{margin-top:calc(-100svh + 160px)}.assembly-ready .assembly-mobile-copy{padding:8px 15px 12px}.assembly-mobile-copy p{font-size:14px;line-height:1.55;min-height:100px}.assembly-mobile-copy h4{font-size:26px}.assembly-mobile-copy small{font-size:12px}.assembly-mobile-copy .featured-open{min-height:44px;font-size:12px}.assembly-ready .story-art{min-height:110px}.story-outro h3{font-size:39px}.contact-section{margin-bottom:70px}.contact-section h2{font-size:clamp(29px,8vw,42px)}.contact-panel .button{font-size:12px}.whatsapp-float{left:12px;right:auto;bottom:calc(12px + env(safe-area-inset-bottom));min-height:46px;padding:0 13px;font-size:12px;width:auto}.whatsapp-float svg{width:19px;height:19px}.command-toggle{right:12px;bottom:calc(12px + env(safe-area-inset-bottom));max-width:48px;width:48px;min-height:46px;justify-content:center;padding:0}.command-toggle b{display:none}.command-toggle span{font-size:23px}.command-panel{bottom:calc(72px + env(safe-area-inset-bottom))}.process-heading .eyebrow{font-size:12px}.process-deliverable small{font-size:12px}.motion-toggle{margin-bottom:90px}}
@media(max-width:640px) and (max-height:680px){.assembly-mobile-copy p{font-size:13px;min-height:0;line-height:1.45}.assembly-mobile-copy h4{font-size:22px}.assembly-ready .story-scene{height:calc(100svh - 145px)}.assembly-ready .story-narrative{margin-top:calc(-100svh + 145px)}.story-scene-top{padding:8px 15px}.story-scene h3{font-size:26px}.story-scene-caption{font-size:10px;padding-bottom:7px}}
.motion-reduced *,.motion-reduced *:before,.motion-reduced *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.project-lightbox:not(.open),.command-panel:not(.open){pointer-events:none}
.case-content{overflow-x:hidden;min-width:0}.case-section,.case-visual-story,.case-hero-copy{min-width:0}.visual-story-head h3{overflow-wrap:anywhere}
.scan-button{font-size:12px;min-height:44px}.real-preview-tag{color:#f1e6db;background:#111d}
.case-hero-copy .case-type,.case-section-label span,.case-nav button span,.case-step span{font-size:12px}
.case-role-grid span,.case-tech-grid span{font-size:12px;color:#c6ccd6;border-color:#58606c;letter-spacing:.04em}
.case-section-body>p,.case-result .case-section-body>p{font-size:15px;color:#c5cbd5}.case-step b{font-size:17px;color:#dde0e6}
.founder-title b,.founder-title small,.founder-spec b,.founder-spec span{font-size:12px;color:#bcc3cf}
.case-hero-copy h2{line-height:.98}.case-topbar b{color:#d5dce5}.command-option span{color:#bac3cf}
.command-panel.open{visibility:visible;transition:opacity .2s,transform .2s}
.v3-hero h1{font-size:clamp(46px,4.5vw,70px)}
.night-city{z-index:1;opacity:.85;mix-blend-mode:screen}.hero-copy,.studio-overview{position:relative;z-index:2}
.v3-hero .hero-copy{background:linear-gradient(90deg,#08090ceb,#08090c80 75%,transparent);padding-right:14px}
.v3-header{border-radius:0}.featured-projects:before{display:none!important}
.v3-hero{z-index:2}.studio-overview{background:linear-gradient(90deg,#08090cd9,#08090cb3);padding:16px}.night-city{opacity:.6}
.night-city svg{animation:panel-in 1.2s ease-out both}
.story-scene:after{content:'';position:absolute;right:0;bottom:0;border-style:solid;border-width:0 0 18px 18px;border-color:transparent transparent var(--accent) transparent;pointer-events:none}
.motion-reduced .webgl-core canvas{visibility:hidden}.motion-reduced .webgl-core .serval-fallback{opacity:1;visibility:visible}
@media(max-width:640px){.v3-hero h1{font-size:clamp(46px,14vw,72px)}.night-city{opacity:.5}.v3-hero .hero-copy{padding-right:0;background:linear-gradient(90deg,#08090ce8,#08090c60)} }
.motion-reduced .story-scene{position:relative;top:auto;height:auto;min-height:380px;box-shadow:none}.motion-reduced .story-art{min-height:260px}.motion-reduced .assembly-piece{opacity:1!important;transform:none!important}.motion-reduced .assembly-mobile-copy{display:none}.motion-reduced .story-narrative{margin-top:0}.motion-reduced .story-beat{min-height:0!important;opacity:1!important;pointer-events:auto;padding:24px 0}.motion-reduced .story-beat .featured-open,.motion-reduced .story-beat .story-next{visibility:visible}.motion-reduced .cursor-dot,.motion-reduced .cursor-ring{display:none}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.story-scene{position:relative;top:auto;height:auto;min-height:380px}.story-art{min-height:260px}.story-narrative{margin-top:0}.story-beat{min-height:0!important;opacity:1!important;pointer-events:auto}.assembly-piece{opacity:1!important;transform:none!important}.assembly-mobile-copy{display:none}.story-beat .featured-open,.story-beat .story-next{visibility:visible}}
@media(max-height:550px){.assembly-ready .story-scene{height:auto;min-height:380px;position:relative;top:auto}.assembly-ready .story-narrative{margin-top:0}.assembly-ready .story-beat{opacity:1;min-height:0;pointer-events:auto}.assembly-ready .story-beat .featured-open,.assembly-ready .story-beat .story-next{visibility:visible}.assembly-piece{opacity:1!important;transform:none!important}.story-art{min-height:260px}.assembly-mobile-copy{display:none!important}}
@media(max-width:640px) and (max-height:700px){.assembly-ready .story-scene{position:relative;top:auto;height:365px;min-height:365px}.assembly-ready .story-narrative{margin-top:0}.assembly-ready .assembly-mobile-copy{display:none}.assembly-ready .story-beat{min-height:0;opacity:1;pointer-events:auto;padding:24px 0}.assembly-ready .story-beat .featured-open,.assembly-ready .story-beat .story-next{visibility:visible}.assembly-ready .assembly-piece{opacity:1;transform:none}.assembly-ready .story-art{min-height:200px}}
