/* =========================================================
   La Vitesse — theme styles
   Desktop is designed at 1920x1080; sizes use --u = min(1vw, 1.7778vh) so short/wide screens fit; phones (<=900px)
   get their own layout at the bottom of this file.
   ========================================================= */
@font-face{font-family:"LV Archivo";src:url(../fonts/archivo.woff2) format("woff2-variations"),url(../fonts/archivo.woff2) format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:swap}
@font-face{font-family:"LV Serif";src:url(../fonts/serif-italic.woff2) format("woff2");font-style:italic;font-display:swap}
@font-face{font-family:"LV Serif";src:url(../fonts/serif.woff2) format("woff2");font-style:normal;font-display:swap}
@font-face{font-family:"LV Mono";src:url(../fonts/mono.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"LV Mono";src:url(../fonts/mono-500.woff2) format("woff2");font-weight:500;font-display:swap}

:root{
  --u:min(1vw,1.7778vh);
  --lv-ink:#0b0a09; --lv-ink2:#151311; --lv-bone:#ede8e0; --lv-mute:#8a847b; --lv-accent:#fab62a; --lv-accent-hi:#ffdf94; --lv-accent-lo:#b9800f; --lv-accent-deep:#3a2806; --lv-blue:#6aa5ff;
  --lv-pad:calc(var(--u)*3.1); --lv-side:calc(var(--u)*5.6);
  --lv-sans:"LV Archivo",system-ui,sans-serif; --lv-serif:"LV Serif",Georgia,serif; --lv-mono:"LV Mono",ui-monospace,monospace;
}
html{background:var(--lv-ink);scroll-behavior:auto!important}
body.lv{margin:0;background:var(--lv-ink);color:var(--lv-bone);font-family:var(--lv-sans);font-stretch:100%;-webkit-font-smoothing:antialiased;overflow-x:hidden;overflow-x:clip}
.lv *,.lv *::before,.lv *::after{box-sizing:border-box}
.lv a{color:inherit;text-decoration:none}
.lv :focus-visible{outline:2px solid var(--lv-accent);outline-offset:3px}
.lv-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.lv em,.lv-serif{font-family:var(--lv-serif);font-style:italic;font-weight:400;font-stretch:100%;letter-spacing:-.01em}
.lv-label{margin:0;font-family:var(--lv-mono);font-size:calc(var(--u)*0.72);letter-spacing:.08em;text-transform:uppercase;color:var(--lv-mute)}
.lv-kicker{margin:0;font-family:var(--lv-mono);font-size:calc(var(--u)*0.78);letter-spacing:.06em;text-transform:uppercase;color:var(--lv-mute)}
.lv-kicker .lv-br{color:var(--lv-accent)}
.lv-rec{display:inline-block;width:calc(var(--u)*0.55);height:calc(var(--u)*0.55);min-width:6px;min-height:6px;border-radius:50%;background:var(--lv-accent);margin-inline-end:calc(var(--u)*0.3);vertical-align:calc(var(--u)*0.02);box-shadow:0 0 calc(var(--u)*0.8) var(--lv-accent)}

/* ---- Elementor neutralising: our widgets are full-bleed and gapless ---- */
.elementor-widget[class*="elementor-widget-lv-"]{margin:0!important;--kit-widget-spacing:0px;width:100%}
.elementor-widget[class*="elementor-widget-lv-"]>.elementor-widget-container{margin:0;padding:0}
.e-con:has(>.elementor-widget[class*="elementor-widget-lv-"]),
.e-con-inner:has(>.elementor-widget[class*="elementor-widget-lv-"]),
.elementor-section:has(.elementor-widget[class*="elementor-widget-lv-"]) .elementor-container,
.elementor-section:has(.elementor-widget[class*="elementor-widget-lv-"]) .elementor-widget-wrap{
  --padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--gap:0px;--row-gap:0px;--column-gap:0px;--container-max-width:100%;--content-width:100%;
  padding:0!important;gap:0!important;max-width:none!important;width:100%}
.e-con:has(>.elementor-widget[class*="elementor-widget-lv-"]){display:block}

/* ---------- fixed frame ---------- */
#lv-gl{position:fixed;inset:0;width:100vw;height:100vh;z-index:1;pointer-events:none;display:block}
#lv-main{position:relative;z-index:2}
/* film grain: one small noise tile, moved by a stepped CSS animation (composited — no repaint, no blending pass) */
.lv-grain{position:fixed;inset:-160px;z-index:60;pointer-events:none;opacity:.045;background-size:256px 256px;will-change:transform;display:none}
.lv-grain.is-on{display:block;animation:lv-grain 1s steps(1,end) infinite}
@keyframes lv-grain{0%{transform:translate3d(0,0,0)}12%{transform:translate3d(-74px,38px,0)}25%{transform:translate3d(51px,-97px,0)}37%{transform:translate3d(-118px,-23px,0)}50%{transform:translate3d(93px,64px,0)}62%{transform:translate3d(-31px,121px,0)}75%{transform:translate3d(127px,-58px,0)}87%{transform:translate3d(-86px,-131px,0)}}
.lv-flash{position:fixed;inset:0;z-index:70;background:var(--lv-bone);opacity:0;pointer-events:none}

.lv-nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:calc(var(--u)*1.9) var(--lv-pad);mix-blend-mode:difference;color:var(--lv-bone)}
.admin-bar .lv-nav{top:32px}
.lv-logo{display:flex;align-items:center;gap:calc(var(--u)*0.7)}
.lv-logo img{height:calc(var(--u)*2.2);width:auto;display:block}
.lv-logo__word{font-weight:800;font-stretch:125%;font-size:calc(var(--u)*1.15);letter-spacing:.02em;white-space:nowrap}
.lv-logo__mark{display:flex;gap:calc(var(--u)*0.18);transform:skewX(-22deg)}
.lv-logo__mark i{display:block;width:calc(var(--u)*0.32);height:calc(var(--u)*1.15);background:var(--lv-accent)}
.lv-logo__mark i:nth-child(2){opacity:.7}.lv-logo__mark i:nth-child(3){opacity:.4}
.lv-nav__links ul{display:flex;gap:calc(var(--u)*2.6);margin:0;padding:0;list-style:none}
.lv-nav__links a{font-family:var(--lv-mono);font-size:calc(var(--u)*0.72);letter-spacing:.08em;text-transform:uppercase}
.lv-nav__right{display:flex;align-items:center;gap:calc(var(--u)*1.6)}
.lv-lang{font-family:var(--lv-mono);font-size:calc(var(--u)*0.68);letter-spacing:.12em;color:var(--lv-mute);display:flex;gap:.6em}
.lv-lang a,.lv-lang span{color:var(--lv-mute)}.lv-lang .is-current{color:var(--lv-bone);font-weight:500}
.lv-btn{display:inline-flex;align-items:center;gap:calc(var(--u)*0.7);font-family:var(--lv-mono);font-size:calc(var(--u)*0.72);letter-spacing:.08em;text-transform:uppercase;border-radius:100px;padding:calc(var(--u)*0.85) calc(var(--u)*1.4);white-space:nowrap;cursor:pointer}
.lv-btn span{display:inline-block}
.lv-btn--ghost{border:1px solid rgba(237,232,224,.45)}
.lv-btn--solid{background:var(--lv-accent);color:var(--lv-ink)!important;font-weight:500;padding:calc(var(--u)*1.3) calc(var(--u)*2.2);font-size:calc(var(--u)*0.9);transition:background .3s,transform .3s}
.lv-btn--solid:hover{background:var(--lv-bone)}
.lv-burger{display:none;background:none;border:0;padding:8px;color:var(--lv-bone);cursor:pointer}
.lv-burger i{display:block;width:26px;height:2px;background:currentColor;margin:6px 0;transition:transform .3s}

.lv-menu{position:fixed;inset:0;z-index:90;background:var(--lv-ink);display:flex;flex-direction:column;justify-content:center;padding:0 calc(var(--u)*7);opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}
.lv-menu.is-open{opacity:1;visibility:visible}
.lv-menu ul{list-style:none;margin:0;padding:0}
.lv-menu li a{display:block;font-weight:800;font-stretch:125%;font-size:calc(var(--u)*12);line-height:1.05;text-transform:uppercase;letter-spacing:-.02em}
.lv-menu li a:hover{color:var(--lv-accent)}
.lv-menu__close{position:absolute;top:calc(var(--u)*5);right:calc(var(--u)*6);background:none;border:0;color:var(--lv-bone);font-family:var(--lv-mono);font-size:12px;letter-spacing:.14em;cursor:pointer}
.lv-menu__foot{margin-top:calc(var(--u)*10);font-family:var(--lv-mono);font-size:12px;letter-spacing:.1em;color:var(--lv-mute);display:flex;flex-direction:column;gap:8px}

.lv-player{position:fixed;left:var(--lv-pad);right:var(--lv-pad);bottom:calc(var(--u)*1.4);z-index:50;display:flex;align-items:center;gap:calc(var(--u)*1.4);font-family:var(--lv-mono);font-size:calc(var(--u)*0.62);letter-spacing:.1em;color:var(--lv-bone);mix-blend-mode:difference;pointer-events:none}
.lv-player__bar{flex:1;height:1px;background:rgba(237,232,224,.25);position:relative;overflow-x:clip}
.lv-player__bar i{position:absolute;left:0;top:-1px;height:3px;width:100%;transform:translateX(-100%);background:var(--lv-bone);will-change:transform}
.lv-player__bar i:after{content:"";position:absolute;right:0;top:-4px;width:11px;height:11px;border-radius:50%;background:var(--lv-bone)}
html[dir=rtl] .lv-player__bar i{left:auto;right:0;transform:translateX(100%)}html[dir=rtl] .lv-player__bar i:after{right:auto;left:0}

.lv-cursor{position:fixed;left:0;top:0;z-index:80;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:var(--lv-bone);mix-blend-mode:difference;pointer-events:none;display:flex;align-items:center;justify-content:center;opacity:0;transition:width .3s,height .3s,margin .3s,opacity .3s}
.lv-cursor span{font-family:var(--lv-mono);font-size:11px;letter-spacing:.14em;color:var(--lv-ink);opacity:0;white-space:nowrap;transition:opacity .2s}
.lv-cursor.is-big{width:110px;height:110px;margin:-55px 0 0 -55px}
.lv-cursor.is-big span{opacity:1}
@media (hover:none),(pointer:coarse){.lv-cursor{display:none}.lv-nav{mix-blend-mode:normal;background:linear-gradient(rgba(11,10,9,.8),rgba(11,10,9,0))}}

/* ---------- loader ---------- */
.lv-loader{position:fixed;inset:0;z-index:65;pointer-events:none;display:none}
.lv-has-loader .lv-loader{display:block}
.lv-loader__half{position:absolute;left:0;right:0;height:50.2%;background:#070605}
.lv-loader__half--top{top:0}.lv-loader__half--bot{bottom:0}
.lv-leader{position:absolute;left:50%;top:50%;width:calc(var(--u)*31);height:calc(var(--u)*31);margin:calc(var(--u)*-15.5) 0 0 calc(var(--u)*-15.5);border-radius:50%;overflow:hidden}
.lv-leader__sweep{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,color-mix(in srgb,var(--lv-accent) 55%,transparent) 0deg,color-mix(in srgb,var(--lv-accent) 55%,transparent) var(--a,0deg),color-mix(in srgb,var(--lv-accent) 6%,transparent) var(--a,0deg))}
.lv-leader__rings{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:rgba(237,232,224,.5);stroke-width:2}
.lv-leader__num{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-weight:800;font-stretch:125%;font-size:calc(var(--u)*15);line-height:1;color:var(--lv-bone)}
.lv-loader__meta{position:absolute;font-family:var(--lv-mono);font-size:calc(var(--u)*0.68);letter-spacing:.12em;color:var(--lv-mute)}
.lv-loader__meta--tl{top:calc(var(--u)*2);left:var(--lv-pad)}.lv-loader__meta--tr{top:calc(var(--u)*2);right:var(--lv-pad)}
.lv-loader__meta--bl{bottom:calc(var(--u)*2);left:var(--lv-pad)}.lv-loader__meta--br{bottom:calc(var(--u)*2);right:var(--lv-pad)}

/* ---------- 01 hero ---------- */
.lv-hero{position:relative;height:100vh;height:100svh;min-height:560px;overflow:hidden;background:radial-gradient(calc(var(--u)*60) calc(var(--u)*50) at 76% 52%,color-mix(in srgb,var(--lv-accent) 16%,transparent),transparent 60%)}
.lv-vf{position:absolute;inset:calc(var(--u)*5.6) calc(var(--u)*2.1) calc(var(--u)*3.4) calc(var(--u)*2.1);pointer-events:none}
.lv-vf__c{position:absolute;width:calc(var(--u)*1.9);height:calc(var(--u)*1.9);border:0 solid rgba(237,232,224,.55)}
.lv-vf__c--tl{top:0;left:0;border-top-width:2px;border-left-width:2px}
.lv-vf__c--tr{top:0;right:0;border-top-width:2px;border-right-width:2px}
.lv-vf__c--bl{bottom:0;left:0;border-bottom-width:2px;border-left-width:2px}
.lv-vf__c--br{bottom:0;right:0;border-bottom-width:2px;border-right-width:2px}
.lv-vf__cross{position:absolute;left:50%;top:50%;width:calc(var(--u)*1.4);height:calc(var(--u)*1.4);margin:calc(var(--u)*-0.7) 0 0 calc(var(--u)*-0.7);opacity:.35}
.lv-vf__cross:before,.lv-vf__cross:after{content:"";position:absolute;background:var(--lv-bone)}
.lv-vf__cross:before{left:50%;top:0;bottom:0;width:1px}.lv-vf__cross:after{top:50%;left:0;right:0;height:1px}
.lv-hud{position:absolute;font-family:var(--lv-mono);font-size:calc(var(--u)*0.66);letter-spacing:.12em;color:rgba(237,232,224,.75)}
.lv-hud em{font-family:var(--lv-mono);font-style:normal;color:var(--lv-mute);margin-inline-start:calc(var(--u)*0.6)}
.lv-hud--tl{top:calc(var(--u)*1.2);left:calc(var(--u)*1.4)}.lv-hud--tr{top:calc(var(--u)*1.2);right:calc(var(--u)*1.4)}.lv-hud--bl{bottom:calc(var(--u)*1.2);left:calc(var(--u)*1.4)}.lv-hud--br{bottom:calc(var(--u)*1.2);right:calc(var(--u)*1.4)}
.lv-hero__copy{position:absolute;inset-inline-start:calc(var(--u)*5.6);top:calc(var(--u)*12.6);width:calc(var(--u)*60);z-index:2}
.lv-hero__kicker{margin-bottom:calc(var(--u)*1.6)}
.lv-hero__title{margin:0;font-weight:800;font-stretch:125%;font-size:calc(var(--u)*9.6);line-height:.86;letter-spacing:-.015em;text-transform:uppercase}
.lv-line{display:block;overflow:hidden;padding-bottom:.04em;white-space:nowrap}
.lv-line .lv-chars,.lv-line .lv-serif{display:inline-block}
.lv-hero__title .lv-l3 .lv-serif{font-size:calc(var(--u)*12.4);line-height:.82;color:var(--lv-accent);text-transform:none;margin-inline-start:-.02em;padding-inline-end:.1em}
.lv-c{display:inline-block;font-variation-settings:"wdth" var(--w,125)}
.lv-hero__sub{margin:calc(var(--u)*2) 0 0;width:calc(var(--u)*28);font-size:calc(var(--u)*0.98);line-height:1.5;color:rgba(237,232,224,.72)}
.lv-hero__scroll{position:absolute;left:50%;bottom:calc(var(--u)*5.4);transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:calc(var(--u)*0.6);font-family:var(--lv-mono);font-size:calc(var(--u)*0.62);letter-spacing:.16em;color:var(--lv-mute)}
.lv-hero__scroll i{display:block;width:1px;height:calc(var(--u)*2.6);background:linear-gradient(var(--lv-bone),transparent)}

/* ---------- 02 showreel ---------- */
.lv-reel{position:relative;height:100vh;height:100svh;--fw:calc(var(--u)*33.333)}
.lv-reel__inner{position:absolute;inset:0;overflow:hidden}
.lv-reel__word{position:absolute;top:50%;transform:translateY(-50%);font-weight:800;font-stretch:125%;font-size:calc(var(--u)*10.4);line-height:1;letter-spacing:-.02em;white-space:nowrap}
.lv-reel__word--l{right:calc(50% + var(--fw) / 2 + calc(var(--u)*1.6))}
.lv-reel__word--r{left:calc(50% + var(--fw) / 2 + calc(var(--u)*1.6))}
.lv-reel__frame{position:absolute;inset:0;background:#050404;overflow:hidden}
.lv-reel__canvas,.lv-reel__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.lv-reel__ui{position:absolute;inset:0;padding:calc(var(--u)*5.6) var(--lv-pad) calc(var(--u)*4.4);pointer-events:none}
.lv-reel__top{display:flex;justify-content:space-between;font-family:var(--lv-mono);font-size:calc(var(--u)*0.7);letter-spacing:.12em}
.lv-reel__title{position:absolute;inset-inline-start:var(--lv-pad);bottom:calc(var(--u)*7);margin:0;font-size:calc(var(--u)*6.6);font-weight:300;font-stretch:100%;letter-spacing:-.03em;line-height:.95}
.lv-reel__title em{color:var(--lv-accent-hi)}
.lv-reel__bottom{position:absolute;left:var(--lv-pad);right:var(--lv-pad);bottom:calc(var(--u)*4.4);display:flex;align-items:center;gap:calc(var(--u)*1.2);font-family:var(--lv-mono);font-size:calc(var(--u)*0.7);letter-spacing:.1em}
.lv-reel__scrub{flex:1;height:2px;background:rgba(237,232,224,.25);position:relative}
.lv-reel__scrub i{position:absolute;left:0;top:0;bottom:0;width:9%;background:var(--lv-accent)}
.lv-reel__play{position:absolute;right:var(--lv-pad);bottom:calc(var(--u)*7.4);pointer-events:auto;display:flex;align-items:center;gap:calc(var(--u)*0.8);background:none;border:1px solid rgba(237,232,224,.5);color:var(--lv-bone);border-radius:100px;padding:calc(var(--u)*0.9) calc(var(--u)*1.5);font-family:var(--lv-mono);font-size:calc(var(--u)*0.72);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.lv-reel__play:hover{background:var(--lv-bone);color:var(--lv-ink)}
.lv-modal{position:fixed;inset:0;z-index:95;background:rgba(5,4,4,.94);display:flex;align-items:center;justify-content:center;padding:calc(var(--u)*4)}
.lv-modal__box{width:min(calc(var(--u)*92),160vh);aspect-ratio:16/9;background:#000}
.lv-modal__box iframe,.lv-modal__box video{width:100%;height:100%;border:0;display:block}
.lv-modal__close{position:absolute;top:calc(var(--u)*2);right:calc(var(--u)*2.4);background:none;border:0;color:var(--lv-bone);font-family:var(--lv-mono);font-size:13px;letter-spacing:.14em;cursor:pointer}

/* ---------- 03 studio ---------- */
.lv-about{position:relative;padding:calc(var(--u)*12) var(--lv-side) calc(var(--u)*10);min-height:110vh}
.lv-about__text{margin:calc(var(--u)*2.4) 0 0;width:calc(var(--u)*76);max-width:100%;font-size:calc(var(--u)*4.5);line-height:1.08;font-weight:500;font-stretch:100%;letter-spacing:-.025em}
.lv-about__text .lv-w{display:inline-block}
.lv-pill{display:inline-block;width:calc(var(--u)*8.2);height:calc(var(--u)*3.6);border-radius:100px;vertical-align:calc(var(--u)*-0.45);margin-inline-end:.24em;background-size:200% 100%}
.lv-pill--ember,.lv-pill--gold{background-image:linear-gradient(110deg,var(--lv-accent),var(--lv-accent-hi) 30%,var(--lv-accent-deep) 55%,var(--lv-accent) 80%,var(--lv-accent-hi))}
.lv-pill--blue{background-image:linear-gradient(110deg,#1b3a5c,#6aa5ff 30%,#0b1a2b 55%,#1b3a5c 80%,#6aa5ff)}
.lv-pill--bone{background-image:linear-gradient(110deg,#8a847b,#ede8e0 30%,#3a3530 55%,#8a847b 80%,#ede8e0)}
.lv-pill--img{background-size:cover;background-position:center}
.lv-about__tags{display:flex;flex-wrap:wrap;gap:calc(var(--u)*1);margin:calc(var(--u)*4) 0 0;padding:0;list-style:none}
.lv-about__tags li{font-family:var(--lv-mono);font-size:calc(var(--u)*0.72);letter-spacing:.1em;text-transform:uppercase;border:1px solid rgba(237,232,224,.25);border-radius:100px;padding:calc(var(--u)*0.6) calc(var(--u)*1.2);color:rgba(237,232,224,.8)}

/* ---------- 04 services ---------- */
.lv-services{position:relative;height:100vh;height:100svh;min-height:600px;overflow:hidden}
.lv-services__head{position:absolute;left:var(--lv-side);right:var(--lv-side);top:calc(var(--u)*7.4);display:flex;gap:calc(var(--u)*5);align-items:flex-end}
.lv-h2{margin:calc(var(--u)*1.2) 0 0;font-size:calc(var(--u)*4.6);line-height:.98;font-weight:700;font-stretch:112%;letter-spacing:-.025em}
.lv-h2 em{color:var(--lv-accent);font-size:1.12em}
.lv-services__count{font-family:var(--lv-mono);font-size:calc(var(--u)*0.9);letter-spacing:.1em;color:var(--lv-mute);padding-bottom:calc(var(--u)*0.6);white-space:nowrap}
.lv-services__count b{color:var(--lv-bone);font-weight:400}
.lv-strip{position:absolute;left:0;right:0;top:calc(var(--u)*23);height:calc(var(--u)*28.4)}
.lv-strip__track{position:absolute;inset-inline-start:0;top:0;bottom:0;display:flex;gap:calc(var(--u)*1.1);padding:calc(var(--u)*2.5) calc(var(--u)*1.1) calc(var(--u)*2.5) var(--lv-side);background-color:#151311;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='42' height='48'%3E%3Crect x='10' y='14' width='22' height='20' rx='4' fill='%23ede8e0' fill-opacity='.85'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='42' height='48'%3E%3Crect x='10' y='14' width='22' height='20' rx='4' fill='%23ede8e0' fill-opacity='.85'/%3E%3C/svg%3E");
  background-repeat:repeat-x;background-position:0 0,0 100%;background-size:calc(var(--u)*2.19) calc(var(--u)*2.5);will-change:transform}
.lv-frame{flex:0 0 calc(var(--u)*33);height:100%;position:relative;border-radius:calc(var(--u)*0.3);overflow:hidden;padding:calc(var(--u)*2);display:flex;flex-direction:column;justify-content:space-between;
  background:radial-gradient(calc(var(--u)*30) calc(var(--u)*20) at 85% 0%,color-mix(in srgb,var(--lv-accent) 16%,transparent),transparent 60%),#1d1a17}
.lv-frame.is-hot{background:radial-gradient(calc(var(--u)*30) calc(var(--u)*22) at 80% 10%,color-mix(in srgb,var(--lv-accent-hi) 70%,transparent),transparent 55%),linear-gradient(160deg,var(--lv-accent),var(--lv-accent-lo));color:var(--lv-ink)}
.lv-frame.is-hot .lv-frame__top{color:rgba(11,10,9,.72)}
.lv-frame.is-hot .lv-frame__n{-webkit-text-stroke-color:rgba(11,10,9,.6)}
.lv-frame.is-hot .lv-frame__ico{stroke:var(--lv-ink)}
.lv-frame__top{display:flex;justify-content:space-between;align-items:flex-start;font-family:var(--lv-mono);font-size:calc(var(--u)*0.66);letter-spacing:.12em;color:rgba(237,232,224,.7)}
.lv-frame__n{font-family:var(--lv-sans);font-weight:800;font-stretch:125%;font-size:calc(var(--u)*5.4);line-height:.8;letter-spacing:-.02em;color:transparent;-webkit-text-stroke:1.5px rgba(237,232,224,.7)}
.lv-frame__ico{position:absolute;inset-inline-start:calc(var(--u)*2);top:calc(var(--u)*5.4);width:calc(var(--u)*3.4);height:calc(var(--u)*3.4);fill:none;stroke:var(--lv-bone);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;opacity:.9}
.lv-frame__ico img{width:100%;height:100%;object-fit:contain}
.lv-frame__body h3{margin:0;font-size:calc(var(--u)*2.9);line-height:.95;font-weight:700;font-stretch:110%;letter-spacing:-.02em;text-transform:uppercase}
.lv-frame__body p{margin:calc(var(--u)*1) 0 0;width:calc(var(--u)*24);max-width:100%;font-size:calc(var(--u)*0.92);line-height:1.45;color:rgba(237,232,224,.75)}
.lv-frame.is-hot .lv-frame__body p{color:rgba(11,10,9,.82)}
.lv-frame a.lv-frame__link{position:absolute;inset:0;z-index:2}

/* ---------- 05 work ring ---------- */
.lv-work{position:relative;height:100vh;height:100svh;min-height:620px;overflow:hidden;background:radial-gradient(calc(var(--u)*50) calc(var(--u)*30) at 50% 55%,color-mix(in srgb,var(--lv-accent) 12%,transparent),transparent 70%);--cw:calc(var(--u)*22.4);--ch:calc(var(--u)*29.2)}
.lv-work__label{position:absolute;inset-inline-start:var(--lv-side);top:calc(var(--u)*7.4)}
.lv-work__bg{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:900;font-stretch:125%;font-size:calc(var(--u)*13);line-height:.86;letter-spacing:-.02em;color:transparent;-webkit-text-stroke:1.5px rgba(237,232,224,.2);transform:translateY(calc(var(--u)*-3));pointer-events:none;white-space:nowrap}
.lv-ring-wrap{position:absolute;left:0;right:0;top:0;height:75%;perspective:2400px;perspective-origin:50% 40%}
.lv-ring{position:absolute;left:50%;top:52%;width:0;height:0;transform-style:preserve-3d}
.lv-card{position:absolute;left:calc(var(--cw) / -2);top:calc(var(--ch) / -2);width:var(--cw);height:var(--ch);margin:0;transform-style:preserve-3d}
.lv-card__f,.lv-card__b{position:absolute;inset:0;border-radius:calc(var(--u)*0.6);overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 calc(var(--u)*2) calc(var(--u)*4) rgba(0,0,0,.45)}
.lv-card__f img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.lv-card__f:after{content:"";position:absolute;inset:auto 0 0 0;height:45%;background:linear-gradient(transparent,rgba(0,0,0,.55));pointer-events:none}
.lv-card.is-light .lv-card__f:after{display:none}
.lv-card__b{transform:rotateY(180deg);background:radial-gradient(calc(var(--u)*18) calc(var(--u)*18) at 50% 40%,color-mix(in srgb,var(--lv-accent) 22%,transparent),transparent 70%),#15130f;border:1px solid rgba(237,232,224,.12);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(var(--u)*1)}
.lv-card__b .lv-logo__mark i{width:calc(var(--u)*0.7);height:calc(var(--u)*2.6)}
.lv-card__b b{font-weight:800;font-stretch:125%;font-size:calc(var(--u)*1.2);letter-spacing:.04em}
.lv-card__b small{font-family:var(--lv-mono);font-size:calc(var(--u)*0.6);letter-spacing:.14em;color:var(--lv-mute)}
.lv-card figcaption{position:absolute;left:calc(var(--u)*1.3);right:calc(var(--u)*1.3);bottom:calc(var(--u)*1.2);display:flex;flex-direction:column;gap:calc(var(--u)*0.4);z-index:2}
.lv-card figcaption span{font-family:var(--lv-mono);font-size:calc(var(--u)*0.6);letter-spacing:.12em;color:rgba(237,232,224,.8);text-transform:uppercase}
.lv-card figcaption b{font-size:calc(var(--u)*1.9);font-weight:700;font-stretch:110%;letter-spacing:-.02em;line-height:1}
.lv-card.is-light figcaption span{color:rgba(11,10,9,.6)}.lv-card.is-light figcaption b{color:var(--lv-ink)}
.lv-card__shade{position:absolute;inset:0;background:#000;opacity:0;pointer-events:none;z-index:3}
.lv-work__info{position:absolute;left:var(--lv-side);right:var(--lv-side);bottom:calc(var(--u)*6.4);display:flex;align-items:flex-end;gap:calc(var(--u)*3);border-top:1px solid rgba(237,232,224,.18);padding-top:calc(var(--u)*1.6)}
.lv-work__idx{font-weight:800;font-stretch:125%;font-size:calc(var(--u)*4.2);line-height:.8;display:flex;align-items:flex-start;gap:calc(var(--u)*0.4);min-width:calc(var(--u)*11)}
.lv-work__idx small{font-family:var(--lv-mono);font-weight:400;font-size:calc(var(--u)*0.8);color:var(--lv-mute);margin-top:calc(var(--u)*0.3)}
.lv-work__text{flex:1;overflow:hidden}
.lv-work__text h3{margin:0;font-size:calc(var(--u)*2.6);font-weight:700;font-stretch:110%;letter-spacing:-.02em;line-height:1}
.lv-work__text p{margin:calc(var(--u)*0.6) 0 0;font-size:calc(var(--u)*0.95);line-height:1.45;color:rgba(237,232,224,.7);max-width:calc(var(--u)*44)}
.lv-work__nav{display:none}

/* ---------- 06 partners ---------- */
.lv-partners{position:relative;height:100vh;height:100svh;min-height:640px;padding:calc(var(--u)*8) 0 calc(var(--u)*4.6);overflow:hidden;display:flex;flex-direction:column}
.lv-partners>.lv-label{padding:0 var(--lv-side)}
.lv-marquee{white-space:nowrap;margin-top:calc(var(--u)*1.6);direction:ltr}
.lv-marquee__t{display:inline-flex;will-change:transform}
.lv-marquee__t span{font-weight:800;font-stretch:125%;font-size:calc(var(--u)*8.4);line-height:1;letter-spacing:-.02em;padding-inline-end:.3em}
.lv-m1 .lv-marquee__t span{color:var(--lv-bone)}
.lv-m2 .lv-marquee__t span{color:transparent;-webkit-text-stroke:1.5px rgba(237,232,224,.55);font-weight:700}
.lv-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:calc(var(--u)*2);padding:0 var(--lv-side);margin:auto 0 0;list-style:none}
.lv-stat{border-top:1px solid rgba(237,232,224,.2);padding-top:calc(var(--u)*1.4)}
.lv-stat b{display:block;font-weight:800;font-stretch:125%;font-size:calc(var(--u)*5.6);line-height:.9;letter-spacing:-.03em}
.lv-stat>span{display:block;margin-top:calc(var(--u)*0.8);font-family:var(--lv-mono);font-size:calc(var(--u)*0.7);letter-spacing:.1em;text-transform:uppercase;color:var(--lv-mute)}

/* ---------- 07 action ---------- */
.lv-cta{position:relative;min-height:100vh;min-height:100svh;padding:calc(var(--u)*9) var(--lv-side) calc(var(--u)*4);background:radial-gradient(calc(var(--u)*50) calc(var(--u)*36) at 75% 40%,color-mix(in srgb,var(--lv-accent) 18%,transparent),transparent 65%)}
.lv-cta__title{margin:calc(var(--u)*1.4) 0 0;font-weight:800;font-stretch:125%;font-size:calc(var(--u)*15);line-height:.82;letter-spacing:-.03em;text-transform:uppercase}
.lv-cta__title .lv-serif{font-size:1.14em;color:var(--lv-accent);text-transform:none;line-height:.8;margin-inline-start:.04em}
.lv-cta__row{display:flex;align-items:center;gap:calc(var(--u)*3);margin-top:calc(var(--u)*3.4);flex-wrap:wrap}
.lv-cta__mail{font-size:calc(var(--u)*2.1);font-weight:500;letter-spacing:-.02em;border-bottom:1px solid rgba(237,232,224,.4);padding-bottom:calc(var(--u)*0.3)}
.lv-cta__mail:hover{color:var(--lv-accent)}

/* ---------- footer ---------- */
.lv-foot{position:relative;z-index:2;padding:0 var(--lv-side) calc(var(--u)*5)}
.lv-foot__cols{display:grid;grid-template-columns:repeat(4,1fr);gap:calc(var(--u)*2);border-top:1px solid rgba(237,232,224,.18);padding-top:calc(var(--u)*2)}
.lv-foot h4{margin:0 0 calc(var(--u)*0.8);font-family:var(--lv-mono);font-weight:500;font-size:calc(var(--u)*0.7);letter-spacing:.12em;text-transform:uppercase;color:var(--lv-accent)}
.lv-foot p{margin:0;font-size:calc(var(--u)*0.95);line-height:1.55;color:rgba(237,232,224,.75)}
.lv-foot p a:hover{color:var(--lv-bone)}
.lv-foot__bottom{display:flex;justify-content:space-between;gap:calc(var(--u)*2);margin-top:calc(var(--u)*3);font-family:var(--lv-mono);font-size:calc(var(--u)*0.62);letter-spacing:.12em;text-transform:uppercase;color:var(--lv-mute)}

/* ---------- inner pages ---------- */
.lv-page{position:relative;z-index:2;padding:calc(var(--u)*12) var(--lv-side) calc(var(--u)*6);max-width:100%}
.lv-page__head{margin-bottom:calc(var(--u)*4)}
.lv-page__head h1{margin:calc(var(--u)*1) 0 0;font-weight:800;font-stretch:125%;font-size:calc(var(--u)*7);line-height:.9;letter-spacing:-.02em;text-transform:uppercase}
.lv-prose{max-width:52rem;font-size:max(calc(var(--u)*1.05),17px);line-height:1.65;color:rgba(237,232,224,.85)}
.lv-prose a{color:var(--lv-accent);text-decoration:underline}
.lv-prose h2,.lv-prose h3{font-stretch:110%;line-height:1.1;color:var(--lv-bone)}
.lv-prose img{max-width:100%;height:auto}
.lv-list{display:grid;gap:calc(var(--u)*2);margin-top:calc(var(--u)*2)}
.lv-list a{display:block;border-top:1px solid rgba(237,232,224,.18);padding-top:calc(var(--u)*1.4)}
.lv-list h2{margin:0;font-size:max(calc(var(--u)*2.4),26px);font-stretch:112%;letter-spacing:-.02em}
.lv-list time{font-family:var(--lv-mono);font-size:12px;letter-spacing:.1em;color:var(--lv-mute)}
.lv-elementor-page{position:relative;z-index:2}

/* =========================================================
   Inner pages: page header, story, services index, portfolio grid,
   project / service / article pages, contact
   ========================================================= */
html[dir=rtl]{--lv-dir:-1}
.lv-logo img{height:calc(var(--u)*1.55)}

/* ---- page header ---- */
.lv-ph{position:relative;min-height:100vh;min-height:100svh;padding:calc(var(--u)*11) var(--lv-side) calc(var(--u)*6.8);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;
  background:radial-gradient(calc(var(--u)*55) calc(var(--u)*45) at 76% 46%,color-mix(in srgb,var(--lv-accent) 13%,transparent),transparent 62%)}
.lv-ph.has-media{min-height:0;padding-bottom:0}
.lv-ph__hud{position:absolute;inset:calc(var(--u)*7.6) var(--lv-pad) calc(var(--u)*4.6);pointer-events:none;font-family:var(--lv-mono);font-size:calc(var(--u)*0.64);letter-spacing:.14em;color:rgba(237,232,224,.6)}
.lv-ph.has-media .lv-ph__hud{bottom:auto;height:calc(var(--u)*30)}
.lv-ph__hud i{position:absolute;width:calc(var(--u)*2.2);height:calc(var(--u)*2.2);border:0 solid rgba(237,232,224,.45)}
.lv-ph__hud i:nth-child(1){top:0;inset-inline-start:0;border-top-width:1px;border-inline-start-width:1px}
.lv-ph__hud i:nth-child(2){top:0;inset-inline-end:0;border-top-width:1px;border-inline-end-width:1px}
.lv-ph__hud i:nth-child(3){bottom:0;inset-inline-start:0;border-bottom-width:1px;border-inline-start-width:1px}
.lv-ph__hud i:nth-child(4){bottom:0;inset-inline-end:0;border-bottom-width:1px;border-inline-end-width:1px}
.lv-ph__rec{position:absolute;top:calc(var(--u)*0.9);inset-inline-start:calc(var(--u)*1.1)}
.lv-ph__tc{position:absolute;top:calc(var(--u)*0.9);inset-inline-end:calc(var(--u)*1.1);font-variant-numeric:tabular-nums}
.lv-ph__in{position:relative;z-index:2}
.lv-ph__label{margin-bottom:calc(var(--u)*1.2)}
.lv-ph__title{margin:0;font-weight:800;font-stretch:125%;font-size:calc(var(--u)*11.2);line-height:.86;letter-spacing:-.035em;text-transform:uppercase;max-width:calc(var(--u)*110)}
.lv-ph__title em{color:var(--lv-accent);text-transform:none;font-size:1.06em;line-height:.8;letter-spacing:-.02em;padding-inline-end:.08em}
.lv-ph__title.is-mid{font-size:calc(var(--u)*7.6);line-height:.9;max-width:calc(var(--u)*120)}
.lv-ph__title.is-long{font-size:calc(var(--u)*5.2);line-height:.95;font-stretch:110%;letter-spacing:-.025em;max-width:calc(var(--u)*96)}
.lv-ph .lv-line{display:block;overflow:hidden;padding:.02em 0 .06em;margin-bottom:-.04em;white-space:normal;overflow-wrap:break-word}
.lv-ph .lv-line>span{display:inline-block}
.lv-ph__sub{margin:calc(var(--u)*1.4) 0 0;max-width:calc(var(--u)*70);font-family:var(--lv-serif);font-style:italic;font-size:calc(var(--u)*2.5);line-height:1.12;color:var(--lv-accent-hi)}
.lv-ph__foot{display:flex;justify-content:space-between;align-items:flex-end;gap:calc(var(--u)*4);margin-top:calc(var(--u)*3);border-top:1px solid rgba(237,232,224,.18);padding-top:calc(var(--u)*1.3)}
.lv-ph__text{margin:0;max-width:calc(var(--u)*46);font-size:calc(var(--u)*1.3);line-height:1.5;color:rgba(237,232,224,.82)}
.lv-ph__meta{margin-inline-start:auto;font-family:var(--lv-mono);font-size:calc(var(--u)*0.7);letter-spacing:.12em;text-transform:uppercase;color:var(--lv-mute);white-space:nowrap}
.lv-ph__media{position:relative;margin:calc(var(--u)*3.6) calc(var(--lv-side)*-1) 0;height:calc(var(--u)*48);max-height:88vh;overflow:hidden;background:#15130f}
/* covers are often square social posts: the picture is shown whole, over a blurred copy of itself */
.lv-ph__media .lv-ph__bg{position:absolute;inset:-10%;width:120%;height:120%;object-fit:cover;filter:blur(40px) brightness(.42) saturate(1.15);transform:scale(1.05)}
.lv-ph__media .lv-ph__img{position:relative;display:block;width:100%;height:100%;object-fit:contain;padding:calc(var(--u)*2.4) 0}
.lv-crumbs{display:flex;flex-wrap:wrap;gap:.7em;margin-bottom:calc(var(--u)*1.2);font-family:var(--lv-mono);font-size:calc(var(--u)*0.72);letter-spacing:.08em;text-transform:uppercase;color:var(--lv-mute)}
.lv-crumbs a{transition:color .25s}.lv-crumbs a:hover{color:var(--lv-accent)}
.lv-crumbs i{font-style:normal;opacity:.45}.lv-crumbs i:last-child{display:none}

/* ---- story chapters (About) ---- */
.lv-chap{position:relative;padding:calc(var(--u)*7) var(--lv-side) calc(var(--u)*8)}
.lv-chap__list{list-style:none;margin:calc(var(--u)*2.4) 0 0;padding:0}
.lv-chap__item{display:grid;grid-template-columns:calc(var(--u)*30) minmax(0,1fr);gap:calc(var(--u)*4);padding:calc(var(--u)*4) 0 calc(var(--u)*5);border-top:1px solid rgba(237,232,224,.18)}
.lv-chap__n{position:sticky;top:calc(var(--u)*9);align-self:start;font-weight:800;font-stretch:125%;font-size:calc(var(--u)*15);line-height:.78;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1.5px rgba(237,232,224,.32);transition:-webkit-text-stroke-color .4s}
.lv-chap__item:hover .lv-chap__n,.lv-chap__item.is-in .lv-chap__n{-webkit-text-stroke-color:var(--lv-accent)}
.lv-chap__tag{margin:0 0 calc(var(--u)*1.2);font-family:var(--lv-mono);font-size:calc(var(--u)*0.7);letter-spacing:.12em;color:var(--lv-accent)}
.lv-chap__title{margin:0;font-size:calc(var(--u)*4.6);line-height:.96;font-weight:700;font-stretch:112%;letter-spacing:-.025em}
.lv-chap__text{margin:calc(var(--u)*1.8) 0 0;max-width:calc(var(--u)*58);font-size:calc(var(--u)*1.6);line-height:1.48;color:rgba(237,232,224,.84)}

/* ---- services index ---- */
.lv-sx{position:relative;padding:calc(var(--u)*6) var(--lv-side) calc(var(--u)*8)}
.lv-sx__list{list-style:none;margin:calc(var(--u)*2) 0 0;padding:0}
.lv-sx__row{border-top:1px solid rgba(237,232,224,.18)}
.lv-sx__row:last-child{border-bottom:1px solid rgba(237,232,224,.18)}
.lv-sx__main{display:grid;grid-template-columns:calc(var(--u)*6) minmax(0,1fr) auto calc(var(--u)*4);align-items:baseline;gap:calc(var(--u)*2);padding:calc(var(--u)*2.2) 0 calc(var(--u)*1.2)}
.lv-sx__n{font-family:var(--lv-mono);font-size:calc(var(--u)*0.8);color:var(--lv-mute)}
.lv-sx__title{margin:0;font-weight:800;font-stretch:125%;font-size:calc(var(--u)*6.2);line-height:.9;letter-spacing:-.03em;text-transform:uppercase;transition:color .35s,transform .6s cubic-bezier(.2,.7,.2,1)}
.lv-sx__main:hover .lv-sx__title{color:var(--lv-accent);transform:translateX(calc(var(--u)*1.4*var(--lv-dir,1)))}
.lv-sx__count{font-family:var(--lv-mono);font-size:calc(var(--u)*0.7);letter-spacing:.1em;text-transform:uppercase;color:var(--lv-mute);white-space:nowrap}
.lv-sx__go{justify-self:end;font-size:calc(var(--u)*2.2);line-height:1;transition:transform .4s,color .3s}
.lv-sx__main:hover .lv-sx__go{color:var(--lv-accent);transform:rotate(45deg)}
.lv-sx__more{display:grid;grid-template-columns:calc(var(--u)*6) minmax(0,calc(var(--u)*48)) minmax(0,1fr);gap:calc(var(--u)*2);padding:0 0 calc(var(--u)*2.4)}
.lv-sx__more p{grid-column:2;margin:0;font-size:calc(var(--u)*1.1);line-height:1.55;color:rgba(237,232,224,.72)}
.lv-sx__subs{grid-column:3;list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:calc(var(--u)*0.55);align-content:flex-start;justify-content:flex-end}
.lv-sx__subs a,.lv-socials a{display:inline-block;border:1px solid rgba(237,232,224,.28);border-radius:100px;padding:calc(var(--u)*0.5) calc(var(--u)*1);font-family:var(--lv-mono);font-size:calc(var(--u)*0.64);letter-spacing:.08em;text-transform:uppercase;transition:background .3s,color .3s,border-color .3s}
.lv-sx__subs a:hover,.lv-socials a:hover{background:var(--lv-accent);border-color:var(--lv-accent);color:var(--lv-ink)}
.lv-peek{position:fixed;top:0;left:0;z-index:40;width:calc(var(--u)*22);aspect-ratio:4/3;overflow:hidden;border-radius:calc(var(--u)*0.3);pointer-events:none;opacity:0;transition:opacity .3s;will-change:transform}
.lv-peek.is-on{opacity:1}
.lv-peek img{width:100%;height:100%;object-fit:cover;display:block}

/* ---- portfolio grid + project cards ---- */
.lv-grid{position:relative;padding:calc(var(--u)*3) var(--lv-side) calc(var(--u)*8)}
.lv-filters{position:sticky;top:calc(var(--u)*5.8);z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:calc(var(--u)*0.6);margin:0 calc(var(--lv-side)*-1) calc(var(--u)*2.6);padding:calc(var(--u)*1) var(--lv-side);background:linear-gradient(var(--lv-ink) 72%,transparent)}
.admin-bar .lv-filters{top:calc(var(--u)*5.8 + 32px)}
.lv-filters .lv-label{margin-inline-end:calc(var(--u)*0.8)}
.lv-chip{display:inline-flex;align-items:baseline;gap:.35em;border:1px solid rgba(237,232,224,.28);border-radius:100px;padding:calc(var(--u)*0.55) calc(var(--u)*1.05);font-family:var(--lv-mono);font-size:calc(var(--u)*0.68);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .3s,color .3s,border-color .3s}
.lv-chip sup{font-size:.78em;color:var(--lv-mute);transition:color .3s}
.lv-chip:hover{border-color:var(--lv-bone)}
.lv-chip.is-on{background:var(--lv-accent);border-color:var(--lv-accent);color:var(--lv-ink)}
.lv-chip.is-on sup{color:rgba(11,10,9,.6)}
.lv-grid__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(var(--u)*3.4) calc(var(--u)*2)}
.lv-pc[hidden]{display:none}
.lv-pc.is-mid>a{transform:translateY(calc(var(--u)*5))}
.lv-grid__list:has(.lv-pc.is-mid){padding-bottom:calc(var(--u)*5)}
.lv-pc a{display:block}
.lv-pc__img{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;border-radius:calc(var(--u)*0.25);background:#15130f}
.lv-pc__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.85);transition:transform 1s cubic-bezier(.2,.7,.2,1),filter .6s}
.lv-pc a:hover .lv-pc__img img{transform:scale(1.06);filter:saturate(1.05)}
.lv-pc__ph{position:absolute;inset:0;display:grid;place-items:center;font-weight:800;font-stretch:125%;font-size:calc(var(--u)*9);color:rgba(237,232,224,.07);text-transform:uppercase}
.lv-pc__corners i,.lv-gal__list a::before{content:"";position:absolute;width:calc(var(--u)*1.4);height:calc(var(--u)*1.4);border:0 solid var(--lv-accent);opacity:0;transition:opacity .3s,transform .4s}
.lv-pc__corners i:nth-child(1){top:calc(var(--u)*0.8);inset-inline-start:calc(var(--u)*0.8);border-top-width:2px;border-inline-start-width:2px}
.lv-pc__corners i:nth-child(2){top:calc(var(--u)*0.8);inset-inline-end:calc(var(--u)*0.8);border-top-width:2px;border-inline-end-width:2px}
.lv-pc__corners i:nth-child(3){bottom:calc(var(--u)*0.8);inset-inline-start:calc(var(--u)*0.8);border-bottom-width:2px;border-inline-start-width:2px}
.lv-pc__corners i:nth-child(4){bottom:calc(var(--u)*0.8);inset-inline-end:calc(var(--u)*0.8);border-bottom-width:2px;border-inline-end-width:2px}
.lv-pc a:hover .lv-pc__corners i{opacity:1}
.lv-pc__meta{display:flex;justify-content:space-between;gap:1em;margin-top:calc(var(--u)*1.1);font-family:var(--lv-mono);font-size:calc(var(--u)*0.64);letter-spacing:.1em;text-transform:uppercase;color:var(--lv-mute)}
.lv-pc__title{display:block;margin-top:calc(var(--u)*0.5);font-size:calc(var(--u)*1.9);font-weight:700;font-stretch:110%;line-height:1.04;letter-spacing:-.01em;text-transform:uppercase;transition:color .3s}
.lv-pc a:hover .lv-pc__title{color:var(--lv-accent)}
.lv-pc__sub{display:block;margin-top:calc(var(--u)*0.35);font-family:var(--lv-serif);font-style:italic;font-size:calc(var(--u)*1.2);line-height:1.25;color:rgba(237,232,224,.66)}
.lv-grid__more{margin:calc(var(--u)*4) 0 0;text-align:center}
.lv-grid__more .lv-btn{background:none;color:var(--lv-bone);cursor:pointer}
.lv-related__head{display:flex;justify-content:space-between;align-items:center;gap:calc(var(--u)*2);margin-bottom:calc(var(--u)*2.4)}
.lv-empty{margin:0;font-size:calc(var(--u)*1.2);color:var(--lv-mute)}

/* ---- project / service / article body ---- */
.lv-case{position:relative;display:grid;grid-template-columns:calc(var(--u)*24) minmax(0,1fr);gap:calc(var(--u)*6);padding:calc(var(--u)*7) var(--lv-side) calc(var(--u)*6)}
.lv-case__facts{position:sticky;top:calc(var(--u)*9);align-self:start}
.lv-case__facts dl{margin:0}
.lv-case__facts dt{margin-top:calc(var(--u)*1.2);font-family:var(--lv-mono);font-size:calc(var(--u)*0.64);letter-spacing:.12em;text-transform:uppercase;color:var(--lv-mute)}
.lv-case__facts dt:first-child{margin-top:0}
.lv-case__facts dd{margin:calc(var(--u)*0.35) 0 0;padding-bottom:calc(var(--u)*0.8);border-bottom:1px solid rgba(237,232,224,.14);font-size:calc(var(--u)*1.1);font-weight:500;line-height:1.3}
.lv-case__facts a{color:var(--lv-accent)}
.lv-case__text{max-width:calc(var(--u)*64);font-size:max(calc(var(--u)*1.28),17px);line-height:1.64}
.lv-case__text>p:first-child{font-size:1.3em;line-height:1.4;color:var(--lv-bone)}
.lv-prose p{margin:0 0 1.1em}
.lv-prose h2,.lv-prose h3,.lv-prose h4{margin:1.7em 0 .5em;font-weight:700}
.lv-prose h3{font-size:1.45em;letter-spacing:-.01em}
.lv-prose h3::before{content:"";display:inline-block;width:.5em;height:.5em;margin-inline-end:.5em;border-radius:50%;background:var(--lv-accent);vertical-align:.12em}
.lv-prose ul,.lv-prose ol{margin:0 0 1.1em;padding-inline-start:1.2em}
.lv-prose li{margin:.3em 0}
.lv-prose strong{color:var(--lv-bone);font-weight:600}

/* ---- gallery + lightbox ---- */
.lv-gal{position:relative;padding:calc(var(--u)*3) var(--lv-side) calc(var(--u)*8)}
.lv-gal__list{list-style:none;margin:calc(var(--u)*2) 0 0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:calc(var(--u)*2)}
.lv-gal__w6{grid-column:span 6}.lv-gal__w3{grid-column:span 3}.lv-gal__w2{grid-column:span 2}
.lv-gal__list a{position:relative;display:block;overflow:hidden;border-radius:calc(var(--u)*0.25);background:#15130f}
.lv-gal__list{align-items:start}
.lv-gal__list img{display:block;width:100%;height:auto;object-fit:contain;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.lv-gal__w6 img{max-height:82vh;margin:0 auto;width:auto;max-width:100%}
.lv-gal__w6 a{text-align:center}
.lv-gal__list a:hover img{transform:scale(1.04)}
.lv-gal__n{position:absolute;top:calc(var(--u)*1);inset-inline-start:calc(var(--u)*1);padding:calc(var(--u)*0.3) calc(var(--u)*0.7);border-radius:100px;background:rgba(11,10,9,.6);font-family:var(--lv-mono);font-size:calc(var(--u)*0.6);letter-spacing:.12em;color:var(--lv-bone)}
.lv-lightbox{position:fixed;inset:0;z-index:95;display:flex;align-items:center;justify-content:center;background:rgba(5,4,4,.94);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.lv-lightbox.is-open{opacity:1;visibility:visible}
.lv-lightbox img{max-width:88vw;max-height:84vh;object-fit:contain;display:block}
.lv-lightbox button{position:absolute;background:none;border:0;color:var(--lv-bone);font-family:var(--lv-mono);font-size:calc(var(--u)*0.8);letter-spacing:.12em;cursor:pointer;padding:calc(var(--u)*1.2)}
.lv-lightbox__close{top:calc(var(--u)*1.4);inset-inline-end:calc(var(--u)*2)}
.lv-lightbox__prev{inset-inline-start:calc(var(--u)*1.6);top:50%;transform:translateY(-50%);font-size:calc(var(--u)*2.4)!important}
.lv-lightbox__next{inset-inline-end:calc(var(--u)*1.6);top:50%;transform:translateY(-50%);font-size:calc(var(--u)*2.4)!important}
.lv-lightbox__count{position:absolute;bottom:calc(var(--u)*2);left:50%;transform:translateX(-50%);font-family:var(--lv-mono);font-size:calc(var(--u)*0.7);letter-spacing:.14em;color:var(--lv-mute)}
.lv-lightbox button:hover{color:var(--lv-accent)}

/* ---- services inside a group ---- */
.lv-subs{position:relative;padding:calc(var(--u)*3) var(--lv-side) calc(var(--u)*7)}
.lv-subs__list{list-style:none;margin:calc(var(--u)*2) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(var(--u)*1.4)}
.lv-subs__list a{position:relative;display:flex;flex-direction:column;height:100%;min-height:calc(var(--u)*21);padding:calc(var(--u)*2);border:1px solid rgba(237,232,224,.16);border-radius:calc(var(--u)*0.3);background:radial-gradient(calc(var(--u)*24) calc(var(--u)*16) at 90% 0%,color-mix(in srgb,var(--lv-accent) 10%,transparent),transparent 60%),#15130f;transition:background .45s,color .3s,border-color .3s}
.lv-subs__list a:hover{background:radial-gradient(calc(var(--u)*24) calc(var(--u)*18) at 80% 10%,color-mix(in srgb,var(--lv-accent-hi) 60%,transparent),transparent 55%),linear-gradient(160deg,var(--lv-accent),var(--lv-accent-lo));color:var(--lv-ink);border-color:transparent}
.lv-subs__n{font-family:var(--lv-mono);font-size:calc(var(--u)*0.64);letter-spacing:.12em;color:var(--lv-mute)}
.lv-subs__list a:hover .lv-subs__n{color:rgba(11,10,9,.65)}
.lv-subs h2{margin:auto 0 0;padding-top:calc(var(--u)*3);font-size:calc(var(--u)*2.3);line-height:1;font-weight:700;font-stretch:110%;letter-spacing:-.01em;text-transform:uppercase}
.lv-subs p{margin:calc(var(--u)*1) 0 0;font-size:calc(var(--u)*0.95);line-height:1.5;color:rgba(237,232,224,.7);transition:color .3s}
.lv-subs__list a:hover p{color:rgba(11,10,9,.82)}
.lv-subs__go{position:absolute;top:calc(var(--u)*1.5);inset-inline-end:calc(var(--u)*1.7);font-size:calc(var(--u)*1.6);line-height:1}

/* ---- next project ---- */
.lv-next{position:relative;display:block;overflow:hidden;padding:calc(var(--u)*7) var(--lv-side);border-top:1px solid rgba(237,232,224,.18)}
.lv-next__title{position:relative;z-index:2;display:block;margin-top:calc(var(--u)*1.4);max-width:calc(var(--u)*80);font-weight:800;font-stretch:125%;font-size:calc(var(--u)*8.6);line-height:.86;letter-spacing:-.035em;text-transform:uppercase;transition:color .4s}
.lv-next:hover .lv-next__title{color:var(--lv-accent)}
.lv-next__img{position:absolute;inset-inline-end:var(--lv-side);top:50%;width:calc(var(--u)*30);aspect-ratio:4/3;overflow:hidden;border-radius:calc(var(--u)*0.3);opacity:.35;transform:translateY(-50%) rotate(-3deg) scale(.9);transition:opacity .5s,transform .7s cubic-bezier(.2,.7,.2,1)}
.lv-next__img img{width:100%;height:100%;object-fit:cover;display:block}
.lv-next:hover .lv-next__img{opacity:1;transform:translateY(-50%) rotate(0) scale(1)}

/* ---- articles ---- */
.lv-blog{position:relative;padding:calc(var(--u)*3) var(--lv-side) calc(var(--u)*8)}
.lv-blog--more{padding-top:calc(var(--u)*5);border-top:1px solid rgba(237,232,224,.18)}
.lv-blog--more .lv-posts{margin-top:calc(var(--u)*2.4)}
.lv-posts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(var(--u)*3.4) calc(var(--u)*2)}
.lv-post.is-big{grid-column:1/-1}
.lv-post a{display:block}
.lv-post.is-big a{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);column-gap:calc(var(--u)*3.4);align-items:end}
.lv-post__img{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;border-radius:calc(var(--u)*0.25);background:#15130f}
.lv-post.is-big .lv-post__img{grid-row:1/span 5;aspect-ratio:16/9}
.lv-post__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.lv-post a:hover .lv-post__img img{transform:scale(1.05)}
.lv-post__meta{display:flex;gap:calc(var(--u)*1.2);margin-top:calc(var(--u)*1.2);font-family:var(--lv-mono);font-size:calc(var(--u)*0.64);letter-spacing:.1em;text-transform:uppercase;color:var(--lv-mute)}
.lv-post__meta span{color:var(--lv-accent)}
.lv-post__title{display:block;margin-top:calc(var(--u)*0.6);font-size:calc(var(--u)*1.65);font-weight:700;font-stretch:106%;line-height:1.14;letter-spacing:-.01em;transition:color .3s}
.lv-post.is-big .lv-post__title{font-size:calc(var(--u)*3.1);line-height:1.02;letter-spacing:-.02em}
.lv-post a:hover .lv-post__title{color:var(--lv-accent)}
.lv-post__ex{display:block;margin-top:calc(var(--u)*0.8);font-size:calc(var(--u)*1);line-height:1.55;color:rgba(237,232,224,.68)}
.lv-post__go{display:inline-block;margin-top:calc(var(--u)*1.2);padding-bottom:.2em;border-bottom:1px solid currentColor;font-family:var(--lv-mono);font-size:calc(var(--u)*0.64);letter-spacing:.1em;text-transform:uppercase}
.lv-pager .nav-links{display:flex;flex-wrap:wrap;justify-content:center;gap:calc(var(--u)*0.6);margin-top:calc(var(--u)*4);font-family:var(--lv-mono);font-size:calc(var(--u)*0.8)}
.lv-pager .page-numbers{display:inline-block;min-width:2.6em;padding:.5em .9em;border:1px solid rgba(237,232,224,.28);border-radius:100px;text-align:center}
.lv-pager .current{background:var(--lv-accent);border-color:var(--lv-accent);color:var(--lv-ink)}
.lv-pager .screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---- contact ---- */
.lv-contact{position:relative;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:calc(var(--u)*7);padding:calc(var(--u)*6) var(--lv-side) calc(var(--u)*9)}
.lv-contact__info>.lv-label{margin-bottom:calc(var(--u)*1.4)}
.lv-contact__block{border-top:1px solid rgba(237,232,224,.18);padding:calc(var(--u)*1.4) 0 calc(var(--u)*2)}
.lv-contact__block h3{margin:0 0 calc(var(--u)*0.8);font-family:var(--lv-mono);font-size:calc(var(--u)*0.66);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--lv-accent)}
.lv-contact__big{font-size:calc(var(--u)*2.3);font-weight:600;letter-spacing:-.02em;overflow-wrap:anywhere;transition:color .3s}
.lv-contact__line{display:block;width:max-content;font-size:calc(var(--u)*1.6);font-weight:500;line-height:1.5;transition:color .3s}
.lv-contact__big:hover,.lv-contact__line:hover,.lv-link:hover{color:var(--lv-accent)}
.lv-contact__offices{display:grid;grid-template-columns:1fr 1fr;column-gap:calc(var(--u)*2)}
.lv-contact__block p{margin:0;font-size:calc(var(--u)*1.05);line-height:1.55;color:rgba(237,232,224,.8)}
.lv-link{display:inline-block;margin-top:calc(var(--u)*0.8);padding-bottom:.15em;border-bottom:1px solid currentColor;font-family:var(--lv-mono);font-size:calc(var(--u)*0.64);letter-spacing:.1em;text-transform:uppercase;transition:color .3s}
.lv-socials{list-style:none;margin:calc(var(--u)*0.6) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:calc(var(--u)*0.55)}
.lv-contact__form{position:relative;scroll-margin-top:calc(var(--u)*8)}
.lv-contact__form .lv-h2{margin:0 0 calc(var(--u)*2.4)}
.lv-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:calc(var(--u)*1.8) calc(var(--u)*2)}
.lv-field{display:flex;flex-direction:column;gap:calc(var(--u)*0.4)}
.lv-field.is-wide{grid-column:1/-1}
.lv-field>span{font-family:var(--lv-mono);font-size:calc(var(--u)*0.64);letter-spacing:.12em;text-transform:uppercase;color:var(--lv-mute)}
.lv-field b{color:var(--lv-accent);font-weight:400}
.lv-field input,.lv-field textarea{width:100%;padding:calc(var(--u)*0.6) 0;border:0;border-bottom:1px solid rgba(237,232,224,.3);border-radius:0;background:transparent;color:var(--lv-bone);font:inherit;font-size:max(calc(var(--u)*1.3),16px);outline:none;transition:border-color .3s,box-shadow .3s}
.lv-field input:focus,.lv-field textarea:focus{border-bottom-color:var(--lv-accent);box-shadow:0 1px 0 var(--lv-accent)}
.lv-field textarea{min-height:calc(var(--u)*9);resize:vertical}
.lv-hp{position:absolute!important;inset-inline-start:-9999px;width:1px;height:1px;overflow:hidden}
.lv-form .lv-btn--solid{margin-top:calc(var(--u)*2.6);border:0;cursor:pointer;font-family:var(--lv-mono)}
.lv-notice{margin:0 0 calc(var(--u)*2);padding:calc(var(--u)*1.2) calc(var(--u)*1.6);border-radius:calc(var(--u)*0.3);font-size:calc(var(--u)*1.05);line-height:1.5}
.lv-notice.is-ok{background:color-mix(in srgb,var(--lv-accent) 14%,transparent);border:1px solid var(--lv-accent)}
.lv-notice.is-err{background:rgba(255,96,72,.12);border:1px solid rgba(255,128,104,.6)}

/* ---- partner logos in the marquee ---- */
.lv-m1--logos .lv-marquee__t>span{display:inline-flex;align-items:center;gap:calc(var(--u)*2.6);padding-inline-end:calc(var(--u)*2.6);font-size:0}
.lv-logo-tile{display:inline-block;flex:none;width:calc(var(--u)*11);height:calc(var(--u)*11)}
.lv-logo-tile img{width:100%;height:100%;object-fit:contain;display:block;opacity:.9}

/* reveal: visible by default; the script hides and plays it in */
.lv-static [data-lv-reveal]{opacity:1!important;transform:none!important}

/* static mode (Elementor editor, reduced motion, no JS): everything visible, nothing pinned */
.lv-static .lv-strip__track{overflow-x:auto;right:0}
.lv-static .lv-loader{display:none!important}

/* =========================================================
   Phones & small tablets
   ========================================================= */
@media (max-width:900px){
  :root{--lv-pad:5vw;--lv-side:6vw}
  .lv-label{font-size:2.6vw}
  .lv-kicker{font-size:2.6vw}
  .lv-rec{width:1.8vw;height:1.8vw}
  .lv-nav{padding:4.6vw var(--lv-pad)}
  .lv-logo{gap:2vw}.lv-logo img{height:7vw}
  .lv-logo__word{font-size:4.2vw}
  .lv-logo__mark{gap:.6vw}.lv-logo__mark i{width:1.1vw;height:4.2vw}
  .lv-nav__links,.lv-nav__right .lv-lang,.lv-nav__right .lv-btn{display:none}
  .lv-burger{display:block}
  .lv-btn{font-size:3vw;padding:3.4vw 5vw;gap:2vw}
  .lv-btn--solid{font-size:3.2vw;padding:4.4vw 7vw}
  .lv-player{bottom:4vw;font-size:2.3vw;gap:3vw}
  .lv-player__tc{display:none}

  .lv-leader{width:70vw;height:70vw;margin:-35vw 0 0 -35vw}
  .lv-leader__num{font-size:34vw}
  .lv-loader__meta{font-size:2.3vw}
  .lv-loader__meta--tl,.lv-loader__meta--tr{top:6vw}.lv-loader__meta--bl,.lv-loader__meta--br{bottom:6vw}

  .lv-vf{inset:18vw 3.5vw 14vw 3.5vw}
  .lv-vf__c{width:5vw;height:5vw}
  .lv-hud{font-size:2.3vw}
  .lv-hud--tl{top:3vw;left:3.4vw}.lv-hud--tr{top:3vw;right:3.4vw}.lv-hud--bl{bottom:3vw;left:3.4vw}
  .lv-hud--br,.lv-vf__cross{display:none}
  .lv-hero__copy{inset-inline-start:6vw;top:34vw;width:88vw}
  .lv-hero__kicker{margin-bottom:4vw}
  .lv-hero__title{font-size:12.8vw}
  .lv-hero__title .lv-l3 .lv-serif{font-size:20vw}
  .lv-hero__sub{width:62vw;font-size:3.6vw;margin-top:6vw}
  .lv-hero__scroll{display:none}

  .lv-reel{--fw:62vw}
  .lv-reel__word{font-size:15vw;transform:none;top:auto;left:0;right:0;text-align:center;z-index:2}
  .lv-reel__word--l{right:0;bottom:calc(50% + var(--fw) * .28 + 4vw)}
  .lv-reel__word--r{left:0;top:calc(50% + var(--fw) * .28 + 4vw)}
  .lv-reel__ui{padding:20vw var(--lv-pad) 14vw}
  .lv-reel__top{font-size:2.4vw}
  .lv-reel__title{font-size:11.5vw;bottom:34vw}
  .lv-reel__bottom{bottom:16vw;font-size:2.4vw;gap:3vw}
  .lv-reel__play{bottom:22vw;right:auto;inset-inline-start:var(--lv-pad);font-size:2.8vw;padding:3vw 5vw;gap:2vw}

  .lv-about{padding:30vw var(--lv-side) 22vw;min-height:100vh}
  .lv-about__text{width:100%;font-size:8.4vw;line-height:1.1;margin-top:5vw}
  .lv-pill{width:15vw;height:6.8vw;vertical-align:-1vw}
  .lv-about__tags{gap:2.4vw;margin-top:8vw}
  .lv-about__tags li{font-size:2.6vw;padding:2vw 3.6vw}

  .lv-services{display:flex;flex-direction:column;padding:24vw 0 16vw}
  .lv-services__head{position:static;padding:0 var(--lv-side);flex-direction:column;align-items:flex-start;gap:3vw}
  .lv-h2{font-size:8.6vw;margin-top:3vw}
  .lv-services__count{font-size:3vw;padding:0}
  .lv-strip{position:relative;top:auto;height:auto;flex:1;min-height:0;margin-top:6vw}
  .lv-strip__track{gap:3vw;padding:7vw 3vw 7vw var(--lv-side);background-size:6.4vw 7vw}
  .lv-frame{flex:0 0 76vw;padding:6vw;border-radius:1.2vw}
  .lv-frame__top{font-size:2.3vw}
  .lv-frame__n{font-size:15vw}
  .lv-frame__ico{inset-inline-start:6vw;top:17vw;width:11vw;height:11vw}
  .lv-frame__body h3{font-size:7.6vw}
  .lv-frame__body p{width:100%;font-size:3.5vw;margin-top:3vw}

  .lv-work{--cw:58vw;--ch:76vw}
  .lv-work__label{top:24vw}
  .lv-work__bg{font-size:21vw;transform:translateY(-12vw)}
  .lv-ring-wrap{height:74%;perspective:1400px}
  .lv-ring{top:50%}
  .lv-card__f,.lv-card__b{border-radius:2vw}
  .lv-card figcaption{left:4vw;right:4vw;bottom:4vw;gap:1.4vw}
  .lv-card figcaption span{font-size:2.2vw}
  .lv-card figcaption b{font-size:6vw}
  .lv-card__b{gap:3vw}.lv-card__b .lv-logo__mark i{width:2vw;height:8vw}
  .lv-card__b b{font-size:4vw}.lv-card__b small{font-size:2.2vw}
  .lv-work__info{bottom:15vw;gap:4vw;padding-top:4vw;flex-wrap:wrap}
  .lv-work__idx{font-size:11vw;min-width:0}.lv-work__idx small{font-size:2.4vw}
  .lv-work__text h3{font-size:6.4vw}
  .lv-work__text p{font-size:3.3vw;max-width:none;margin-top:2vw}
  .lv-work__info .lv-btn{display:none}

  .lv-partners{padding:26vw 0 18vw}
  .lv-marquee{margin-top:5vw}
  .lv-marquee__t span{font-size:15vw}
  .lv-stats{grid-template-columns:1fr 1fr;gap:6vw 5vw}
  .lv-stat{padding-top:3vw}
  .lv-stat b{font-size:12vw}
  .lv-stat>span{font-size:2.5vw;margin-top:2vw}

  .lv-cta{padding:30vw var(--lv-side) 12vw}
  .lv-cta__title{font-size:21vw;margin-top:4vw}
  .lv-cta__row{flex-direction:column;align-items:flex-start;gap:6vw;margin-top:10vw}
  .lv-cta__mail{font-size:5.6vw}
  .lv-foot{padding-bottom:16vw}
  .lv-foot__cols{grid-template-columns:1fr 1fr;gap:7vw 5vw;padding-top:7vw}
  .lv-foot h4{font-size:2.6vw;margin-bottom:2vw}
  .lv-foot p{font-size:3.4vw}
  .lv-foot__bottom{flex-direction:column;gap:2vw;font-size:2.3vw;margin-top:9vw}

  .lv-page{padding:32vw var(--lv-side) 16vw}
  .lv-page__head h1{font-size:13vw}
  .lv-prose{font-size:16px}
}
@media (max-width:900px) and (orientation:landscape){
  .lv-hero__copy{top:14vw}.lv-hero__title{font-size:8vw}.lv-hero__title .lv-l3 .lv-serif{font-size:10vw}
}
@media (prefers-reduced-motion:reduce){
  .lv-marquee__t{animation:none}
  .lv-grain.is-on{animation:none}
}
.lv-skip:focus{position:fixed!important;width:auto;height:auto;clip:auto;top:10px;left:10px;z-index:100;background:var(--lv-bone);color:var(--lv-ink);padding:10px 14px;font-family:var(--lv-mono)}
.lv-prose .nav-links{display:flex;gap:1rem;font-family:var(--lv-mono)}

/* ---------- inner pages on phones ---------- */
@media (max-width:900px){
  .lv-logo img{height:4.6vw}
  .lv-ph{padding:30vw var(--lv-side) 8vw;min-height:92svh}
  .lv-ph.has-media{min-height:0}
  .lv-ph__hud{inset:20vw 4vw 4vw;font-size:2.2vw}
  .lv-ph.has-media .lv-ph__hud{height:60vw}
  .lv-ph__hud i{width:5vw;height:5vw}
  .lv-ph__rec,.lv-ph__tc{top:2.4vw}.lv-ph__rec{inset-inline-start:3vw}.lv-ph__tc{inset-inline-end:3vw}
  .lv-ph__label,.lv-crumbs{margin-bottom:3.4vw}
  .lv-crumbs{font-size:2.6vw}
  .lv-ph__title{font-size:12.4vw;line-height:.9}
  .lv-ph__title.is-mid{font-size:9.6vw}
  .lv-ph__title.is-long{font-size:7.4vw;line-height:1.02}
  .lv-ph__sub{font-size:6vw;margin-top:3vw}
  .lv-ph__foot{flex-direction:column;align-items:flex-start;gap:4vw;margin-top:7vw;padding-top:3.6vw}
  .lv-ph__text{font-size:4.2vw}
  .lv-ph__meta{margin-inline-start:0;font-size:2.6vw}
  .lv-ph__media{height:72vw;margin-top:8vw}

  .lv-chap{padding:14vw var(--lv-side)}
  .lv-chap__item{grid-template-columns:1fr;gap:3vw;padding:8vw 0 10vw}
  .lv-chap__n{position:static;font-size:24vw}
  .lv-chap__tag{font-size:2.6vw;margin-bottom:3vw}
  .lv-chap__title{font-size:9vw}
  .lv-chap__text{font-size:4.4vw;margin-top:4vw}

  .lv-sx{padding:10vw var(--lv-side) 16vw}
  .lv-sx__main{grid-template-columns:8vw minmax(0,1fr) 6vw;gap:3vw;padding:6vw 0 3vw}
  .lv-sx__count{display:none}
  .lv-sx__n{font-size:2.6vw}
  .lv-sx__title{font-size:8.2vw}
  .lv-sx__go{font-size:6vw}
  .lv-sx__more{grid-template-columns:1fr;gap:4vw;padding:0 0 7vw}
  .lv-sx__more p,.lv-sx__subs{grid-column:1}
  .lv-sx__more p{font-size:3.8vw}
  .lv-sx__subs{justify-content:flex-start;gap:2vw}
  .lv-sx__subs a,.lv-socials a{font-size:2.5vw;padding:1.8vw 3.2vw}
  .lv-peek{display:none}

  .lv-grid{padding:6vw var(--lv-side) 16vw}
  .lv-filters{top:15vw;flex-wrap:nowrap;overflow-x:auto;gap:2vw;padding:3vw var(--lv-side);margin-bottom:6vw;scrollbar-width:none}
  .lv-filters::-webkit-scrollbar{display:none}
  .lv-filters .lv-label{display:none}
  .lv-chip{flex:none;font-size:2.6vw;padding:2vw 3.4vw}
  .lv-grid__list,.lv-posts{grid-template-columns:1fr;gap:10vw}
  .lv-pc.is-mid>a{transform:none}
  .lv-pc__meta{font-size:2.5vw;margin-top:3vw}
  .lv-pc__title{font-size:6.4vw;margin-top:1.6vw}
  .lv-pc__sub{font-size:4.2vw}
  .lv-pc__corners i{width:4vw;height:4vw}
  .lv-related__head{flex-direction:column;align-items:flex-start;gap:4vw}

  .lv-case{grid-template-columns:1fr;gap:8vw;padding:12vw var(--lv-side)}
  .lv-case__facts{position:static}
  .lv-case__facts dl{display:grid;grid-template-columns:1fr 1fr;column-gap:5vw}
  .lv-case__facts dt{font-size:2.5vw;margin-top:3vw}
  .lv-case__facts dt:nth-of-type(2){margin-top:0}
  .lv-case__facts dd{font-size:4vw;padding-bottom:2.4vw}
  .lv-case__facts dl{grid-auto-flow:row}
  .lv-case__text{font-size:4.3vw}

  .lv-gal{padding:6vw var(--lv-side) 16vw}
  .lv-gal__list{grid-template-columns:1fr 1fr;gap:3vw}
  .lv-gal__list .lv-gal__w6{grid-column:1/-1}.lv-gal__list .lv-gal__w3,.lv-gal__list .lv-gal__w2{grid-column:span 1}

  .lv-gal__n{font-size:2.3vw;padding:1vw 2vw}
  .lv-lightbox img{max-width:96vw;max-height:76vh}
  .lv-lightbox button{font-size:3vw}
  .lv-lightbox__prev,.lv-lightbox__next{top:auto;bottom:4vw;transform:none;font-size:8vw!important}
  .lv-lightbox__count{font-size:2.6vw;bottom:8vw}

  .lv-subs{padding:6vw var(--lv-side) 14vw}
  .lv-subs__list{grid-template-columns:1fr;gap:3vw}
  .lv-subs__list a{min-height:44vw;padding:5vw}
  .lv-subs__n{font-size:2.5vw}
  .lv-subs h2{font-size:7vw;padding-top:8vw}
  .lv-subs p{font-size:3.8vw;margin-top:2.6vw}
  .lv-subs__go{font-size:5vw;top:4.4vw;inset-inline-end:5vw}

  .lv-next{padding:16vw var(--lv-side)}
  .lv-next__title{font-size:13vw;margin-top:4vw}
  .lv-next__img{position:relative;inset:auto;display:block;width:100%;margin-top:7vw;opacity:1;transform:none}
  .lv-next:hover .lv-next__img{transform:none}

  .lv-blog{padding:6vw var(--lv-side) 16vw}
  .lv-post.is-big a{display:block}
  .lv-post__meta{font-size:2.5vw;margin-top:3vw;gap:4vw}
  .lv-post__title,.lv-post.is-big .lv-post__title{font-size:6vw;line-height:1.1;margin-top:2vw}
  .lv-post__ex{font-size:3.8vw;margin-top:2.4vw}
  .lv-post__go{font-size:2.6vw;margin-top:3.4vw}
  .lv-pager .nav-links{font-size:3.4vw;gap:2vw;margin-top:12vw}

  .lv-contact{grid-template-columns:1fr;gap:12vw;padding:10vw var(--lv-side) 18vw}
  .lv-contact__block{padding:4vw 0 6vw}
  .lv-contact__block h3{font-size:2.6vw;margin-bottom:2.4vw}
  .lv-contact__big{font-size:6.4vw}
  .lv-contact__line{font-size:5.2vw}
  .lv-contact__offices{grid-template-columns:1fr}
  .lv-contact__block p{font-size:4vw}
  .lv-link{font-size:2.6vw;margin-top:2.4vw}
  .lv-socials{gap:2vw}
  .lv-form__grid{grid-template-columns:1fr;gap:6vw}
  .lv-field>span{font-size:2.6vw}
  .lv-field input,.lv-field textarea{font-size:16px;padding:2.4vw 0}
  .lv-field textarea{min-height:30vw}
  .lv-form .lv-btn--solid{margin-top:8vw}
  .lv-notice{font-size:3.8vw;padding:4vw}

  .lv-m1--logos .lv-marquee__t>span{gap:6vw;padding-inline-end:6vw}
  .lv-logo-tile{width:22vw;height:22vw}
}

/* ================================================================ Arabic & right to left
   Arabic letters come from their own fonts (unicode-range), Latin words keep Archivo / Instrument / JetBrains.
   No letter-spacing (it breaks the joins), no fake italics, taller lines for the ascenders and descenders. */
@font-face{font-family:"LV Arabic";src:url(../fonts/arabic.woff2) format("woff2-variations"),url(../fonts/arabic.woff2) format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"LV Arabic Accent";src:url(../fonts/arabic-accent.woff2) format("woff2");font-weight:400 900;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
/* mono labels in Arabic: spaces from the Arabic font too (the monospace space leaves wide gaps between Arabic words) */
@font-face{font-family:"LV Arabic Mono";src:url(../fonts/arabic.woff2) format("woff2-variations"),url(../fonts/arabic.woff2) format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+0020,U+00A0,U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
html:lang(ar){--lv-sans:"LV Archivo","LV Arabic",system-ui,sans-serif;--lv-serif:"LV Serif","LV Arabic Accent",Georgia,serif;--lv-mono:"LV Arabic Mono","LV Mono",ui-monospace,monospace}
html:lang(ar) body *{letter-spacing:0!important}
html:lang(ar) .lv-serif,html:lang(ar) em{font-style:normal}
html:lang(ar) .lv-line{padding:.1em 0 .22em;margin-bottom:-.14em}
html:lang(ar) .lv-hero__title{font-size:calc(var(--u)*6.9);line-height:1.06}
html:lang(ar) .lv-hero__title .lv-l3 .lv-serif{font-size:calc(var(--u)*8.6);line-height:1.12;padding-inline-end:0}
html:lang(ar) .lv-cta__title{font-size:calc(var(--u)*11.4);line-height:1.1}
html:lang(ar) .lv-cta__title .lv-serif{line-height:1.15}
html:lang(ar) .lv-ph__title{font-size:calc(var(--u)*8.6);line-height:1.12}
html:lang(ar) .lv-ph__title em{line-height:1.15;padding-inline-end:0}
html:lang(ar) .lv-ph__title.is-mid{font-size:calc(var(--u)*6.2);line-height:1.15}
html:lang(ar) .lv-ph__title.is-long{font-size:calc(var(--u)*4.4);line-height:1.25}
html:lang(ar) .lv-h2{line-height:1.25}
html:lang(ar) .lv-c{font-variation-settings:normal}
html:lang(ar) .lv-prose{line-height:1.9}
html:lang(fr) .lv-hero__title{font-size:calc(var(--u)*8.2)}
html:lang(fr) .lv-hero__title .lv-l3 .lv-serif{font-size:calc(var(--u)*10.4)}
html:lang(fr) .lv-cta__title{font-size:calc(var(--u)*10.2)}
html:lang(fr) .lv-frame__body h3{font-size:calc(var(--u)*2.45);overflow-wrap:break-word}
html:lang(ar) .lv-about__text{font-size:calc(var(--u)*3.8);line-height:1.45}
/* outlined Arabic shows the overlaps where letters join: a quiet fill instead */
html:lang(ar) .lv-m2 .lv-marquee__t span{-webkit-text-stroke:0;color:rgba(237,232,224,.16);line-height:1.3}
html:lang(ar) .lv-work__bg{-webkit-text-stroke:0;color:rgba(237,232,224,.05);line-height:1.2}

/* mirrored layout */
html[dir=rtl] .lv-menu__close{right:auto;left:calc(var(--u)*6)}
html[dir=rtl] .lv-modal__close{right:auto;left:calc(var(--u)*2.4)}
html[dir=rtl] .lv-reel__scrub i{left:auto;right:0}
html[dir=rtl] .lv-marquee{direction:ltr}
html[dir=rtl] .lv-btn>span[aria-hidden],html[dir=rtl] .lv-sx__go,html[dir=rtl] .lv-subs__go,html[dir=rtl] .lv-post__go>span{display:inline-block;transform:scaleX(-1)}
html[dir=rtl] [dir=ltr]{text-align:end}
@media (min-width:901px){
  html[dir=rtl] .lv-reel__word--l{right:auto;left:calc(50% + var(--fw) / 2 + calc(var(--u)*1.6))}
  html[dir=rtl] .lv-reel__word--r{left:auto;right:calc(50% + var(--fw) / 2 + calc(var(--u)*1.6))}
  html[dir=rtl] .lv-reel__play{right:auto;left:var(--lv-pad)}
}
@media (max-width:900px){
  html:lang(ar) .lv-hero__title{font-size:10.6vw}
  html:lang(ar) .lv-hero__title .lv-l3 .lv-serif{font-size:14vw}
  html:lang(ar) .lv-cta__title{font-size:15vw}
  html:lang(ar) .lv-ph__title{font-size:10vw}
  html:lang(ar) .lv-ph__title.is-mid{font-size:7.8vw}
  html:lang(ar) .lv-ph__title.is-long{font-size:6.2vw}
  html:lang(ar) .lv-about__text{font-size:6.6vw;line-height:1.5}
  html:lang(fr) .lv-hero__title{font-size:11.4vw}
  html:lang(fr) .lv-hero__title .lv-l3 .lv-serif{font-size:16vw}
  html:lang(fr) .lv-cta__title{font-size:13.6vw}
  html:lang(fr) .lv-frame__body h3{font-size:6.2vw}
}

/* ================================================================ language switcher (menu on phones, footer)
   Each language is named in its own language; the current one is filled gold in the menu, bone in the footer. */
.lv-menu__foot{gap:calc(var(--u)*3.4)}
.lv-menu__langs{display:flex;flex-direction:column;gap:12px}
.lv-menu__label{font-family:var(--lv-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--lv-mute)}
.lv-lang--menu{flex-wrap:wrap;gap:8px;font-family:var(--lv-sans);font-size:15px;letter-spacing:0}
.lv-lang--menu a,.lv-lang--menu span{display:inline-flex;align-items:center;min-height:44px;padding:0 20px;border:1px solid rgba(237,232,224,.22);border-radius:999px;color:var(--lv-bone);transition:border-color .25s,color .25s,background-color .25s}
.lv-lang--menu a:hover,.lv-lang--menu a:focus-visible{border-color:var(--lv-accent);color:var(--lv-accent)}
.lv-lang--menu .is-current{background:var(--lv-accent);border-color:var(--lv-accent);color:var(--lv-ink);font-weight:600}
.lv-lang--foot{gap:0;align-items:baseline;flex-wrap:wrap;font-size:inherit;letter-spacing:inherit}
.lv-lang--foot>*+*::before{content:"·";margin-inline:.9em;color:var(--lv-mute)}
.lv-lang--foot a{color:var(--lv-mute);transition:color .25s}
.lv-lang--foot a:hover,.lv-lang--foot a:focus-visible{color:var(--lv-accent)}
.lv-lang--foot .is-current{color:var(--lv-bone)}
.lv-lang [lang=ar]{letter-spacing:0;font-family:"LV Arabic",var(--lv-sans)}
.lv-lang--foot [lang=ar]{font-size:1.2em}
@media (max-width:900px){
  .lv-menu li a{font-size:10vw;white-space:nowrap}
  .lv-menu__foot{margin-top:12vw;gap:9vw}
}
